.agents/.daemon/logs/signet-2026-02-21.log

3374 lines
724 KiB
Plaintext

{"timestamp":"2026-02-21T00:01:12.909Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:01:12.909Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:06:12.979Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:06:12.979Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:11:12.917Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:11:12.917Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:16:12.943Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:16:12.944Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:21:12.961Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:21:12.962Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:26:12.943Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:26:12.943Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:31:12.950Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:31:12.950Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:36:12.924Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:36:12.924Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:41:12.942Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:41:12.942Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:46:12.933Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:46:12.933Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:51:12.925Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:51:12.925Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:56:12.933Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T00:56:12.933Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:01:12.933Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:01:12.933Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:06:12.922Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:06:12.922Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:11:12.943Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:11:12.943Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:16:12.928Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:16:12.928Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:21:12.930Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:21:12.930Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:26:12.935Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:26:12.935Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:31:12.956Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:31:12.956Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:36:12.927Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:36:12.927Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:41:12.954Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:41:12.954Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:46:12.926Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:46:12.926Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:51:12.935Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:51:12.935Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:56:12.943Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T01:56:12.943Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:01:12.933Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:01:12.933Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:06:12.950Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:06:12.950Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:11:12.940Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:11:12.940Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:16:12.945Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:16:12.945Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:21:12.948Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:21:12.948Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:26:12.942Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:26:12.942Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:31:12.934Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:31:12.935Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:36:12.948Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:36:12.948Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:41:12.945Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:41:12.945Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:46:12.945Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:46:12.945Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:51:12.953Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:51:12.953Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:56:12.941Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T02:56:12.941Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:01:12.942Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:01:12.942Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:06:12.944Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:06:12.944Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:11:12.951Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:11:12.951Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:16:12.948Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:16:12.948Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:21:12.931Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:21:12.931Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:26:12.960Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:26:12.960Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:31:12.956Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:31:12.956Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:36:12.943Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:36:12.943Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:41:12.955Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:41:12.955Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:46:12.947Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:46:12.947Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:51:12.958Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:51:12.958Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:56:12.952Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T03:56:12.952Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:01:12.948Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:01:12.948Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:06:12.942Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:06:12.942Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:11:12.942Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:11:12.942Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:16:12.963Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:16:12.963Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:21:12.958Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:21:12.958Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:26:12.961Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:26:12.961Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:31:12.963Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:31:12.963Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:36:12.967Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:36:12.967Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:41:12.963Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:41:12.963Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:46:12.976Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:46:12.976Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:51:12.962Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:51:12.962Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:56:12.961Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T04:56:12.961Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:01:12.962Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:01:12.962Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:06:12.968Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:06:12.968Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:11:12.963Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:11:12.963Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:16:12.970Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:16:12.970Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:21:12.976Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:21:12.976Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:26:12.975Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:26:12.975Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:31:12.966Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:31:12.966Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:36:12.964Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:36:12.964Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:41:13.001Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:41:13.001Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:46:12.979Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:46:12.979Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:51:12.975Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:51:12.975Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:56:12.978Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T05:56:12.978Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:01:12.974Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:01:12.974Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:06:00.070Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T06:06:00.071Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":6,"durationMs":1}}
{"timestamp":"2026-02-21T06:06:00.072Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T06:06:05.095Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T06-06-05_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T06:06:12.983Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:06:12.983Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:11:12.986Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:11:12.986Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:16:12.968Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:16:12.968Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:21:12.986Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:21:12.986Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:26:13.005Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:26:13.006Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:31:12.987Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:31:12.988Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:36:13.003Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:36:13.003Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:41:12.993Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:41:12.993Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:46:13.041Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:46:13.041Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:51:13.005Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:51:13.005Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:56:13.003Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T06:56:13.003Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:01:12.996Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:01:12.996Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:06:12.994Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:06:12.994Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:11:12.985Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:11:12.985Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:16:13.005Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:16:13.005Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:21:13.003Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:21:13.003Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:23:59.498Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T07:23:59.503Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":6,"durationMs":6}}
{"timestamp":"2026-02-21T07:23:59.504Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:24:04.534Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-24-04_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T07:26:12.981Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:26:12.981Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:31:12.996Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:31:12.996Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:33:08.983Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:33:10.121Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"ba4c5299-a0d3-44f1-a6d8-2fe30c41ef2d","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T07:33:10.122Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:33:15.145Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-33-15_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}}
{"timestamp":"2026-02-21T07:36:12.996Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:36:12.996Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:39:48.857Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:39:49.619Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"8f262fb3-0cfe-433e-8d97-8d0d9b7c1da2","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T07:39:49.620Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:39:54.319Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:39:54.330Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"b1fc09d4-6ba6-4a00-a061-9582c1d57f03","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T07:39:59.344Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-39-59_auto_memory/memories.db-wal, memory/memories.db-wal, me","filesChanged":3}}
{"timestamp":"2026-02-21T07:40:00.636Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:40:00.647Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"51143117-abbc-47e1-9b02-073c49775f76","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T07:40:05.660Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-40-05_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T07:40:25.876Z","level":"info","category":"secrets","message":"Secret stored","data":{"name":"GOOGLE_AI_API_KEY"}}
{"timestamp":"2026-02-21T07:41:12.995Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:41:12.995Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:42:46.921Z","level":"info","category":"secrets","message":"Secret stored","data":{"name":"TEST_NONINTERACTIVE"}}
{"timestamp":"2026-02-21T07:42:55.618Z","level":"info","category":"secrets","message":"Secret deleted","data":{"name":"TEST_NONINTERACTIVE"}}
{"timestamp":"2026-02-21T07:46:12.987Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:46:12.987Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:48:16.169Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T07:48:43.269Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/prediction-markets"}}
{"timestamp":"2026-02-21T07:48:43.270Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T07:48:43.270Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:48:43.367Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/prediction-markets"}}
{"timestamp":"2026-02-21T07:48:43.368Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T07:48:43.368Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:48:48.394Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-48-48_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}}
{"timestamp":"2026-02-21T07:51:07.936Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T07:51:07.936Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T07:51:07.937Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:51:12.961Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-51-12_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T07:51:12.984Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:51:12.984Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:51:42.017Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T07:51:42.018Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":2}}
{"timestamp":"2026-02-21T07:51:42.019Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T07:51:47.048Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T07-51-47_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T07:51:55.774Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T07:56:12.994Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T07:56:12.994Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:01:12.987Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:01:12.987Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:03:20.135Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T08:03:20.136Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:03:20.137Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T08:03:25.162Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T08-03-25_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T08:03:43.971Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T08:03:43.972Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:03:43.973Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T08:03:49.002Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T08-03-48_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T08:04:00.220Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:06:13.046Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:06:13.047Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:09:19.842Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T08:09:19.843Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:09:19.844Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T08:09:24.872Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T08-09-24_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T08:10:07.392Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:11:13.015Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:11:13.015Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:12:00.215Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T08:12:00.216Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:12:00.217Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T08:12:05.244Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T08-12-05_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T08:16:13.018Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:16:13.018Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:16:35.623Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.623Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.623Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.623Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.623Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.623Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.624Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.624Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.626Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.627Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.630Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.630Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.632Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.633Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:35.635Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:16:35.635Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.635Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.635Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.638Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.640Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:35.643Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.652Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:35.655Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"5ae77776-1316-4252-ad49-80e2757f072d","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:16:35.657Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"308c424c-c3e3-498a-bd85-de09ced381f4","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:16:35.659Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"480cc6ba-1265-4249-9d08-2a5fe3c92bf0","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:16:35.660Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:16:37.265Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:16:37.269Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:16:37.271Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:37.272Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:37.283Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:37.283Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:37.286Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:37.286Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:37.406Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:16:37.516Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:16:37.516Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:16:37.526Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:37.537Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"15f791bb-17af-4ba3-bb06-b5d829459ccd","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:37.729Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:37.731Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:37.742Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2d812352-d4db-4cca-9891-ddae1a573786","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:37.932Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:37.934Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:37.944Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b95ec526-c4f3-4b96-9376-ad0995bc3edf","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:38.133Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:38.135Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:38.335Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:38.338Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:38.348Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:16:38.348Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"35edc022-8bc5-4e30-8915-1ae5dbae9f30","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:38.538Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:38.540Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:38.591Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5e9720c2-0c48-4755-a2bd-9cf164b8e233","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:38.591Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:38.593Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:38.593Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:38.595Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:38.607Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"90d1d47d-e4ea-4e38-bfa2-320b9b79efae","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:38.844Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:38.847Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:38.856Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9d4fddf3-e351-46bd-8f3f-248f143bc96d","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:39.098Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:39.100Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:39.111Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9226519b-33f1-470a-8a48-88852976c812","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:39.122Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3a8eea3d-bffc-4766-a070-4b337957ea27","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:39.450Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:39.453Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:39.463Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0992f778-4b1b-4dea-ab74-d5f2f4538bdf","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:39.703Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:39.706Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:39.716Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c60d0ded-48f2-457b-82dd-38bd2493e079","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:39.955Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:39.958Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:39.968Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3d832c99-a290-46aa-ac7c-e6969c687769","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:16:40.258Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:40.260Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:40.270Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8f55c11d-2b9f-459a-8502-966043d83b75","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:40.561Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:40.563Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:40.573Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8b4ed24b-78a9-44b0-b519-44581b932d57","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:47.085Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.086Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.089Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.089Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.093Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:47.095Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.096Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:47.098Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:16:47.099Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:47.099Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.099Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.101Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.104Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:47.108Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:47.117Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:47.119Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"af665a64-67a6-4d35-b9f8-1e6365870236","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:16:47.122Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"f787a616-5c39-4d0c-849f-0dd845ead54f","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:16:47.124Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"7100ef8d-a3dd-44e2-943b-bf064df1c0bb","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:16:47.125Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:16:51.146Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:16:51.150Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:16:51.152Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:51.153Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:51.163Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:51.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:51.165Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:51.166Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:51.241Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:16:51.305Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:16:51.305Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:16:51.314Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:51.327Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"db07ba65-631c-4a6e-a491-cf48a742ace6","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:51.514Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:51.516Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:51.527Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"960a1091-4ddb-4173-8aad-87963f849393","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:51.717Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:51.719Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:51.729Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"15d40060-33e4-46b8-8a1b-22021a34ba92","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:51.919Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:51.921Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:52.121Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:52.123Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:52.134Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:16:52.134Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5ba45617-a238-43af-9f47-7ca5482805a4","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:52.323Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:52.326Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:52.376Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1faf1890-ff49-4030-825e-47e6488c3342","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:52.376Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:52.378Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:52.378Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:52.380Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:52.392Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3e4d437e-d63a-4e77-8ae4-3ed98b430f74","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:52.630Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:52.632Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:52.643Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"07aba35f-0419-4210-8b4a-3a52fd91b747","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:52.882Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:52.884Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:52.895Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bc130771-7c51-4db8-88a5-57b5e33a3dab","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:52.906Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0408f13a-5e14-45f8-b161-f64f6033b2ea","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:53.234Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:53.237Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:53.248Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"83522ff9-62c2-4b2e-aac4-40136fe2bb8c","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:53.487Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:53.490Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:53.500Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7676d4a4-22f6-4d2c-b8e5-7b3dac397990","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:53.740Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:53.743Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:53.754Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8444cfc8-9dc8-41f2-907c-821b2a06176b","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:16:54.042Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:54.045Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:16:54.055Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b25a0ac9-24ac-4c41-8b41-d74461e7f19e","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:54.345Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:54.347Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:54.357Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"42515e2c-fc97-4770-b6a6-0573df2eb003","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:16:54.598Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:54.601Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:54.611Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"96665db9-5355-495e-8347-27c3d093e134","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T08:16:54.901Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:54.903Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:16:54.914Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"a5e2581f-7792-4ab6-94ec-77ba0cfd0515","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T08:16:55.054Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:16:59.684Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.684Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.684Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.684Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.685Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.685Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.685Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.685Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.687Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.688Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.691Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.691Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.694Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.694Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.696Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:16:59.697Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:16:59.697Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.697Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.699Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.702Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:16:59.704Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.713Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T08:16:59.716Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"39386dd2-53f0-4ea2-a4cd-37a2e709a252","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:16:59.718Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"78ab6d2e-da37-4504-9343-7236033aab05","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:16:59.720Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"e43f8255-ada5-49f1-86a1-6be145fc5f97","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:16:59.721Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:17:10.814Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:17:10.818Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:17:10.821Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:17:10.821Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:17:10.821Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:10.821Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:10.821Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:10.822Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:17:10.822Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:10.822Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:17:10.822Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:10.822Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:10.822Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:10.831Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:10.831Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:10.834Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:10.834Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:10.909Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:17:10.981Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:17:10.981Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:17:10.990Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:11.002Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9e2c9c4b-9d9d-4c16-bb01-ab7d44af172e","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:11.191Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:11.193Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:11.205Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e9c2d533-aad2-4538-ab72-0db2702c8b95","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:11.394Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:11.397Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:11.407Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a61510d7-9ef2-4991-a8ef-5e3dd952b299","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:11.596Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:11.598Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:11.799Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:11.801Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:11.812Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:17:11.812Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ba381f04-bdde-47c9-986f-875e4fba5245","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:12.001Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:12.003Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:12.054Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fd341b46-c440-4579-aa6b-ae4873c63bbb","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:12.054Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:12.055Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:12.055Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:12.057Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:12.069Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3c58667b-9961-4a2e-9b71-040bf7230a85","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:12.307Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:12.309Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:12.320Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6bc46ec6-d913-42a3-a3c8-ef856c224281","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:12.559Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:12.562Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:12.572Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"684611b3-a1ce-400e-9b35-6b0d5ca2b84c","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:12.583Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"918687c4-8f04-424a-b636-15515f8a5243","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:12.911Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:12.914Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:12.924Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ef62fd76-ea2c-4397-b705-9490e877ad84","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:13.164Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:13.166Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:13.177Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e22c909f-ae27-42a8-83cb-6884ccbaee6a","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:13.416Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:13.419Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:13.430Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"36f0c05f-8e47-42bf-b02d-3bcbcfb644e3","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:17:13.718Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:13.720Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:13.731Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"96f8fe62-d101-471f-9443-7642fa2652e5","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:14.020Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:14.023Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:14.033Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b1f5d61c-5eb8-46c9-8ec3-a45a43ccab90","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:14.273Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:14.275Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:14.285Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"8e860850-1fcb-4877-a2c5-831438d0fe1b","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T08:17:14.575Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:14.578Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:14.587Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"90c12081-75f5-476c-aa23-d1c23c5ec18d","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T08:17:19.294Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.294Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.294Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.294Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.294Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.294Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.295Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.295Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.297Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.298Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.300Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.301Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:17:19.303Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.303Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.306Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:17:19.306Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.306Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.306Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.308Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.311Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:19.314Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:17:19.322Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:19.325Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"d4b1003f-716e-4b93-9c78-574179f169be","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:17:19.327Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"ccd2076b-6da8-4fce-9d28-e1c2ed894d8e","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:17:19.330Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"37cd3ed2-5c52-4c44-9afa-73d30c4674e1","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:17:19.330Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:17:25.114Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:17:25.118Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:25.121Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:25.131Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:25.131Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:17:25.134Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:17:25.135Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:17:25.209Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:17:25.282Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:17:25.282Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:17:25.291Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:25.303Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ca43debe-15af-43b3-9dfa-8c0d6a00a680","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:25.491Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:25.493Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:25.505Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"34671c05-3cd7-4582-97e9-6065e2ed56a3","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:25.693Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:25.695Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:25.706Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ec2bc80b-3f71-48d1-8218-9a82cfc5ef72","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:25.896Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:25.898Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:26.098Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:26.100Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:26.110Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:17:26.110Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"16a81703-c48f-4102-85b6-8e9677098e00","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:26.300Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:26.303Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:26.352Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bc17b3d3-2496-466e-a5e1-41c58f251d59","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:26.352Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:26.354Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:17:26.354Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:26.356Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:26.368Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7d1e4e5c-3dd2-4efb-bd02-f77ab3b2c9a2","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:26.607Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:26.609Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:26.620Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ba940251-66e5-4f4c-84c7-d1c525d13302","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:26.860Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:26.862Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:26.872Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"45d4581c-ae4e-477a-b792-3572cd5f0d0b","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:26.884Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"25f9afc0-4aab-409c-94b1-86730fba50fe","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:27.212Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:27.214Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:27.224Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"243c5c41-50b1-4bc6-8407-a671a0df5eac","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:27.465Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:27.467Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:27.477Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6f5a1ca5-262c-442e-b35b-e7e8698528fa","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:17:27.718Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:27.720Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:27.731Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2fe7647f-2438-434d-a2d5-72d5b9a066f1","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:17:28.020Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:17:28.022Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:17:28.033Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"aac9671d-ee2f-40b7-8fd1-f17c3ece20c6","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:01.330Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.331Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.334Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.335Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.338Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.338Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.341Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.341Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.344Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:18:01.344Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:01.345Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.345Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.347Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.350Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:01.354Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:01.364Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:01.366Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"77ea0344-e142-4c7a-bff4-e46c63f700c2","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:18:01.369Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"0d1e9bfe-664b-4397-a418-211001b40684","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:18:01.372Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"9071a197-28b1-4392-989f-e6402cfc5dd5","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:18:01.373Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:18:06.606Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:18:06.611Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:18:06.615Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:18:06.616Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:06.617Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:06.617Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:06.628Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:06.629Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:06.632Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:06.632Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:06.709Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:18:06.789Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:18:06.790Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:18:06.801Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:06.813Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ed3eeab5-aed0-40cf-8651-e2539c439245","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:07.001Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.003Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:07.014Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0cd4c314-a2d8-4c0e-9497-a7f6d524d8e0","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:07.204Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.207Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:07.218Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f57bd8f1-7ccc-4d95-a2d3-de019396b305","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:07.407Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.410Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:07.610Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.612Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:07.623Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:18:07.623Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ec7b0210-8066-4b12-bbc4-e13528d95169","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:07.813Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.815Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:07.867Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6c4910d0-45a4-42cb-92c7-ca2b35cc9a6e","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:07.867Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.869Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:07.869Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:07.871Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:07.882Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"48b68ae6-a3a9-47d4-9262-d87b39d7c0a8","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:08.121Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:08.124Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:08.134Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b4c301b1-ca12-484d-9a78-f1c2f66759b3","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:08.374Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:08.376Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:08.387Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"edba01d0-0757-45c4-8be0-06bac8dec0dc","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:08.398Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f8298f63-f96d-47d5-91ca-faf006a3d12e","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:08.726Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:08.729Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:08.739Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e572fc79-6151-4288-9b1b-4339910d8ba6","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:08.979Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:08.981Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:08.992Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e00a93c3-f81a-4e21-b9b7-15c026abb2b6","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:09.231Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:09.234Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:09.245Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5f21c137-a38a-4a67-a124-2aff053d350f","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:18:09.534Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:09.537Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:09.546Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1a2b2f54-6b0a-4175-a8ff-4f14d74dbba3","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:09.838Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:09.840Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:09.851Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fbdacebb-b1fc-4727-9cc8-4809e0d34d55","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:10.090Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:10.093Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:10.103Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"e6a98e2b-3d8b-44f5-9e7a-cd6c619e6710","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T08:18:14.307Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.308Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.311Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.312Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.315Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.316Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:14.318Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.319Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:14.321Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:18:14.322Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:14.322Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.322Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.325Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.328Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:14.331Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:18:14.341Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:14.344Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"660d70be-a670-42d5-a2a0-24d87593e185","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:18:14.347Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"4eee6e70-4bf1-4196-b5ab-f2507ead8982","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:18:14.351Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"f1e04094-2c69-4fe8-831e-815d8e185700","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:18:14.351Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:18:22.535Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:18:22.539Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:18:22.541Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:22.542Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:22.554Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:22.554Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:22.557Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:18:22.557Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:18:22.633Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:18:22.713Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:18:22.714Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:18:22.725Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:22.736Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"243b39ee-da6d-4406-b299-9986a5a41db8","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:22.924Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:22.927Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:22.938Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"31ada51e-ad8c-437c-87c0-62fac0d312a3","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:23.127Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:23.130Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:23.140Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"021dcda0-2feb-4752-81d7-7fb6049b3834","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:23.331Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:23.333Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:23.534Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:23.536Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:23.547Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:18:23.547Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2602a779-1da3-4189-b847-3d733024cc98","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:23.736Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:23.739Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:23.790Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"17f14525-1d8f-4ffe-935d-b0226ff77770","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:23.790Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:23.793Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:23.793Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:23.795Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:23.807Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0f299122-ed98-4fec-a06b-fab5d9f495ae","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:24.046Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:24.048Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:24.059Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"110e5925-e089-497f-bf57-fd165a89f7f2","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:24.299Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:24.302Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:24.313Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a4638d94-9f93-46a8-9b67-3a8e46856bd5","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:24.323Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ac530449-f8ae-48e4-84dd-fc0400a99d74","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:24.652Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:24.654Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:24.665Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c786cfac-5a7a-46a0-9773-912c8707fa09","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:24.904Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:24.907Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:24.918Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7d33feca-d983-4749-8eb5-df647ae155e8","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:25.157Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:25.160Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:25.171Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2660fd03-c9bc-4b30-94ab-3130753439df","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:18:25.460Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:25.463Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:18:25.473Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"41470ff6-69ce-43d5-859a-d79fd843d569","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:25.762Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:25.765Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:25.775Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d6c67901-1040-4a47-a04f-18ba998c4fb7","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:18:26.015Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:18:26.018Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:18:26.028Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"97983fc2-be81-4d13-9b02-253e5de1c85c","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.737Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.740Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.741Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.744Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.745Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:19:11.747Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.748Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:19:11.751Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:19:11.751Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.751Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.751Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.754Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.757Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:11.760Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:11.771Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T08:19:11.774Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"2b503763-702b-4891-bf78-a713fb7ff70e","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:19:11.777Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"f9b727b4-7f22-4182-bcc2-cce83ae6add2","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:19:11.780Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"6510097f-f350-43e7-abc8-c9bf824d5aaf","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:19:11.780Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:19:14.543Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:19:14.549Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:19:14.552Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:19:14.552Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:14.553Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:14.564Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:14.564Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:14.567Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:19:14.567Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:19:14.642Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:19:14.718Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:19:14.719Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:19:14.730Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:14.741Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d1ca8f90-47aa-48a3-9b1b-c66d31286bef","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:14.930Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:14.932Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:14.943Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"385bc97b-748a-478a-a94d-590ff92a625f","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:15.133Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:15.136Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:15.147Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c4d367b7-1b7d-4ec1-8d2b-398e8795802a","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:15.336Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:15.339Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:15.539Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:15.542Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:15.552Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:19:15.552Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"48121367-64c8-4a06-98db-473b3991cf27","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:15.742Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:15.744Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:15.795Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a4157057-49a9-4d2a-ac56-bc8e857bea27","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:15.795Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:15.797Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:19:15.797Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:15.799Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:15.811Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f4596ef1-84e8-4e4d-a31d-37cec2b53b51","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:16.048Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:16.051Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:16.062Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5e267656-5dae-4469-abbc-f6054cea05ad","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:16.302Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:16.304Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:16.315Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e8092384-ce10-4977-b170-830196e09e90","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:16.326Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0d45563c-1dc7-4d82-99af-be6d95f5c744","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:16.654Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:16.657Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:16.666Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a9f2e843-0c53-4a9e-ae86-db1397410795","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:16.907Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:16.909Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:16.920Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"dcb7df42-cfc4-4058-af37-ce0229879224","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:19:17.159Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:17.162Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:17.173Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"38cda071-1346-4e51-bda6-a363707a12fc","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:19:17.462Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:19:17.465Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:19:17.476Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"40b8e3d0-82ca-40b1-acf9-d5db93965cff","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:21:13.006Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:21:13.006Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:23:31.671Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T08:23:31.672Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:23:31.673Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T08:23:36.701Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T08-23-36_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.089Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:08.092Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.096Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.096Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.099Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.099Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.102Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:26:08.102Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.103Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.103Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.105Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.108Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:08.112Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:08.121Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:08.124Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"7740dbdf-69b0-4068-9885-a6507ef47764","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:26:08.127Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"29ae9ba4-be00-4f36-a705-e1116a85836b","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:26:08.130Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"b9a27f3d-b8fc-4d14-b419-c29163e766c0","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:26:08.130Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:26:12.992Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:26:12.992Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:26:14.912Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:26:14.916Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:26:14.919Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:26:14.919Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:14.920Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:14.931Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:14.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:14.934Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:14.934Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:15.052Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:26:15.153Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:26:15.154Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:26:15.165Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:15.176Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ae12b8fc-5dd8-4729-b003-b1094fd0e993","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:15.365Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:15.367Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:15.378Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9537ef72-aea7-4099-b456-efbd083df663","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:15.567Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:15.570Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:15.581Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"cf90f33d-a193-49d8-8cc0-f1cef6b99436","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:15.771Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:15.773Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:15.974Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:15.976Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:15.986Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:26:15.986Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"634ddb68-21dc-45ee-b734-44397d85f5b1","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:16.177Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:16.179Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:16.230Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f5243e85-8e97-4175-879e-e6c9f073eb82","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:16.230Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:16.232Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:16.232Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:16.234Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:16.245Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5b33fea6-f14b-4391-a87f-f39674a3ec2e","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:16.485Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:16.488Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:16.498Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"869134ae-a402-431f-8fd9-08a5e9371eca","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:16.737Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:16.739Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:16.750Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3264469f-b409-47c7-90f3-fbf0f1ac0417","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:16.761Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"49e0a2a1-47b6-4774-bd2f-85eb665cf956","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:17.089Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:17.092Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:17.102Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"84b373df-128f-4f09-bb1d-b98ae94fba4e","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:17.342Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:17.345Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:17.355Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9246fe4c-eaba-4dfe-b01d-90c6eaf32e28","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:17.594Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:17.597Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:17.608Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c3919e4c-b394-473a-98e7-b890b6f8586e","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:26:17.898Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:17.901Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:17.911Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ae93115d-d915-46b7-9cc8-00a90b63c59f","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:23.988Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.988Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:23.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.992Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.992Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.992Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.992Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:23.993Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.996Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:23.996Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:23.999Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:23.999Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:24.002Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:26:24.003Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:24.003Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:24.003Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:24.006Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:24.009Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:24.012Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:24.023Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:24.026Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"0e2dd322-b565-4e0f-a120-a6bcc55f3a2f","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:26:24.029Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"2a485e6a-d734-49d3-ada6-1048201444aa","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:26:24.032Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"2fef0243-883b-473d-a273-ab410f2d3016","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:26:24.032Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:26:37.614Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:26:37.619Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:26:37.621Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:37.622Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:37.634Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:37.634Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:37.637Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:37.637Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:37.743Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:26:37.819Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:26:37.819Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:26:37.830Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:37.841Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"51f882a0-e43b-45d4-94b5-b33d884b72ef","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:38.029Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.032Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:38.049Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"42473238-eb65-49ff-b0c2-a39d6662993b","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:38.231Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.233Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:38.244Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4d795e5d-e55b-49ef-9b3f-0fea61245da6","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:38.434Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.436Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:38.637Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.640Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:38.650Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:26:38.650Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2477424e-5f21-4573-b6b9-dd32ea690e6c","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:38.840Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.843Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:38.894Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"76b03fae-db9b-4332-96ed-596ee29bae0d","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:38.894Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.897Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:38.898Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:38.900Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:38.912Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4f81c2f4-d66b-4647-9659-73e0036122d0","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:39.151Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:39.153Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:39.164Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6e17dfc1-d9d5-4a45-ac31-10afbaf37d39","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:39.403Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:39.406Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:39.417Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fb639b44-713f-4be5-9977-419b51d2991c","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:39.427Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0df02717-f86c-4a50-87fe-8c1077ff76e4","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:39.756Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:39.758Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:39.769Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e60b62e3-f185-4a5b-aad8-0012455b05dc","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:40.009Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:40.011Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:40.022Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4b29e582-f95d-4759-bb9a-a1ebf6dfbced","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:40.261Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:40.264Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:40.274Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7bbfde28-22b5-4eb8-87b3-bee8f598b96d","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:26:40.565Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:40.567Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:40.578Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fcf521d0-47fb-4e24-806b-1c4a408f0aa9","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:40.868Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:40.870Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:40.881Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1ac68e27-e80f-4796-8b99-c31824b43245","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:47.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.038Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.038Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:47.038Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.038Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.041Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.041Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.041Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.041Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.042Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.046Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.046Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.049Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.049Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.052Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:26:47.053Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:47.053Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.053Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.056Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.059Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:47.062Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:47.073Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:47.075Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"923e5def-d6bd-4502-ac1b-7f0472d407c3","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:26:47.078Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"4db3540b-6eb1-479a-8c98-9d163e6edef2","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:26:47.081Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"6bde6057-7e93-4cd7-ae7c-9f79e5d4c1b9","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:26:47.082Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:918:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:731:18)"}}
{"timestamp":"2026-02-21T08:26:54.659Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:26:54.664Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:54.667Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:54.668Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:551:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:980:18)"}}
{"timestamp":"2026-02-21T08:26:54.668Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:54.668Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:54.668Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:54.679Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:54.680Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:26:54.683Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:26:54.683Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:26:54.809Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:26:54.888Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:26:54.889Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:26:54.900Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:54.912Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"23876614-e3e2-4cda-b370-4086909f8cee","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:55.100Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.102Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:55.113Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"108eb89b-a326-40d7-8eb4-eeb4aa592888","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:55.302Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.306Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:55.316Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9c8821f5-7f14-4e12-9924-93fa8f8fbc29","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:55.506Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.508Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:55.709Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.711Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:55.721Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:26:55.722Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e4a9636f-486d-4294-81b9-eade421106b6","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:55.911Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.913Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:55.964Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fa9b49f6-54ae-4bcf-a292-5b3fc8e54e9b","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:55.964Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.966Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:55.966Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:55.968Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:55.980Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fdc66763-cd14-4def-bef1-afc4c423ea1d","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:56.219Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:56.221Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:56.232Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"39a640e1-bdad-4881-b3a6-9822cf16ce89","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:56.472Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:56.474Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:56.485Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"aa4165f3-6e2e-4c1a-b0f7-81404d707cd9","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:56.496Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c93bbebc-94ef-4065-b388-b87d5cde7b9d","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:56.824Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:56.826Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:56.837Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"98bb559d-8551-4a20-84da-28b8a9dec922","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:57.077Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:57.079Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:57.090Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"490c0138-7519-4a2b-b3e9-ca58fa67c1ac","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:57.330Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:57.332Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:57.343Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"46108bc7-38a4-48a2-bcc9-fc72f2c398c6","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:26:57.632Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:57.634Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:26:57.645Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b137ceeb-9b17-43e7-827b-9e0df520c031","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:26:57.934Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:26:57.936Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:26:57.947Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8eacc130-b19c-41db-ba09-ed03038c8d12","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:31:12.993Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:31:12.993Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:36:13.016Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:36:13.016Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.749Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.750Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:39:35.752Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.753Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.756Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.756Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.759Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.759Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.762Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T08:39:35.762Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.762Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.763Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.765Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.768Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:35.771Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.781Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:35.784Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"e12f6d59-28a8-4b94-b93b-c16d404adb78","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T08:39:35.787Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"479b2147-8a7d-4d3f-a033-3a7381d58def","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T08:39:35.789Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"51c1060e-8166-43cf-b8fe-6f3e58b4428b","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T08:39:35.790Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:919:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T08:39:37.751Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T08:39:37.756Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:37.759Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:552:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T08:39:37.760Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T08:39:37.760Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:37.760Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T08:39:37.771Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:37.772Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T08:39:37.774Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T08:39:37.775Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:39:37.893Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T08:39:37.956Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T08:39:37.956Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T08:39:37.968Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:37.980Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"874de814-c346-4f88-b497-db00e4ace4b2","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:38.168Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:38.171Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:38.182Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"922cfa92-4fb1-4e64-90ee-7c04ab146df0","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:38.371Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:38.373Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:38.384Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"66930289-3fb0-4d4d-b409-f07cd139e515","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:38.573Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:38.575Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:38.776Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:38.778Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:38.789Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T08:39:38.789Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6a355fda-36f9-4d53-80c0-4807bc8eaaa1","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:38.978Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:38.981Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:39.031Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5c3c5c20-d421-42bb-83b3-10394eb075d8","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:39.031Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:39.033Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:39.033Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:39.035Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:39.047Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f6751613-e623-4380-bf25-428e3ebdc3f5","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:39.286Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:39.288Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:39.299Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0883812a-2090-4c2f-a69f-d8f37dff979c","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:39.538Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:39.541Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:39.552Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"12272495-6a9d-4b68-b32d-4b817a78f7bc","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:39.562Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d1c31294-da3a-48e0-9718-84068cb2e175","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:39.891Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:39.894Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:39.905Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1c2c4547-67e4-42a8-a7da-c82e8e2e02ed","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:40.144Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:40.147Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:40.157Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a2a242ee-6522-4508-a846-96d4df128818","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:40.396Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:40.399Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:40.410Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5e6ff5ea-4e88-48c5-a3ff-1ba6ce8921a7","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1}}
{"timestamp":"2026-02-21T08:39:40.698Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:40.701Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T08:39:40.712Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"cdbc3303-3ee0-492f-af1d-a5730096fbf3","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:41.002Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:41.005Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:41.015Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a8802abb-ff5d-48ac-994f-3ae4b636757d","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0}}
{"timestamp":"2026-02-21T08:39:41.254Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:41.257Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:41.267Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"7d97a752-12da-484c-bda1-3eabd03c57cb","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T08:39:41.557Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:39:41.559Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T08:39:41.570Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"15500293-e7b5-40d2-9c09-16d7f81afa76","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T08:39:41.709Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T08:41:12.999Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:41:12.999Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:46:13.006Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:46:13.006Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:51:13.015Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:51:13.015Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:56:13.006Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:56:13.006Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T08:57:11.471Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T08:57:11.472Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T08:57:11.473Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T08:57:16.501Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T08-57-16_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T09:00:15.733Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T09:00:15.734Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T09:00:15.734Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T09:00:20.764Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T09-00-20_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T09:01:13.007Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:01:13.007Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:06:13.015Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:06:13.015Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:08:40.530Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T09:08:40.612Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T09:08:40.613Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T09:08:40.642Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:40.654Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d780426b-74d9-4fd5-8d28-7d068863472c","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:40.842Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:40.845Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:40.855Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5b0a3238-38b2-4ccc-85ad-b0e0e1061d57","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:41.046Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.050Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:41.060Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4c8dcb3f-91eb-4873-be38-c1e925b6dc68","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:41.249Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.253Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:41.453Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.457Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:41.467Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T09:08:41.467Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4a80046b-4438-4fa1-b496-97be2399a6d2","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:41.657Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.660Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:41.711Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2f258931-f5f4-4ee9-9384-b14a3368e792","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:41.711Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.714Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:08:41.714Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.717Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:41.729Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c78e7aea-041f-4c51-82a2-03e391e8e539","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:41.966Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:41.969Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:41.980Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"dd0e2d97-9aa4-41c8-9d8f-22441145660b","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:42.219Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:42.223Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:42.234Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1b3937d0-7ea3-42bc-a626-7b5b48ed3416","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:42.245Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6f4d4b04-529d-48a3-a0f7-6f7cc55c942b","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:42.573Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:42.577Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:42.587Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4747cc7b-6507-40ad-a9c0-439e04ae1067","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:42.826Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:42.830Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:42.840Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4b76ec03-4318-4f60-a480-159dec06a577","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:43.079Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:43.083Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:43.093Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"299fa6ef-bc2f-4c80-a1a6-f51ba177d3a4","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:08:43.383Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:08:43.386Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:08:43.397Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"10462838-b57a-4a1f-a6c3-640be564ac0a","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesUpserted":0,"relationsUpserted":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:11:13.006Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:11:13.006Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:15:27.851Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T09:15:27.852Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T09:15:27.853Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T09:15:32.883Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T09-15-32_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T09:16:13.000Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:16:13.000Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:21:12.996Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:21:12.997Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:26:13.010Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:26:13.010Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:31:13.016Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:31:13.016Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:31:19.789Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T09:31:19.870Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T09:31:19.870Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T09:31:19.900Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:19.911Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3567bac5-0bf6-4fc6-97ac-0963732e0a9a","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:20.100Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.103Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:20.114Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d4b92342-6df0-41b4-b94c-6cd1d4148fa5","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:20.304Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.307Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:20.317Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bdb17c08-dcbc-4388-82ba-91243ab4e8a7","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:20.507Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.511Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:20.710Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.713Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:20.724Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T09:31:20.725Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3a27e23e-b76b-4f19-9851-134a0159ca91","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:20.913Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.917Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:20.967Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f36c9111-011c-49ee-8200-682286c948cd","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:20.967Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.970Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T09:31:20.970Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:20.973Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:20.985Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"eb8bb74b-6ebb-4a9c-abe1-046442bc0659","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:21.224Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:21.227Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:21.238Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"012c9d91-5ed9-4982-8027-f151753172c4","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:21.477Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:21.480Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:21.491Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9f965475-42d0-48e4-8c0c-abcce17afcc7","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:21.502Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5bfc996d-06c9-4650-b74f-b66027472ec2","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:21.830Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:21.833Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:21.843Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a6951606-cad2-405a-b09f-8eb09b4cc169","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:22.084Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:22.087Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:22.097Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"cc06f3c8-feb8-4428-ac65-e8bdd4d09ba3","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:22.338Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:22.341Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:22.352Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"908b49c2-beeb-49e0-8144-4a38ea13febb","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:31:22.641Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T09:31:22.645Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T09:31:22.656Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"19c01652-7e16-4996-8900-f89c3a5cc4a2","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T09:36:13.004Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:36:13.004Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:41:12.997Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:41:12.997Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:46:13.037Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:46:13.037Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:51:13.006Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:51:13.006Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:53:23.673Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T09:53:23.673Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T09:53:23.674Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T09:53:28.702Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T09-53-28_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T09:56:13.011Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T09:56:13.011Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:01:13.009Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:01:13.009Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:06:13.007Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:06:13.007Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:11:13.019Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:11:13.019Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:15:01.236Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T10:15:01.237Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T10:15:01.237Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:15:06.266Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-15-06_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T10:15:13.846Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:15:14.564Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"1689bbec-cee9-43d0-abf2-ced8cfc468ff","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:15:14.564Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:15:19.594Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-15-19_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}}
{"timestamp":"2026-02-21T10:16:13.020Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:16:13.020Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:18:08.386Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:18:09.083Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"a1ca8fab-f74e-4cb3-a581-7c16e32630e4","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:18:09.084Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:18:14.115Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-18-14_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}}
{"timestamp":"2026-02-21T10:21:13.021Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:21:13.021Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:26:13.013Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:26:13.013Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:27:24.239Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:27:25.015Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"7ba6dbb6-85a4-4c54-8e85-49a07015c17f","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:27:25.016Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:27:30.048Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-27-30_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}}
{"timestamp":"2026-02-21T10:29:21.266Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T10:31:13.026Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:31:13.026Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:36:13.020Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:36:13.020Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:36:30.496Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:30.509Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e2712153-5c2e-4c18-92ad-4506abb209f5","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:30.696Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:30.700Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:30.710Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"679c5d3c-2c93-4311-b3ec-e700686eee17","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:30.900Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:30.904Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:30.914Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ad2e145e-6aa2-46c8-85c7-d5f119356604","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:31.103Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:31.107Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:31.306Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:31.309Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:31.320Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T10:36:31.320Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ec32c267-dd7b-498f-94f8-88e76675759f","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:31.509Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:31.513Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:31.563Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"61bf7a09-52bd-4734-b106-5021dbca2c63","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:31.563Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:31.566Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:36:31.566Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:31.569Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:31.581Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e128723e-4aed-485a-a202-9090241c1afe","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:31.820Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:31.823Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:31.834Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"22fa17fc-9658-45d3-bd08-8de0d525b6ea","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:32.074Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:32.077Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:32.087Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"728a1ba4-ffce-45be-8750-9842ea5e9e7a","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:32.098Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"81fd0c79-5644-4bc0-96e1-5fbae0be2608","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:32.428Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:32.431Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:32.441Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0aa28f19-12bf-465e-b597-8462c200ed33","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:32.682Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:32.685Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:32.695Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"973a380b-b011-425f-b67c-168ee0b5abc4","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:32.935Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:32.938Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:32.949Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7815a124-2ca7-4d3e-9971-744fa017a5de","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:36:33.238Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:36:33.241Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:36:33.252Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c1e405c5-2206-4b97-9a38-2bca182c68b8","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:38:39.114Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T10:38:39.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":1}}
{"timestamp":"2026-02-21T10:38:39.116Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:38:44.150Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-38-44_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T10:41:13.027Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:41:13.027Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:43:45.445Z","level":"info","category":"watcher","message":"File added","data":{"path":"/home/nicholai/.agents/memory/VOICE-WORKFLOW.md"}}
{"timestamp":"2026-02-21T10:43:45.449Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:43:45.452Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/VOICE-WORKFLOW.md"}}
{"timestamp":"2026-02-21T10:43:46.200Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"22c68fc5-4460-45d4-bb84-91fecc80e177","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:46.201Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:43:46.211Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"0b35944c-1832-4925-b517-d5ebcd30e1a1","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:46.223Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"5f87cd8c-6f03-45bd-be65-b20412392f57","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:46.235Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"14cb612d-5243-4bb6-8152-5b61c0a6c30f","type":"preference","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:46.246Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"789040a6-b3ef-4597-b913-079f372f54fe","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:46.256Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"cc475b10-861a-41a6-afb0-c8714d42472f","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:46.256Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/VOICE-WORKFLOW.md","chunks":6,"sections":6,"filename":"VOICE-WORKFLOW"}}
{"timestamp":"2026-02-21T10:43:46.256Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:43:51.292Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-43-51_auto_memory/VOICE-WORKFLOW.md, memory/memories.db-wal, ","filesChanged":5}}
{"timestamp":"2026-02-21T10:43:52.413Z","level":"info","category":"watcher","message":"File added","data":{"path":"/home/nicholai/.agents/memory/TOOLS.md"}}
{"timestamp":"2026-02-21T10:43:52.414Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:43:52.421Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/TOOLS.md"}}
{"timestamp":"2026-02-21T10:43:52.423Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"1b1adb9a-abff-435f-ad3e-34d46c5dbea9","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.434Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"651a5e7b-ba4f-4eb5-bb0f-a2981e4ec42b","type":"preference","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.456Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"50a87d51-e70e-447f-91bd-93b3efd8c248","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.466Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"24fa7be3-4dc5-4cb0-a292-4eb1fb5486aa","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.467Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:43:52.477Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"fe1cbd79-fbcd-448c-90cd-039411cfee61","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.487Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"2d6bb4a7-f2a3-45dd-8038-ae6f7c956cf0","type":"preference","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.497Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"98acab57-5bba-4c78-b6e5-482e8c25b3f7","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:43:52.497Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/TOOLS.md","chunks":7,"sections":7,"filename":"TOOLS"}}
{"timestamp":"2026-02-21T10:43:57.506Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-43-57_auto_memory/TOOLS.md, memory/memories.db-wal, memory/TO","filesChanged":4}}
{"timestamp":"2026-02-21T10:44:01.886Z","level":"info","category":"watcher","message":"File added","data":{"path":"/home/nicholai/.agents/memory/MODEL-ROUTING.md"}}
{"timestamp":"2026-02-21T10:44:01.887Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:44:01.893Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/MODEL-ROUTING.md"}}
{"timestamp":"2026-02-21T10:44:01.898Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"a3aa3998-9cde-4e2b-9550-0dfdecddcc28","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:44:01.909Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"5eca2337-671b-4383-8cfc-fcd2da0eec8a","type":"preference","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:44:01.920Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"5a08c52b-da57-4451-82ca-10e0b043f98c","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:44:01.930Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"bb9bd426-6db6-4fdf-9b9a-9765a8e132b8","type":"preference","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:44:01.940Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"c96aff30-76bf-4c72-a88e-8d5a1dfa21cd","type":"fact","pinned":false,"embedded":true}}
{"timestamp":"2026-02-21T10:44:01.940Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/MODEL-ROUTING.md","chunks":5,"sections":5,"filename":"MODEL-ROUTING"}}
{"timestamp":"2026-02-21T10:44:01.940Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:44:06.984Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-44-06_auto_memory/MODEL-ROUTING.md, memory/memories.db-wal, m","filesChanged":4}}
{"timestamp":"2026-02-21T10:45:23.198Z","level":"info","category":"secrets","message":"Secret deleted","data":{"name":"GOOGLE_AI_STUDIO_API"}}
{"timestamp":"2026-02-21T10:45:30.804Z","level":"info","category":"secrets","message":"Secret deleted","data":{"name":"WORKOS_API_KEY"}}
{"timestamp":"2026-02-21T10:46:13.009Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:46:13.009Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:49.994Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:49.999Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.000Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.005Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.005Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.009Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.009Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.013Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T10:49:50.013Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.013Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.013Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.018Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.022Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:50.026Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T10:49:50.038Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:50.042Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"45259b30-f939-4640-b253-d86d8ba79063","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T10:49:50.046Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"692d9ad9-242c-41e6-9f8e-b4acecc7b849","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T10:49:50.050Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"06d2ab64-e3c2-4057-8cd3-b20914f50db5","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T10:49:50.050Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:919:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T10:49:54.833Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T10:49:54.839Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T10:49:54.843Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T10:49:54.843Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T10:49:54.843Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:54.843Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:54.843Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:54.843Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:54.844Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:54.844Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:552:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T10:49:54.844Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:54.844Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:54.844Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:54.858Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:54.858Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:54.862Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T10:49:54.862Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T10:49:55.029Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T10:49:55.032Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T10:49:55.035Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T10:44:55.035Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T10:49:55.037Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T10:49:55.040Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T10:49:55.040Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T10:49:55.087Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T10:49:55.168Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T10:49:55.168Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T10:49:55.197Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:55.209Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0961e6da-e171-4a7c-9912-04f09957613c","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:55.398Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:55.401Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:55.411Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c8644ee4-8a97-4b2e-87d7-fe51f9fbf440","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:55.601Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:55.604Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:55.615Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e2cf1bfb-c702-4a29-ac2e-0e6cece736dc","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:55.804Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:55.807Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:56.008Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:56.012Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:56.022Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T10:49:56.022Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8f4007d3-d353-4277-aae9-40644bcbdc67","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:56.212Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:56.215Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:56.266Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a8d06843-975f-4d10-911d-d57e5a57f13e","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:56.266Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:56.269Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:56.269Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:56.272Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:56.284Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d3a00b05-49ea-4ba8-aaca-833dc9f6a28f","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:56.522Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:56.526Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:56.538Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"22fb5172-0418-4e99-bff8-ce37144516c6","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:56.776Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:56.779Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:56.790Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2ff94991-9564-462b-8527-e1beecc35a7b","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:56.801Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1d5408b9-c2b7-47e7-a2ac-b1fd9ecb0ad3","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:57.129Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:57.133Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:57.144Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ae192b3b-0118-4911-a8f2-4b8ffdb90091","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:57.383Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:57.386Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:57.397Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3389da91-e01a-44d3-8b2c-8ecf398bca6b","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:57.636Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:57.641Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:57.652Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a67612ef-bde1-494a-ae3e-ef545390423a","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:57.941Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:57.945Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T10:49:57.956Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1a0a637f-367f-433e-a23a-c167350defc1","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:58.245Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:58.249Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:58.259Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fcb34e7e-363e-43ff-846d-e51b397a9cd5","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T10:49:58.499Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:58.503Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:58.514Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"4b6167f8-10ac-4793-8272-f97e11933d4a","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T10:49:58.803Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:49:58.807Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T10:49:58.818Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"eb04d619-43c1-4ccd-81a2-910d092a909e","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T10:49:58.957Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T10:52:42.228Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai"}}
{"timestamp":"2026-02-21T10:52:42.230Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":2}}
{"timestamp":"2026-02-21T10:52:42.231Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:52:47.278Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-52-47_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T10:56:13.020Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:56:13.020Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T10:56:15.759Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai"}}
{"timestamp":"2026-02-21T10:56:15.760Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":2}}
{"timestamp":"2026-02-21T10:56:15.761Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T10:56:20.808Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T10-56-20_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T11:01:13.013Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:01:13.013Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:04:02.936Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T11:04:02.950Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":14}}
{"timestamp":"2026-02-21T11:04:02.951Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T11:04:02.951Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db"}}
{"timestamp":"2026-02-21T11:04:08.169Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T11-04-07_auto_memory/memories.db-wal, memory/memories.db","filesChanged":2}}
{"timestamp":"2026-02-21T11:05:07.639Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.640Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.645Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.645Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.645Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.646Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.650Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.650Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.654Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.654Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.658Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:05:07.658Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.659Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.659Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.662Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.666Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:07.670Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:07.683Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T11:05:07.686Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"575c0ed2-e77e-40e2-af2d-904f9b451dd1","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:05:07.690Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"161217d6-2811-4663-823a-dd12401bb54a","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:05:07.694Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"152a8bf4-2a02-4926-9c98-9729b2adb2a4","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:05:07.695Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:919:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:05:20.924Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:05:20.929Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:05:20.933Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:05:20.933Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:297:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:552:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:20.934Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:05:20.953Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:20.954Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:05:20.957Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:05:20.958Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:05:21.147Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:05:21.150Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:05:21.153Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:00:21.153Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:05:21.156Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:05:21.158Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:05:21.159Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:05:21.211Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:05:21.294Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:05:21.295Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:05:21.324Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:21.336Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"97ecf355-e709-441d-ab81-1236d769e52a","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:21.525Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:21.528Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:21.539Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a445f54b-ff8d-4db2-8b4d-ca07608597b3","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:21.728Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:21.732Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:21.743Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"168f6a3b-b59c-480d-9554-9b948904c7aa","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:21.932Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:21.936Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:22.136Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:22.141Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:22.151Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:05:22.151Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"38a57f42-a329-49f4-b842-0e3963d417cc","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:22.341Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:22.344Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:22.395Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7047b001-4f78-4246-9d88-79394b93eee6","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:22.395Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:22.399Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:22.399Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:22.402Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:22.413Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1f6cc113-11db-4edb-9c14-88db7f52e90b","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:22.651Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:22.655Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:22.666Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"576990b2-cea1-4269-8652-ef8eb3e7760b","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:22.905Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:22.909Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:22.920Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"61354216-258f-4c2e-ad93-a5181b468059","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:22.930Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ac65c97f-5868-410c-987c-eced5426c023","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:23.260Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:23.263Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:23.273Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4e31b895-9c55-4552-9707-c67da9e32dd6","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:23.514Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:23.518Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:23.528Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5c82bbd9-19cd-40b4-a4bf-ea2b181890d9","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:23.767Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:23.771Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:23.782Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"718e4950-6864-4142-b96a-7aff394e3ee2","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:24.071Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:24.075Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:05:24.086Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"98985c53-be57-40a5-b6a2-5a44379b306f","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:05:24.375Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:05:24.379Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:05:24.389Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d42c55a7-6dca-4146-8ac7-3f08f23950f6","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:06:13.036Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:06:13.036Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:10:27.496Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/debug.log"}}
{"timestamp":"2026-02-21T11:10:30.184Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/debug.log"}}
{"timestamp":"2026-02-21T11:10:35.204Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T11-10-35_auto_memory/debug.log, memory/debug.log","filesChanged":2}}
{"timestamp":"2026-02-21T11:11:13.015Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:11:13.015Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:11:59.488Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/debug.log"}}
{"timestamp":"2026-02-21T11:11:59.488Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/MEMORY.md"}}
{"timestamp":"2026-02-21T11:12:04.507Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T11-12-04_auto_memory/debug.log, memory/MEMORY.md","filesChanged":2}}
{"timestamp":"2026-02-21T11:12:45.519Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T11:12:45.525Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":6}}
{"timestamp":"2026-02-21T11:12:45.526Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T11:12:50.573Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T11-12-50_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T11:16:13.041Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:16:13.041Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:20:32.077Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.077Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.078Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.078Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.078Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.078Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.078Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.078Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.082Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.082Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.082Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.083Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.087Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.087Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.091Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.091Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.095Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:20:32.095Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:32.095Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.096Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.099Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.103Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:32.108Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:20:32.121Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T11:20:32.125Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"f732ea2f-4d4d-4705-b919-6f62a4fb7269","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:20:32.128Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"a3747562-5f39-4cf7-a8ee-6d067a7e798e","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:20:32.132Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"9f7eb876-3723-490c-af71-7cd49f6b38e5","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:20:32.133Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:20:52.473Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:20:52.479Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:20:52.483Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:52.484Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:20:52.500Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:52.501Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:20:52.504Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:20:52.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:20:52.712Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:20:52.715Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:20:52.719Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:15:52.718Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:20:52.722Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:20:52.724Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:20:52.724Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:20:52.776Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:20:52.909Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:20:52.909Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:20:52.942Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:52.954Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0f196d95-896f-488e-b60a-e36d9815c312","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:53.913Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:53.916Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:53.927Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1b76d981-4e35-4409-915b-61f13b118856","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:54.117Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:54.120Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:54.131Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"142ecda0-2290-4578-9cb4-a3c289763eec","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:54.320Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:54.323Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:54.523Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:54.527Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:54.538Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:20:54.538Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"235b0f8f-3caf-4def-bd1d-b6000d356560","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:54.728Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:54.731Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:54.782Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"82f64d41-2ba3-4949-b43c-06a67547a4d6","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:54.782Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:54.785Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:54.785Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:54.789Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:54.800Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5daff824-cf06-4a38-a78e-8aa093618740","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:55.039Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:55.042Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:55.053Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f9fa3eda-3c39-40d1-a167-4231e78389cc","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:55.293Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:55.296Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:55.307Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"510c3cfa-f1b7-430b-a1f0-e2e1b17a5cb4","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:55.318Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"874f2447-c7b4-4267-b9fd-bbb17a269a68","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:55.646Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:55.650Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:55.660Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c588d9c5-740b-45b3-aa34-810adbfe231e","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:55.900Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:55.904Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:55.915Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8a8612f5-911b-4dc9-8d31-0d270dd50efd","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:56.154Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:56.158Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:56.168Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"10e7d025-28c3-491c-b611-64a5baedd70e","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:56.459Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:56.462Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:20:56.473Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b88781fb-5839-44f0-81ab-bd69bc0a1ed5","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:56.762Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:56.766Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:56.776Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"dee4f816-daa1-4920-b470-3b006d175556","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:20:57.016Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:20:57.019Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:20:57.030Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"0b704b8c-6e47-4362-96c7-31c615634c42","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:21:03.925Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.926Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.930Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.931Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.935Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.935Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.939Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.939Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.943Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:21:03.944Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:03.944Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.944Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.948Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.952Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:03.956Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:03.970Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:03.974Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"a72dbc7b-f71e-4787-a480-c61458012ee2","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:21:03.978Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"dc5eccfe-374b-4f6f-8897-a92fc2097b24","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:21:03.982Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"78b80d61-2c97-414d-9fd6-2502569c06e9","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:21:03.982Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:21:06.712Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:21:06.717Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:21:06.721Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:21:06.721Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:06.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:06.738Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:06.739Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:06.742Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:06.743Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:06.939Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:06.943Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:06.946Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:16:06.946Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:06.949Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:21:06.951Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:21:06.952Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:06.999Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:21:07.113Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:21:07.113Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:21:07.153Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:07.167Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d46ba9e5-476d-4bb6-a98b-f48899e44680","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:07.774Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:07.778Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:07.789Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"937d8041-545f-4255-a466-e4b7035a1aa5","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:07.979Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:07.982Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:07.993Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a0b821a3-c613-4000-a885-594747b8a588","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:08.183Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:08.187Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:08.388Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:08.394Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:08.408Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:21:08.408Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bc4357f8-abf2-476b-8936-9033c4d28d8f","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:08.594Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:08.600Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:08.651Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"52ed8b38-0322-485a-95c6-087cf49e2aa4","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:08.651Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:08.655Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:08.655Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:08.658Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:08.670Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"91c44727-b622-4c1c-96d5-88259466426e","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:08.909Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:08.915Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:08.926Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d0f89720-0070-43be-a121-56db32245383","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:09.165Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:09.169Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:09.180Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"da3881fe-09e4-47a3-a359-91a8f3e5b0e8","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:09.191Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1f73e4ec-be07-41ff-8479-4912c02e516b","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:09.519Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:09.525Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:09.536Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0f1fe5c7-8466-4b20-a764-7e140b70ac0e","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:09.775Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:09.779Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:09.790Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c6be13d1-b88c-444d-bbde-fa98a0019f4a","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:10.029Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:10.034Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:10.045Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e7048095-79f0-42b2-a4be-6dda6047ebcb","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:10.335Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:10.339Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:10.349Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f335d162-076a-4a25-bfcd-faf022b78b21","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:10.639Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:10.642Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:10.653Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bfabd636-255d-4622-a9f3-e61da452c77d","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:10.893Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:10.896Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:10.907Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"136ea3b8-ef63-4702-8232-977387f7a560","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:21:13.012Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:21:13.012Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.500Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.504Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.505Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.509Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.509Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.513Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.513Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.517Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:21:15.518Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:15.518Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.518Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.522Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.526Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:15.530Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:15.543Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:15.547Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"9a440720-43f6-4008-bf8b-54b4a9886cad","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:21:15.551Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"9a326922-3520-4ac3-8a0c-4320a842b4af","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:21:15.555Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"9f317244-c206-4a99-bea4-c470b1a6b861","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:21:15.556Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:21:21.774Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:21:21.780Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:21:21.784Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:21.785Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:21.804Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:21.804Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:21.808Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:21.808Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:22.017Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:22.020Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:22.024Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:16:22.024Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:22.027Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:21:22.030Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:21:22.030Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:22.078Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:21:22.202Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:21:22.202Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:21:22.244Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:22.257Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"987f31e8-cbc5-4acb-b32d-b096ec452f84","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:23.347Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:23.351Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:23.362Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bbe90bb1-99d9-46ec-aeaa-685d1426884d","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:23.551Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:23.556Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:23.566Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"eee5551e-5b47-4be1-9c76-64e6fbef4fdc","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:23.756Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:23.760Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:23.961Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:23.965Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:23.975Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:21:23.975Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"58af44d6-9844-4eb1-b2aa-e6dbff0d21d9","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:24.165Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:24.169Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:24.220Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a7823483-624f-4673-9b47-3dbc938bb552","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:24.220Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:24.224Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:24.224Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:24.228Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:24.240Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"92ef758b-61c2-4f1e-9904-971df8ce7e6d","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:24.478Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:24.481Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:24.492Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"42ff5f88-8af6-4a03-833d-a2a45f273e04","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:24.732Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:24.736Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:24.746Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"23bf83fe-c73d-46d6-a726-fce1736a6638","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:24.757Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"251a67c2-c59b-484b-8216-2f7e47282575","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:25.086Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:25.090Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:25.100Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"804772ed-e743-41d4-80c0-11c5da304059","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:25.340Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:25.343Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:25.353Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"970bde20-42b8-4bd4-86d0-33b45afe3e50","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:25.593Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:25.597Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:25.607Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"84d117c5-5e45-4a7b-aebf-75709a254d12","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:25.896Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:25.900Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:25.911Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d760d655-cdd3-467e-ad35-157bb41af17b","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:26.200Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:26.204Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:26.214Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fe020837-5d8f-42c6-af61-653cc1ae7435","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:31.223Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.223Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.223Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.224Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:31.224Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.224Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.224Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.224Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.228Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.228Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.228Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.229Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.233Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.233Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.237Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.237Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.241Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:21:31.242Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:31.242Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.242Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.246Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.250Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:31.254Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:31.268Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:31.272Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"1487b495-1adc-49c2-9440-56f3c6209211","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:21:31.275Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"b53635b2-2f54-48d8-8d21-c59e64a0a1bb","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:21:31.280Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"5ac9ddbc-db98-4f53-8dbb-85d149af73a6","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:21:31.280Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:21:32.555Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:21:32.560Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:21:32.564Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:21:32.564Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:32.565Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:32.582Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:32.583Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:21:32.587Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:21:32.587Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:21:32.776Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:32.779Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:32.782Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:16:32.782Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:32.785Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:21:32.787Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:21:32.788Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:21:32.830Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:21:32.928Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:21:32.928Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:21:32.958Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:32.970Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8b287c66-ae08-417f-b487-02f43963154b","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:34.079Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.083Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:34.093Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c7da22f4-a251-4ef3-8012-916e59a5b270","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:34.283Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.286Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:34.297Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"33e3b263-214d-4c6f-be28-f83400004916","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:34.486Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.490Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:34.690Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.694Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:34.704Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:21:34.704Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"dfabd46b-b1e3-4a2c-9c86-8677b65b12ff","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:34.893Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.897Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:34.948Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"10db9239-d22c-4ed8-9e81-80d1e4904a16","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:34.948Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.951Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:34.951Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:34.954Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:34.965Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3be3f779-8970-40b4-8dc2-2cdfa2f69b32","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:35.204Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:35.207Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:35.218Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"65986483-c0f3-481b-a5e6-b13bf7b44d25","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:35.457Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:35.461Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:35.472Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"82c36c54-5273-4388-915f-1c107a63489e","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:35.482Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"900ce05b-86f1-4283-97c3-e652d0cbd32a","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:35.812Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:35.815Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:35.826Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b519f747-1b35-4aed-8e32-17e7d9528edb","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:36.066Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:36.069Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:36.080Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"981465e8-358e-43eb-8132-c52c39d41a44","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:36.319Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:36.323Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:36.334Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"068d7a75-28ca-4662-b3f7-d0b6fda47c02","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:36.623Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:36.627Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:21:36.638Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"417577f0-bd99-4986-8aeb-7fefb2d3a2f6","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:21:36.928Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:21:36.931Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:21:36.942Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"54fd4ff7-5690-4b79-b7a2-6e87bcb521bb","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:09.247Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.248Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.252Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.253Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.257Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.257Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.261Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.261Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.265Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:22:09.265Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.265Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.266Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.269Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.273Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:09.278Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:09.290Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:09.294Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"70e78f7c-5dae-4b02-8962-d1fcc372bbdf","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:22:09.298Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"845d4333-9ff2-4b43-8191-34693d5b4461","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:22:09.302Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"9975ecbd-5eaa-4a59-89e7-c00f9b1ddf02","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:22:09.303Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:22:12.212Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:22:12.218Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:22:12.222Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:22:12.222Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:22:12.222Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:12.222Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:12.223Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:12.239Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:12.239Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:12.243Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:12.243Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:12.435Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:12.438Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:12.441Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:17:12.441Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:12.444Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:22:12.447Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:22:12.447Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:12.492Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:22:12.586Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:22:12.586Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:22:12.618Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:12.629Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c14c47cd-9903-4f7e-9156-6b0562a96f21","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:12.818Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:12.821Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:12.832Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"631f3b3e-610b-44d0-8f94-a7fb1c2c9357","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:13.021Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.025Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:13.035Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"596b7cd5-53e9-4926-8266-fe286154c71e","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:13.224Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.228Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:13.428Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.432Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:13.443Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:22:13.443Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"74a6c020-ac39-410e-b739-e8f2e82d9068","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:13.633Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.636Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:13.688Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7dde8583-5222-41f2-a8ed-1cdd995970da","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:13.688Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.691Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:13.691Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.694Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:13.707Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"dd70b90e-26a5-47cd-88a5-52adb272aa4e","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:13.944Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:13.948Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:13.959Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"39e4cb1c-d22a-4523-87f3-fd1084247197","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:14.198Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:14.201Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:14.212Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7765ffa7-4f4e-40f9-ad31-bafd2f05f9b8","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:14.222Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d17ac739-ae61-4b38-97c5-8661e30be365","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:14.551Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:14.555Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:14.565Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3b169864-48b2-4af1-8a3d-b65056a13dfc","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:14.805Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:14.809Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:14.819Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"927ccda8-bf0c-43de-a81d-2019fc47c666","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:15.060Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:15.063Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:15.074Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"933c2356-13f7-43af-a5b3-0c1f4cb05eea","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:15.363Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:15.367Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:15.377Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d7af4fc8-3d31-4cc9-b4cf-b7592ff80bab","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:15.667Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:15.670Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:15.681Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"137945e1-5f09-4f89-b612-98a826b46d3a","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:15.920Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:15.924Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:15.934Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"d5935101-5d8c-4706-9110-1c0c72fc8688","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:22:16.224Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:16.228Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:16.238Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"1c528538-abdb-4176-926c-a8d8f2105e68","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T11:22:37.350Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.351Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.355Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.355Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.356Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.360Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.360Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.364Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.364Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.368Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:22:37.369Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:37.369Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.369Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.373Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.377Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:37.381Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.394Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:37.398Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"bc484dab-593f-47ce-ac8a-3d9398609f3c","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:22:37.403Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"dcc3ec50-a189-476c-ba0f-30ec094adf0c","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:22:37.407Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"e12caac2-87bb-42c2-b3dc-90c348727da9","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:22:37.407Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:22:43.712Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:22:43.717Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:22:43.721Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:43.722Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:22:43.738Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:43.739Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:43.742Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:22:43.743Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:22:43.941Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:43.944Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:43.947Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:17:43.947Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:43.950Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:22:43.953Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:22:43.953Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:22:43.997Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:22:44.124Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:22:44.124Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:22:44.155Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:44.168Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0cdc4f09-6288-4b5a-a3c6-36db6a2096ea","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:45.205Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:45.208Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:45.217Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3e272a2c-3ff6-45f1-96b6-8144e2d5c6d0","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:45.407Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:45.410Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:45.421Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0b5cec2c-6ce7-4fce-97b8-2ae54b42ea9b","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:45.611Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:45.614Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:45.815Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:45.818Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:45.829Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:22:45.829Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7c64c6e9-805a-4ead-9a56-00d3b3bead30","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:46.018Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:46.021Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:46.072Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4133d654-144a-484c-ad5f-32c3296e4013","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:46.072Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:46.075Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:46.075Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:46.078Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:46.090Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"07093d14-0739-49f6-b63d-d3f0cb869155","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:46.328Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:46.332Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:46.342Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d5847a38-0cdb-421c-8a48-dc5ffb929ff9","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:46.582Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:46.585Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:46.596Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"68c30a14-cba3-4193-876b-f78f9045405e","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:46.607Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"919c10cc-41a7-49fb-ac51-a9bdbce699b6","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:46.936Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:46.939Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:46.950Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3e0ec2ac-47e3-43ee-89d1-6cfe58aed480","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:47.189Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:47.192Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:47.203Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f9777ffa-0042-4161-8989-f174f5b4a382","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:47.442Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:47.446Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:47.456Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8727ac09-61da-4f83-b227-fd2fbb5d188e","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:47.746Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:47.750Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:22:47.759Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f320a02d-0cb2-4036-bc76-0946b90ef884","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:22:48.051Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:22:48.055Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:22:48.065Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5ec09eac-3d76-46ca-b216-54fa6a7e7cc9","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:06.532Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.532Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.533Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.533Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.533Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.533Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.533Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.533Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.537Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.537Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.537Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.538Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.542Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.543Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:06.546Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.547Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:06.551Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:23:06.551Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.551Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.551Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.555Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.559Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:06.563Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.576Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:06.580Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"5a52b80c-4321-4abb-818a-a1404820c3e3","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:23:06.584Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"1eb709d0-1cc1-417e-99be-7f821a350b77","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:23:06.588Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"8ce4ebd0-5d45-46dd-a7b7-816f0f5d6558","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:23:06.589Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:23:11.814Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:23:11.820Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:11.823Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:11.824Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:11.840Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:11.841Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:11.845Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:11.845Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:12.045Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:12.048Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:12.051Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:18:12.051Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:12.054Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:12.057Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:12.057Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:12.102Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:23:12.240Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:23:12.241Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:23:12.275Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:12.286Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e01b81ba-5293-4502-8840-e1c11e603fb0","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:13.381Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:13.387Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:13.397Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e695d284-4ed5-4975-b757-797c81758320","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:13.587Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:13.591Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:13.602Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"420cf1f7-f443-4c0b-8a29-181dc0df0689","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:13.792Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:13.795Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:13.996Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:13.999Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:14.010Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:23:14.010Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0d4a8fb6-0d21-430c-b6ec-b79cb17d7eea","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:14.199Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:14.203Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:14.252Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"98f0e75e-fd35-467f-a8c9-308a6d3ce075","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:14.252Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:14.255Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:14.255Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:14.258Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:14.270Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3506a576-392d-43f6-976b-ac4b9dffe439","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:14.509Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:14.512Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:14.523Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"49d8b39d-fee0-43fc-9c16-53be2527eb25","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:14.762Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:14.766Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:14.776Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ad4f7e93-dbfb-4165-b283-8509e654a99b","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:14.787Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"43009b58-3056-4d72-b914-0ab271de59a1","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:15.116Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:15.120Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:15.131Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a2677a3b-6b6f-4a63-a6db-ccdddb1b1d3b","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:15.370Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:15.374Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:15.385Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"efbb06f5-f30a-4dd6-ba91-aad8487b76db","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:15.624Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:15.628Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:15.638Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f44c2453-af8f-446f-8171-e4a8788eb081","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:15.927Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:15.931Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:15.941Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8b3bd5b9-b13f-4a04-8e55-8c0140d7a797","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:16.231Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:16.235Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:16.245Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8d3af619-7983-444d-ab33-b0d7536bed2a","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:22.958Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.958Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.958Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:22.958Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.959Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.959Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.959Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.959Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.963Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.988Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":25}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:22.989Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:22.993Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:22.994Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:22.999Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:22.999Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:23.003Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:23:23.004Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:23.004Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:23.004Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:23.008Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:23.012Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:23.017Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:23.031Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:23.035Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"54b20d9e-a76f-4d98-8a7d-13c98fbeaa76","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:23:23.039Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"85710729-dbce-447d-919f-18406c1ef478","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:23:23.063Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"88a54648-3e25-422d-b9d5-4b281d6a1d1e","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:23:23.064Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:23:24.787Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:23:24.793Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:24.797Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:23:24.797Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:24.797Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:24.797Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:24.797Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:24.798Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:24.798Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:24.798Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:23:24.798Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:24.798Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:24.798Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:24.813Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:24.814Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:24.818Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:24.818Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:24.982Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:24.985Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:24.989Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:18:24.989Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:24.992Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:24.995Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:24.995Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:25.042Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:23:25.100Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:23:25.100Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:23:25.135Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:25.148Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f47bed54-3e01-4e8a-9a6b-44a66bc8f11d","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:25.335Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:25.339Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:25.350Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"75bf1505-3bf9-47a6-86de-62a6c01d32e7","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:25.540Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:25.544Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:25.555Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f2c3bc59-5e14-43d0-b02f-6afec9cee0ee","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:25.744Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:25.748Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:25.948Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:25.952Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:25.962Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:23:25.962Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"90a31aef-f7d4-4473-999d-560b2d0fe2b8","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:26.152Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:26.156Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:26.206Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b470377d-920b-4f28-9688-8a007313eccb","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:26.207Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:26.210Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:26.210Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:26.213Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:26.225Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"831874b4-806b-4e06-87d2-015208dba188","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:26.463Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:26.467Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:26.478Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ac6e2dc5-c1e3-4ab4-bf19-db8fc69c83a8","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:26.717Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:26.721Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:26.732Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9f908140-88a8-4fd3-8b41-dc62f3e2ad50","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:26.744Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"394f4329-e847-42ce-b0a0-cac0710c8824","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:27.072Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:27.075Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:27.086Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"faec983d-147f-4b70-8843-6acead5d8f86","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:27.325Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:27.328Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:27.339Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c004bbf8-6d03-46d9-9c8d-92a944c7d8c4","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:27.578Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:27.582Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:27.593Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"18e7f8b7-9756-4324-bd45-d7a6c27c437e","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:27.884Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:27.888Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:27.898Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"20f53975-9b48-4f70-b272-cef24797dc53","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:28.188Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:28.191Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:28.202Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4a2cd622-1154-499f-829d-d6f1894e59c3","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:28.441Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:28.445Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:28.455Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"fe958c9f-d13a-4ea6-819c-b12e5cb03a5d","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:23:28.745Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:28.749Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:28.760Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"069c400b-ca4c-4fcf-ac80-1ce997347f41","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T11:23:28.899Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:34.014Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.015Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.020Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":16}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.037Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.041Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.042Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:34.046Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.046Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.052Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:23:34.053Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:34.053Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.053Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.058Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.063Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:34.067Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.084Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:34.089Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"dd8f70d4-b84f-4a17-9aa8-3e9f09949eb4","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:23:34.093Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"4a9d3bff-2be5-4034-8942-f3462d995033","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:23:34.117Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"db5cc017-b8a0-4570-9a1e-3cac4ad7cd02","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:23:34.118Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:23:41.170Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:23:41.176Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:41.181Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:41.182Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:23:41.183Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:41.183Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:41.183Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:41.201Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:41.202Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:41.206Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:41.206Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:41.412Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:41.416Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:41.420Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:18:41.420Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:41.424Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:41.427Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:41.427Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:41.481Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:23:41.540Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:23:41.540Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:23:41.579Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:41.592Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e06ecd52-eec6-4ca1-97c8-b65fbb2e5255","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:41.779Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:41.784Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:41.795Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"158053f6-bded-4601-9ffa-942c71218a4e","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:41.984Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:41.988Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:41.999Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"69630c3a-c7f7-4e83-92ff-87d360fa7e1b","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:42.189Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:42.193Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:42.394Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:42.399Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:42.409Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:23:42.409Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"11374e73-c858-4cfb-b301-966b0b845f55","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:42.599Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:42.603Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:42.652Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f3e4d1b6-6ba7-4c06-97cb-b00760f4ce66","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:42.652Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:42.656Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:42.656Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:42.659Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:42.671Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6f43270e-37a5-45d8-a6df-c53305ddfdb2","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:42.909Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:42.913Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:42.923Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2b8536ca-3912-4d46-8608-0a054679ca09","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:43.163Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:43.168Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:43.178Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a94f2d1d-f3ab-40c8-b2f7-d11f0c305904","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:43.189Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5645f5f3-7b56-4af5-92b0-631f10ce67f6","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:43.517Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:43.521Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:43.532Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"55e91980-a675-405a-9c2b-a1bda353760a","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:43.771Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:43.775Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:43.785Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f3c194f2-a0e1-4359-aaea-3c1348d191aa","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:44.026Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:44.029Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:44.040Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7d8354ee-bab1-4945-b9f3-b87d846cc680","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:44.329Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:44.334Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:23:44.344Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"038e4f24-27c5-4aba-8466-2e37611c8bc5","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:44.633Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:44.636Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:44.647Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"93313ffa-87ca-43d5-90f1-37c059a8f41b","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:23:44.886Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:23:44.890Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:44.899Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"36362ea6-8342-4093-b3c6-e63dc1c873c5","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:23:54.868Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.869Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.874Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.874Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.875Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.879Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.879Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.884Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.884Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.889Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:23:54.889Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.889Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.890Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.894Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.899Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:54.904Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:54.921Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}}
{"timestamp":"2026-02-21T11:23:54.926Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"e29f653c-6150-41e1-9e1d-e7e06e0427bc","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:23:54.931Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"38af6fd0-84ab-4263-86de-d7f646691b1e","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:23:54.936Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"2d8b3f7a-3f21-4032-a567-4e98b1625c46","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:23:54.937Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:23:59.424Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:23:59.430Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:59.434Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:59.435Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:59.452Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:59.452Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:59.457Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:23:59.457Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:23:59.655Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:59.658Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:59.661Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:18:59.661Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:59.664Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:59.667Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:23:59.667Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:23:59.715Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:23:59.854Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:23:59.855Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:23:59.888Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:23:59.901Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1e7be514-8953-4547-88bc-b85a3e78d37a","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:00.088Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.092Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:00.103Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"949aa760-ff70-48e3-895e-8a0416be8756","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:00.292Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.297Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:00.308Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c79a8057-ce13-4234-bd91-d8915e0137bf","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:00.497Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.501Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:00.701Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.705Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:00.715Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:24:00.715Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0ba2511e-8357-4462-8947-1a08a0cfc29c","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:00.905Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.910Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:00.959Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0684c834-91bc-4922-85c8-ed7fcdd2c4a8","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:00.959Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.962Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:00.962Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:00.967Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:00.979Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b8f3bb8a-6711-4632-a4c3-a5d934728a15","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:01.218Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:01.221Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:01.232Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6d109430-228e-42bf-8056-686b21041c49","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:01.471Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:01.475Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:01.485Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a0ebc07f-71e9-4dcc-8fcc-474921bc9811","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:01.496Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"437b2167-1799-4043-a1b6-e83f9be20ede","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:01.824Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:01.828Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:01.838Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9e3b5a46-a9c4-4759-bfe2-81d65c3169b9","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:02.078Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:02.082Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:02.092Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"87e234fa-a2f0-4520-b37d-bf0e1b1b0dac","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:02.333Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:02.336Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:02.347Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d91c1cb2-7fc4-4f9c-a0e0-2ddf90010c7f","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:02.636Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:02.641Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:02.652Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0b33db55-441a-40c1-86ae-dcb57f325800","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:02.941Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:02.945Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:02.956Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"866ddae6-7552-49e1-8737-fe7e03be6492","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:03.195Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.199Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:03.210Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"d8221c49-6897-4c40-8b3a-9eced6b8bd13","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:24:03.499Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.503Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:03.513Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"2c59bb89-f66c-492e-9dda-6420c694662d","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T11:24:03.653Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.784Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}}
{"timestamp":"2026-02-21T11:24:03.784Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.787Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}}
{"timestamp":"2026-02-21T11:24:03.787Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.788Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":5,"actor":"maintenance-worker","reason":"autonomous maintenance"}}
{"timestamp":"2026-02-21T11:24:03.788Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.91","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}}
{"timestamp":"2026-02-21T11:24:03.790Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}}
{"timestamp":"2026-02-21T11:24:03.791Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.791Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"maintenance-worker","reason":"autonomous maintenance"}}
{"timestamp":"2026-02-21T11:24:03.791Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.91","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}}
{"timestamp":"2026-02-21T11:24:03.793Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"observe","intervalMs":1800000}}
{"timestamp":"2026-02-21T11:24:03.793Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.794Z","level":"info","category":"maintenance","message":"Recommendations (observe-only)","data":{"composite":"0.91","recommendations":["requeueDeadJobs"]}}
{"timestamp":"2026-02-21T11:24:03.796Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"}
{"timestamp":"2026-02-21T11:24:03.796Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.799Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}}
{"timestamp":"2026-02-21T11:24:03.799Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.799Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:19:03.799Z","actor":"maintenance-worker","reason":"autonomous maintenance"}}
{"timestamp":"2026-02-21T11:24:03.799Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.94","postScore":"0.94","improved":false,"executed":["releaseStaleLeases"]}}
{"timestamp":"2026-02-21T11:24:03.802Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}}
{"timestamp":"2026-02-21T11:24:03.802Z","level":"info","category":"maintenance","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.803Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":5,"ftsCount":10,"mismatch":true,"repaired":true,"actor":"maintenance-worker"}}
{"timestamp":"2026-02-21T11:24:03.803Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"maintenance-worker","reason":"autonomous maintenance"}}
{"timestamp":"2026-02-21T11:24:03.803Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.79","postScore":"0.79","improved":false,"executed":["checkFtsConsistency","triggerRetentionSweep"]}}
{"timestamp":"2026-02-21T11:24:03.807Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}}
{"timestamp":"2026-02-21T11:24:03.807Z","level":"info","category":"retention","message":"Sweep completed","data":{"graphLinksPurged":0,"entitiesOrphaned":0,"embeddingsPurged":0,"tombstonesPurged":1,"historyPurged":0,"completedJobsPurged":0,"deadJobsPurged":0}}
{"timestamp":"2026-02-21T11:24:03.808Z","level":"info","category":"retention","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.810Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}}
{"timestamp":"2026-02-21T11:24:03.810Z","level":"info","category":"retention","message":"Sweep completed","data":{"graphLinksPurged":0,"entitiesOrphaned":0,"embeddingsPurged":0,"tombstonesPurged":0,"historyPurged":1,"completedJobsPurged":0,"deadJobsPurged":0}}
{"timestamp":"2026-02-21T11:24:03.810Z","level":"info","category":"retention","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.813Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}}
{"timestamp":"2026-02-21T11:24:03.813Z","level":"info","category":"retention","message":"Sweep completed","data":{"graphLinksPurged":0,"entitiesOrphaned":0,"embeddingsPurged":0,"tombstonesPurged":0,"historyPurged":0,"completedJobsPurged":1,"deadJobsPurged":1}}
{"timestamp":"2026-02-21T11:24:03.814Z","level":"info","category":"retention","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.816Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}}
{"timestamp":"2026-02-21T11:24:03.816Z","level":"info","category":"retention","message":"Sweep completed","data":{"graphLinksPurged":1,"entitiesOrphaned":1,"embeddingsPurged":0,"tombstonesPurged":1,"historyPurged":0,"completedJobsPurged":0,"deadJobsPurged":0}}
{"timestamp":"2026-02-21T11:24:03.816Z","level":"info","category":"retention","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.819Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}}
{"timestamp":"2026-02-21T11:24:03.820Z","level":"info","category":"retention","message":"Sweep completed","data":{"graphLinksPurged":2,"entitiesOrphaned":1,"embeddingsPurged":0,"tombstonesPurged":1,"historyPurged":0,"completedJobsPurged":0,"deadJobsPurged":0}}
{"timestamp":"2026-02-21T11:24:03.820Z","level":"info","category":"retention","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:03.822Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}}
{"timestamp":"2026-02-21T11:24:03.822Z","level":"info","category":"retention","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:33.517Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.517Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.517Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.517Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.517Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.517Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.518Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.518Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:24:33.522Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.523Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.523Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.523Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.523Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.526Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.527Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:24:33.531Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.531Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.535Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:24:33.535Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.535Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.535Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.539Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.543Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:33.548Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:24:33.561Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:33.565Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"18e59f88-00a9-4b97-b37c-75d323825414","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:24:33.569Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"bb394d59-aaa4-4067-8a2d-0dd5d3cdd64c","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:24:33.573Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"d74b2dbe-a5fc-44fe-8879-cccc6d7d4989","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:24:33.574Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:951:3)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:24:37.945Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:24:37.951Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:24:37.954Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:305:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:560:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:37.955Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:37.971Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:37.971Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:37.975Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:24:37.975Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:24:38.167Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:24:38.170Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:24:38.173Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:19:38.173Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:24:38.176Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:24:38.179Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:24:38.179Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:24:38.224Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:24:38.328Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:24:38.329Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:24:38.361Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:38.372Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d083a79b-e711-46ae-a311-6e424dbb795c","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:39.436Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:39.440Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:39.451Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ccb2688b-ca99-49fe-b777-b6d2c3e09e18","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:39.640Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:39.644Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:39.655Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1b5b5af9-733a-46b7-a790-a43e34bea3ec","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:39.844Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:39.848Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:40.048Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:40.053Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:40.063Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:24:40.063Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"36d17d9a-4bcb-4990-bbc4-6413e13f3ea3","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:40.253Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:40.258Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:40.308Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d672103b-57bc-462a-8a96-2d46abe5ad86","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:40.308Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:40.312Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:40.312Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:40.315Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:40.326Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5e58d4fe-e054-4b9e-9a8b-473ad7f2e93b","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:40.564Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:40.568Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:40.579Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"dfe5663b-e156-4429-8a75-8dc50c7fa8a6","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:40.818Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:40.824Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:40.835Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"100b02e1-2733-41fd-b4cb-ec351871735b","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:40.845Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5c8a597a-7fdb-4ff5-8a41-a16b86b8f48e","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:41.174Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:41.179Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:41.189Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"53bffd09-d3f7-4d9f-96c2-c8b737a348aa","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:41.428Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:41.434Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:41.445Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9f6c5401-9177-4676-95a0-1a739bddab84","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:41.683Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:41.687Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:41.698Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"91174276-9d91-4fb1-831d-77c843993c87","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:41.987Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:41.992Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:24:42.001Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"694acdec-1a12-4f79-b3a7-0542684e6a91","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:24:42.291Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:24:42.296Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:24:42.306Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b15ac69c-1e10-45be-bd31-535b1b51a8a5","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:26:13.031Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:26:13.031Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:29:40.016Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.016Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.016Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.016Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.017Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.017Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:29:40.017Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.017Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.021Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.022Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.023Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:29:40.027Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.027Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.031Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.032Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:29:40.036Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:29:40.036Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.036Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.036Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.041Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.045Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:40.050Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:29:40.064Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:40.069Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"1a9d593f-377a-4291-98ce-5ce803d5538e","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:29:40.075Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"92038f49-078e-4838-b1d6-69eeeef22b30","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:29:40.080Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"8f1e1250-28c7-45b7-ad7a-59537574d3eb","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:29:40.080Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:931:20)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:29:48.008Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:29:48.014Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:29:48.018Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:29:48.018Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:29:48.018Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:308:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:563:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:48.019Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:48.035Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:48.035Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:48.040Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:29:48.040Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:29:48.234Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:29:48.237Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:29:48.240Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:24:48.240Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:29:48.243Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:29:48.246Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:29:48.246Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:29:48.295Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:29:48.398Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:29:48.398Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:29:48.431Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:48.443Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"313194d0-7a4b-4caf-9f7f-81a18cc5cb42","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:48.631Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:48.635Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:48.645Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1ece628b-09ee-4a86-b84e-489fe06c8a77","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:48.835Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:48.838Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:48.849Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4f975ce2-4e04-4566-a4cc-52225e999dc0","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:49.038Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:49.043Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:49.244Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:49.247Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:49.258Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:29:49.258Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b7503543-8861-4a82-a315-de0208f4508b","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:49.447Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:49.452Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:49.503Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"228e6cac-cf8a-4865-8cb9-ec4547fee19f","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:49.503Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:49.506Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:49.506Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:49.509Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:49.521Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c692282f-07ba-4bd1-b67a-14ab81bde77d","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:49.759Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:49.762Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:49.773Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d00714ae-ce25-4937-8d37-80ec204e7ff5","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:50.012Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:50.016Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:50.027Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f20267dd-076d-4b24-b046-3d9d37a98c7f","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:50.037Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b48ede12-ebab-4e74-bc79-7d62c85a2176","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:50.366Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:50.370Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:50.380Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"ddd0631b-cbe9-4d8b-826d-445326e5f409","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:50.620Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:50.623Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:50.634Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"055ee5a5-a7d1-40eb-ae30-8037120a0b68","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:50.873Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:50.877Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:50.888Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"627f2a65-e85f-4968-9ec0-be18ec50550f","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:51.177Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:51.181Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:29:51.191Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c79db6f7-59e6-4f6d-9f29-7fdf583afa97","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:51.481Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:51.485Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:51.496Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"820c3bcf-c555-47c6-b482-8e2d46be5343","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:29:51.736Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:29:51.739Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:29:51.750Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"f6e08a41-2ca2-4589-8904-1d994db7798e","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:31:13.013Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:31:13.013Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:33:22.897Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T11:33:22.899Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":2}}
{"timestamp":"2026-02-21T11:33:22.899Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T11:33:27.947Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T11-33-27_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T11:34:06.701Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T11:34:06.702Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":1}}
{"timestamp":"2026-02-21T11:34:06.703Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}
{"timestamp":"2026-02-21T11:34:11.751Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T11-34-11_auto_memory/memories.db-wal","filesChanged":1}}
{"timestamp":"2026-02-21T11:34:29.157Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.157Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.157Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.157Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.158Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.158Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}}
{"timestamp":"2026-02-21T11:34:29.158Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.158Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.162Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.163Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.167Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.167Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.171Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.172Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:34:29.176Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}}
{"timestamp":"2026-02-21T11:34:29.176Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.176Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.176Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.180Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.184Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:29.188Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.201Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:29.205Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"f19a2568-f060-40d0-8536-f02569b3f0cb","type":"preference","pinned":false}}
{"timestamp":"2026-02-21T11:34:29.209Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"5418f573-3f60-4246-a904-f683aa77b457","type":"rule","pinned":true}}
{"timestamp":"2026-02-21T11:34:29.213Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"d5f9e82e-48e6-4f1b-97f8-5d4697e2ab8b","type":"fact","pinned":false}}
{"timestamp":"2026-02-21T11:34:29.213Z","level":"error","category":"hooks","message":"Remember failed","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:931:20)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}}
{"timestamp":"2026-02-21T11:34:31.056Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"}
{"timestamp":"2026-02-21T11:34:31.062Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"error","category":"hooks","message":"Failed to get project memories","error":{"name":"Error","message":"DbAccessor not initialised — call initDbAccessor() first","stack":"Error: DbAccessor not initialised — call initDbAccessor() first\n at getDbAccessor (/home/nicholai/signet/signetai/packages/daemon/src/db-accessor.ts:162:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:308:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:563:19)\n at <anonymous> (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:31.066Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:31.082Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:31.083Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}}
{"timestamp":"2026-02-21T11:34:31.087Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}}
{"timestamp":"2026-02-21T11:34:31.087Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}}
{"timestamp":"2026-02-21T11:34:31.281Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:34:31.284Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:34:31.287Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T11:29:31.287Z","actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:34:31.290Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:34:31.293Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}}
{"timestamp":"2026-02-21T11:34:31.293Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}}
{"timestamp":"2026-02-21T11:34:31.338Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}}
{"timestamp":"2026-02-21T11:34:31.436Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}}
{"timestamp":"2026-02-21T11:34:31.437Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}}
{"timestamp":"2026-02-21T11:34:31.473Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:31.485Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7181a11b-e52b-41f5-8d47-3d41ca4311b8","memoryId":"mem-proc","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:31.672Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:31.677Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:31.688Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"cfe21ac8-d78b-40ee-9daf-953bae472fea","memoryId":"mem-hist","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:31.877Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:31.880Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:31.891Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e1d9e8fb-7c13-4134-b94e-e4c368fa446c","memoryId":"mem-payload","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:32.080Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:32.084Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:32.283Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:32.287Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:32.297Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}}
{"timestamp":"2026-02-21T11:34:32.297Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4473322c-e219-4ae0-9633-7420b7803c87","memoryId":"mem-llm-err","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:32.486Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:32.490Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:32.539Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5fbdc63a-a587-43b6-b3ea-7ee79769cc62","memoryId":"mem-slow","facts":0,"entities":0,"proposals":0,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:32.539Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:32.542Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:32.542Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:32.546Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:32.557Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"00f78670-140c-4eab-ab0d-eeedd6d3c639","memoryId":"mem-src-add","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:32.796Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:32.799Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:32.810Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b7ab8f05-5f0b-4391-a6ea-1dfe20d20cb9","memoryId":"mem-src-add-no-emb","facts":1,"entities":1,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:33.049Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:33.053Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:33.063Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bb0024da-758b-4844-bb2f-dd638df0b4f8","memoryId":"mem-src-dedupe-1","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":1,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:33.074Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9387faa0-7075-4691-b636-eba2d9a137e8","memoryId":"mem-src-dedupe-2","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":1,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:33.402Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:33.406Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:33.416Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"df80f3a9-83b8-4ed6-94e3-4c3bb5b8981d","memoryId":"mem-src-lowconf","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:33.657Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:33.661Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:33.671Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"fd160f0b-ea3d-47db-a1c1-538869c7f851","memoryId":"mem-src-empty-normalized","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":1,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:33.911Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:33.914Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:33.925Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6300fd1e-b233-4042-a360-94bd2456faa7","memoryId":"mem-src-delete","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":1,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:34.215Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:34.218Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}}
{"timestamp":"2026-02-21T11:34:34.229Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"620c348a-df1b-40da-8a82-255295b8c680","memoryId":"mem-src-none","facts":1,"entities":0,"proposals":1,"writeMode":"phase-c","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:34.518Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:34.522Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:34.532Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"95f8be83-ab79-41ce-91ab-3282da410dfe","memoryId":"mem-src-frozen","facts":1,"entities":1,"proposals":1,"writeMode":"shadow","added":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":0,"entitiesUpdated":0,"relationsInserted":0,"relationsUpdated":0,"mentionsLinked":0}}
{"timestamp":"2026-02-21T11:34:34.772Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:34.776Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:34.786Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"fd8a9cbd-a8e5-4500-8ee2-51e07d7821ef","error":"DB write failed","attempt":1}}
{"timestamp":"2026-02-21T11:34:35.076Z","level":"info","category":"pipeline","message":"Worker stopped"}
{"timestamp":"2026-02-21T11:34:35.080Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}}
{"timestamp":"2026-02-21T11:34:35.090Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"644b72ae-66fc-4906-8f98-8e28cbf95773","error":"transient failure","attempt":1}}
{"timestamp":"2026-02-21T11:36:13.010Z","level":"warn","category":"git","message":"Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:36:13.010Z","level":"warn","category":"git","message":"Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git\n ! [rejected] HEAD -> main (non-fast-forward)\nerror: failed to push some refs to 'https://github.com/Signet-AI/signetai.git'\nhint: Updates were rejected because the tip of your current branch is behind\nhint: its remote counterpart. If you want to integrate the remote changes,\nhint: use 'git pull' before pushing again.\nhint: See the 'Note about fast-forwards' in 'git push --help' for details.\n"}
{"timestamp":"2026-02-21T11:38:31.811Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}}
{"timestamp":"2026-02-21T11:38:31.812Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":3,"durationMs":1}}
{"timestamp":"2026-02-21T11:38:31.813Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}}