diff --git a/.daemon/logs/daemon.out.log b/.daemon/logs/daemon.out.log index ebf76be4f..ef162ab28 100644 --- a/.daemon/logs/daemon.out.log +++ b/.daemon/logs/daemon.out.log @@ -11083,3 +11083,78 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details. 19:45:55 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-27.md","chunks":4,"sections":4,"filename":"2026-01-27"} 19:45:55 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/TOOLS.md","chunks":7,"sections":7,"filename":"TOOLS"} 19:45:55 INFO  [daemon] Imported existing memory files {"files":18,"chunks":107} +20:14:33 INFO  [daemon] Serving dashboard {"path":"/home/nicholai/node_modules/signetai/dashboard"} +20:14:33 INFO  [daemon] Signet Daemon starting +20:14:33 INFO  [daemon] Agents directory {"path":"/home/nicholai/.agents"} +20:14:33 INFO  [daemon] Port configured {"port":3850} +20:14:33 INFO  [daemon] Process ID {"pid":3429453} +20:14:33 INFO  [watcher] File watcher started +20:14:33 INFO  [auth] Running in local mode (no auth) +20:14:33 INFO  [pipeline] Worker started {"pollMs":2000,"maxRetries":3,"model":"haiku","mode":"controlled-write"} +20:14:33 INFO  [retention] Worker started {"intervalMs":21600000,"tombstoneDays":30,"historyDays":180} +20:14:33 INFO  [maintenance] Worker skipped (disabled or frozen) +20:14:33 INFO  [document-worker] Worker started {"intervalMs":10000,"chunkSize":2000} +20:14:33 INFO  [pipeline] Pipeline started {"mode":"controlled-write"} +20:14:33 INFO  [git] Auto-sync enabled: every 300s +20:14:33 INFO  [daemon] Server listening {"address":"::1","port":3850} +20:14:33 INFO  [daemon] Daemon ready +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"compass project\n===\n\narchitecture\n---\n\n- compass r","section":"(no section)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass","chunks":1,"sections":1} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Depth Anything v3 Nuke Plugin\n\n- repo: /mnt/wor","section":"depth anything v3 nuke plugin","level":"section"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-26.md","chunks":2,"sections":2,"filename":"2026-01-26"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Nuke .cat File Format (critical)\n\n- .cat files ","section":"nuke .cat file format (critical)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## TorchScript Lessons (hard-won)\n\n- nn.ModuleList","section":"torchscript lessons (hard-won)","level":"section"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-24.md","chunks":2,"sections":2,"filename":"2026-01-24"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Model Performance Notes\n\n- kimi-k2.5: 2/10 on n","section":"model performance notes","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Skill\n\n- materia-nuke-node skill at ~/.agents/s","section":"skill","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-materia/memory/MEMORY.md","projectId":"-mnt-work-dev-materia","chunks":5,"sections":5} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"compass schedule project\n===\n\nkey patterns\n---\n\n- ","section":"(no section)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass-schedule/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass-schedule","chunks":1,"sections":1} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"quickshell port\n===\n\nthe caelestia -> quickshell p","section":"(no section)","level":"paragraph"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"status (2026-02-08)\n---\n- deployed and running wit","section":"(no section)","level":"paragraph"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-home-nicholai/memory/MEMORY.md","projectId":"-home-nicholai","chunks":2,"sections":0} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## DB Access Pattern (PR #58 fix)\n\n- `src/lib/db-u","section":"db access pattern (pr #58 fix)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Env Access Pattern\n\n- cloudflare workers: env v","section":"env access pattern","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Lessons Learned\n\n- when removing multiline bloc","section":"lessons learned","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass-custom-dashboards/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass-custom-dashboards","chunks":3,"sections":3} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Veo 3.1 First-Last Frame Pipeline\n\n- When gener","section":"veo 3.1 first-last frame pipeline","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"### Nano Banana Pro (Input-Only Moderation)\n\n- Che","section":"nano banana pro (input-only moderation)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"### Veo 3.1 (Input AND Output Moderation)\n\n- Moder","section":"veo 3.1 (input and output moderation)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## API Format Notes (Gemini API, not Vertex AI)\n\n-","section":"api format notes (gemini api, not vertex ai)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Project Location\n\n- Working dir: `/mnt/work/dev","section":"project location","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-ai-studio-videos/memory/MEMORY.md","projectId":"-mnt-work-dev-ai-studio-videos","chunks":5,"sections":5} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-15-pre-compaction-flush.md","chunks":13,"sections":13,"filename":"2026-02-15-pre-compaction-flush"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"compass project memory\n===\n\nMCP tool architecture ","section":"(no section)","level":"paragraph"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"netsuite gotchas:\n- 401 can mean timeout, not auth","section":"(no section)","level":"paragraph"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass","chunks":2,"sections":0} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Tailwind v4 + styled-jsx Gotcha\n\n`hidden lg:fle","section":"tailwind v4 + styled-jsx gotcha","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Turbopack Build Bug\n\n`npx next build` crashes w","section":"turbopack build bug","level":"section"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-09.md","chunks":4,"sections":4,"filename":"2026-02-09"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Theme: Modern Minimal (oklch)\n\n- Background: pu","section":"theme: modern minimal (oklch)","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Design Direction\n\n- Compact, minimal UI inspire","section":"design direction","level":"section"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-14.md","chunks":2,"sections":2,"filename":"2026-02-14"} +20:14:33 INFO  [watcher] Synced Claude memory chunk {"content":"## Key Paths\n\n- Theme vars: `app/globals.css`\n- Ap","section":"key paths","level":"section"} +20:14:33 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-mnt-work-dev-cre-sync/memory/MEMORY.md","projectId":"-mnt-work-dev-cre-sync","chunks":5,"sections":5} +20:14:33 INFO  [watcher] Synced existing Claude memories {"count":24} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/MODEL-ROUTING.md","chunks":5,"sections":5,"filename":"MODEL-ROUTING"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-10-openagents-tracker.md","chunks":8,"sections":8,"filename":"2026-02-10-openagents-tracker"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-10-signet.md","chunks":16,"sections":16,"filename":"2026-02-10-signet"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-20.md","chunks":2,"sections":0,"filename":"2026-01-20"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-17.md","chunks":8,"sections":8,"filename":"2026-02-17"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-10.md","chunks":12,"sections":12,"filename":"2026-02-10"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-16-signet-architecture.md","chunks":6,"sections":6,"filename":"2026-02-16-signet-architecture"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/package-preferences.md","chunks":1,"sections":1,"filename":"package-preferences"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-31.md","chunks":1,"sections":1,"filename":"2026-01-31"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-07.md","chunks":8,"sections":8,"filename":"2026-02-07"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/VOICE-WORKFLOW.md","chunks":6,"sections":6,"filename":"VOICE-WORKFLOW"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-27.md","chunks":4,"sections":4,"filename":"2026-01-27"} +20:14:33 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/TOOLS.md","chunks":7,"sections":7,"filename":"TOOLS"} +20:14:33 INFO  [daemon] Imported existing memory files {"files":18,"chunks":107} +20:15:31 WARN  [hooks] Failed to parse LLM output as JSON +20:16:06 WARN  [hooks] Failed to parse LLM output as JSON +20:16:22 INFO  [daemon] Shutting down +20:16:22 INFO  [document-worker] Worker stopped +20:16:22 INFO  [maintenance] Worker stopped +20:16:22 INFO  [retention] Worker stopped +20:16:22 INFO  [pipeline] Worker stopped +20:16:22 INFO  [pipeline] Pipeline stopped diff --git a/.daemon/logs/signet-2026-02-21.log b/.daemon/logs/signet-2026-02-21.log index da183363a..5634361d8 100644 --- a/.daemon/logs/signet-2026-02-21.log +++ b/.daemon/logs/signet-2026-02-21.log @@ -9931,3 +9931,933 @@ {"timestamp":"2026-02-21T19:52:24.592Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}} {"timestamp":"2026-02-21T19:52:24.595Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":9,"durationMs":3}} {"timestamp":"2026-02-21T19:52:24.596Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-21T19:52:29.657Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T19-52-29_auto_memory/memories.db-wal","filesChanged":1}} +{"timestamp":"2026-02-21T19:52:49.080Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"} +{"timestamp":"2026-02-21T19:52:56.773Z","level":"error","category":"hooks","message":"Session end failed","error":{"name":"Error","message":"Ollama timeout","stack":"Error: Ollama timeout\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:24079:68)"}} +{"timestamp":"2026-02-21T19:55:55.823Z","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-21T19:55:55.823Z","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-21T20:00:55.840Z","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-21T20:00:55.840Z","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-21T20:05:55.847Z","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-21T20:05:55.848Z","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-21T20:10:13.108Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.108Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.108Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.108Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.109Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.109Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:13.109Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.109Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.114Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.115Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.120Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.121Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:13.126Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.126Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.131Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}} +{"timestamp":"2026-02-21T20:10:13.132Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:13.132Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.132Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.137Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.142Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.148Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:13.165Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:13.170Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"3c1d4822-4e7f-477c-94b3-d2e4f07fcdb7","type":"preference","pinned":false}} +{"timestamp":"2026-02-21T20:10:13.175Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"c703c9f4-5a14-4b73-b1b0-0b2c5cd808a5","type":"rule","pinned":true}} +{"timestamp":"2026-02-21T20:10:13.180Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"b7e85961-efaf-47b2-9f94-6a840d6bf2af","type":"fact","pinned":false}} +{"timestamp":"2026-02-21T20:10:13.180Z","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:267:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:831:20)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}} +{"timestamp":"2026-02-21T20:10:13.202Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"7e7b805a-a965-4fe8-a41d-0a04bfd467e8","harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.202Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"7e7b805a-a965-4fe8-a41d-0a04bfd467e8"}} +{"timestamp":"2026-02-21T20:10:13.206Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.212Z","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:267:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:311:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:566:19)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.212Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.256Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.256Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.261Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:13.261Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:13.482Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:13.486Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:13.489Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:13.489Z","actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:13.493Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:13.496Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:13.496Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:13.588Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}} +{"timestamp":"2026-02-21T20:10:13.713Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}} +{"timestamp":"2026-02-21T20:10:13.713Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}} +{"timestamp":"2026-02-21T20:10:13.752Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:13.765Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f108914d-5a2c-45fb-9e6b-bc506bbc6e61","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-21T20:10:14.014Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.018Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:14.028Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"709395ee-25c2-4cec-883f-c8a964be4671","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-21T20:10:14.218Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.221Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:14.233Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"52d32f50-27d9-41fb-836d-60a57f08ef1b","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-21T20:10:14.421Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.425Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:14.625Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.629Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:14.639Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}} +{"timestamp":"2026-02-21T20:10:14.640Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a6cb75f9-cb5b-47e2-b91b-f1ae03c34a36","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-21T20:10:14.829Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.833Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:14.884Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4d8d249c-569c-4d36-aecb-82c11e74df2a","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-21T20:10:14.884Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.887Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:14.887Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:14.891Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:14.903Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f9a2ccf0-9302-4c79-8709-a78e71446695","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-21T20:10:15.142Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:15.146Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:15.156Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6394487e-f934-4602-a2a1-cda92a5ed5ee","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-21T20:10:15.395Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:15.399Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:15.410Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0e1e80a8-6730-41dc-9c56-e60647182589","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-21T20:10:15.422Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"540907ce-cc33-4afc-b64c-7b6058a2e4ff","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-21T20:10:15.749Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:15.753Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:15.764Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"e77308ed-2e04-4d63-91ec-653c8e935d52","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-21T20:10:16.003Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:16.007Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:16.018Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1ebcf33f-44ed-4522-8df7-7f7e5e657a2b","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-21T20:10:16.257Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:16.262Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:16.272Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"67370ada-7027-4055-9661-fe528b34d31b","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-21T20:10:16.562Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:16.566Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:16.576Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9e03e664-6a62-4d7b-8f7b-d4a2992319ba","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-21T20:10:16.866Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:16.870Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:16.881Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"621dba78-3119-4ff5-87d5-9c0c513c5948","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-21T20:10:17.120Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.124Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:17.135Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"d311c3ca-fbe7-4b85-8746-dc7b108dbb64","error":"DB write failed","attempt":1}} +{"timestamp":"2026-02-21T20:10:17.424Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.428Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:17.439Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"ebc0afe5-cbc5-4a12-b904-0d781cb09ad2","error":"transient failure","attempt":1}} +{"timestamp":"2026-02-21T20:10:17.578Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.807Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:17.807Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.811Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:17.811Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.811Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":5,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:17.811Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:17.814Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:17.814Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.814Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:17.814Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:17.817Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"observe","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:17.817Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.818Z","level":"info","category":"maintenance","message":"Recommendations (observe-only)","data":{"composite":"0.92","recommendations":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:17.820Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:10:17.821Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.824Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:17.824Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.824Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:17.824Z","actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:17.824Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.94","postScore":"0.94","improved":false,"executed":["releaseStaleLeases"]}} +{"timestamp":"2026-02-21T20:10:17.827Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:17.827Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.828Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":5,"ftsCount":10,"mismatch":true,"repaired":true,"actor":"maintenance-worker"}} +{"timestamp":"2026-02-21T20:10:17.828Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:17.828Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.81","postScore":"0.81","improved":false,"executed":["checkFtsConsistency","triggerRetentionSweep"]}} +{"timestamp":"2026-02-21T20:10:17.832Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:17.833Z","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-21T20:10:17.833Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.836Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:17.836Z","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-21T20:10:17.836Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.839Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:17.839Z","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-21T20:10:17.839Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.843Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:17.843Z","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-21T20:10:17.843Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.846Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:17.846Z","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-21T20:10:17.846Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:17.849Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:17.850Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.865Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.870Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.871Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.876Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.876Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.881Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.881Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.886Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}} +{"timestamp":"2026-02-21T20:10:24.887Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:24.887Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.887Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.892Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.897Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.902Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.918Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.923Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"3bb1fa49-33e5-4d1b-970c-60ee5a3933ec","type":"preference","pinned":false}} +{"timestamp":"2026-02-21T20:10:24.928Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"dd512f2a-4e9c-4cd3-b3e2-4f5836bac856","type":"rule","pinned":true}} +{"timestamp":"2026-02-21T20:10:24.933Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"bd50f97f-6f98-4624-9ea2-493798062ae9","type":"fact","pinned":false}} +{"timestamp":"2026-02-21T20:10:24.934Z","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:267:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:831:20)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}} +{"timestamp":"2026-02-21T20:10:24.955Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"97308679-edbe-43af-b136-64594ebd1134","harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.955Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"97308679-edbe-43af-b136-64594ebd1134"}} +{"timestamp":"2026-02-21T20:10:24.960Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:24.965Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}} +{"timestamp":"2026-02-21T20:10:24.965Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:24.965Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.965Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.966Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.966Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.966Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.966Z","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:267:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:311:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:566:19)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}} +{"timestamp":"2026-02-21T20:10:24.966Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:24.966Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:24.966Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:25.003Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:25.003Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:25.008Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:25.009Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:25.223Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:25.226Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:25.230Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:25.230Z","actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:25.233Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:25.237Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:25.237Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:25.304Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}} +{"timestamp":"2026-02-21T20:10:25.428Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}} +{"timestamp":"2026-02-21T20:10:25.428Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}} +{"timestamp":"2026-02-21T20:10:25.465Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:25.476Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"16b7e180-71f0-484e-a824-3d6cc6f93ec4","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-21T20:10:25.666Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:25.669Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:25.680Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"046eba8e-c1d1-4cdd-b1f5-0e9eeabc9a03","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-21T20:10:25.870Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:25.873Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:25.884Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"40414b29-9c0a-4d99-8d60-ea435b88002d","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-21T20:10:26.074Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:26.077Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:26.277Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:26.281Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:26.293Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}} +{"timestamp":"2026-02-21T20:10:26.293Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"97c59fb2-f72b-48fa-94be-bd4625c597ad","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-21T20:10:26.484Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:26.488Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:26.540Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3a9a7e94-aea1-42bf-aede-7368935efdcf","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-21T20:10:26.540Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:26.544Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:26.544Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:26.547Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:26.559Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"60016a84-e3ea-4a20-87ea-bb8aa3a0cabf","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-21T20:10:26.798Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:26.802Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:26.813Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"070a134a-39dd-4c8e-a730-86f42ec309c2","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-21T20:10:27.052Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:27.057Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:27.067Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d223be1e-0195-4b81-9231-efc42df1722f","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-21T20:10:27.078Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"8d668720-8934-452c-b112-399909c894a5","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-21T20:10:27.407Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:27.411Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:27.422Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"50a175a3-94bb-482a-a885-edc83bbda266","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-21T20:10:27.662Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:27.666Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:27.676Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5a55e7a7-ad7b-4f04-8c01-e7fa171d3709","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-21T20:10:27.915Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:27.919Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:27.930Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f113b20e-0042-473d-a3a0-e9dc807de6b1","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-21T20:10:28.219Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:28.223Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:28.234Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5db4907d-cc54-486a-8c11-30b1b349a97b","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-21T20:10:28.523Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:28.528Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:28.538Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"3f504f3a-906d-450c-91e5-cdccc5dc5652","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-21T20:10:28.778Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:28.782Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:28.792Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"9b0695b8-0576-40cb-a7d9-492095742fe0","error":"DB write failed","attempt":1}} +{"timestamp":"2026-02-21T20:10:29.083Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.086Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:29.097Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"8d516462-5f50-4a68-90d8-18cf46141e5e","error":"transient failure","attempt":1}} +{"timestamp":"2026-02-21T20:10:29.236Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.461Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:29.461Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.465Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:29.465Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.465Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":5,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:29.465Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:29.468Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:29.468Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.468Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:29.469Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:29.472Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"observe","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:29.472Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.472Z","level":"info","category":"maintenance","message":"Recommendations (observe-only)","data":{"composite":"0.92","recommendations":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:29.475Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:10:29.475Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.478Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:29.478Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.478Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:29.478Z","actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:29.478Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.94","postScore":"0.94","improved":false,"executed":["releaseStaleLeases"]}} +{"timestamp":"2026-02-21T20:10:29.482Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:29.482Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.482Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":5,"ftsCount":10,"mismatch":true,"repaired":true,"actor":"maintenance-worker"}} +{"timestamp":"2026-02-21T20:10:29.482Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:29.482Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.81","postScore":"0.81","improved":false,"executed":["checkFtsConsistency","triggerRetentionSweep"]}} +{"timestamp":"2026-02-21T20:10:29.487Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:29.487Z","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-21T20:10:29.487Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.490Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:29.491Z","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-21T20:10:29.491Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.494Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:29.494Z","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-21T20:10:29.494Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.497Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:29.498Z","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-21T20:10:29.498Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.501Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:29.501Z","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-21T20:10:29.501Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:29.504Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:29.504Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:36.952Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.952Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.952Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.952Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.952Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.953Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:36.953Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.953Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.958Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.958Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.958Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.958Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.958Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.958Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.959Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:36.959Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.959Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.959Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.959Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.959Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.964Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.964Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.969Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.969Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.974Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}} +{"timestamp":"2026-02-21T20:10:36.974Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:36.974Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.974Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.979Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.984Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:36.989Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:37.006Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:37.011Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"08ccd24a-123a-44bd-9698-b92d8fd6d7c9","type":"preference","pinned":false}} +{"timestamp":"2026-02-21T20:10:37.015Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"d375de4c-c928-4a7e-9a82-2589880ca3af","type":"rule","pinned":true}} +{"timestamp":"2026-02-21T20:10:37.021Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"2976f675-30e2-4a18-98c5-102c8e475641","type":"fact","pinned":false}} +{"timestamp":"2026-02-21T20:10:37.021Z","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:267:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:831:20)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}} +{"timestamp":"2026-02-21T20:10:37.042Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"24ba966f-22b2-4444-94c8-ef4f83b1ef73","harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.042Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"24ba966f-22b2-4444-94c8-ef4f83b1ef73"}} +{"timestamp":"2026-02-21T20:10:37.047Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:37.052Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}} +{"timestamp":"2026-02-21T20:10:37.052Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.053Z","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:267:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:311:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:566:19)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.053Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:37.092Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.093Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:37.098Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:37.098Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:37.308Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:37.311Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:37.315Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:37.315Z","actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:37.318Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:37.322Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:37.322Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:37.389Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}} +{"timestamp":"2026-02-21T20:10:37.512Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}} +{"timestamp":"2026-02-21T20:10:37.513Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}} +{"timestamp":"2026-02-21T20:10:37.551Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:37.563Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"a80a8ba0-d367-49ed-b593-c561ef35f28b","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-21T20:10:37.859Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:37.863Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:37.874Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6f76881b-a96e-4908-9193-b4ebdf400e29","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-21T20:10:38.063Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.067Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:38.077Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2fee8cd8-70e7-44ee-91a3-4441e6937d55","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-21T20:10:38.267Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.270Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:38.471Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.475Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:38.484Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}} +{"timestamp":"2026-02-21T20:10:38.484Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d2c47916-9712-4307-b325-54684b8bb7d1","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-21T20:10:38.675Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.679Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:38.730Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"0899de6f-8e05-476e-a1d2-33243c1df931","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-21T20:10:38.730Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.734Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:38.734Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.739Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:38.751Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"233f7349-a417-4b88-8ffa-962cd9708071","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-21T20:10:38.989Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:38.993Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:39.003Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"d81a16bc-4753-48f3-9758-a84feecad6f4","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-21T20:10:39.242Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:39.246Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:39.257Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9c965ccb-dce3-4c0a-aa67-2920d71d667f","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-21T20:10:39.269Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"380d405c-caab-4d34-8a96-93a0dbf6d046","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-21T20:10:39.596Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:39.600Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:39.611Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"077aae9d-eb61-49cb-a9ca-a407b0d0cd74","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-21T20:10:39.850Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:39.855Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:39.865Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c9d98e24-0fb8-4155-8376-adc2989a512e","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-21T20:10:40.104Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:40.108Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:40.119Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"2d56e37a-65ab-4754-b82f-a652f7707f8b","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-21T20:10:40.408Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:40.413Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:40.423Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4eac35b6-2557-462a-8d15-541ab2a2659e","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-21T20:10:40.712Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:40.716Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:40.726Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"081344de-545d-4765-b73f-3e0dad4b2fcb","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-21T20:10:40.967Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:40.971Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:40.981Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"ce14f587-b31d-4319-9aa0-2d27194c67de","error":"DB write failed","attempt":1}} +{"timestamp":"2026-02-21T20:10:41.271Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.275Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:41.285Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"08c7b954-d4c1-4f40-bdc8-b12957438d27","error":"transient failure","attempt":1}} +{"timestamp":"2026-02-21T20:10:41.426Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.660Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:41.660Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.664Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:41.664Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.664Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":5,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:41.664Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:41.667Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:41.667Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.667Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:41.667Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:41.671Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"observe","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:41.671Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.671Z","level":"info","category":"maintenance","message":"Recommendations (observe-only)","data":{"composite":"0.92","recommendations":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:41.674Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:10:41.674Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.677Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:41.677Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.677Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:41.677Z","actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:41.677Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.94","postScore":"0.94","improved":false,"executed":["releaseStaleLeases"]}} +{"timestamp":"2026-02-21T20:10:41.680Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:41.680Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.681Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":5,"ftsCount":10,"mismatch":true,"repaired":true,"actor":"maintenance-worker"}} +{"timestamp":"2026-02-21T20:10:41.681Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:41.681Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.81","postScore":"0.81","improved":false,"executed":["checkFtsConsistency","triggerRetentionSweep"]}} +{"timestamp":"2026-02-21T20:10:41.685Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:41.686Z","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-21T20:10:41.686Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.689Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:41.689Z","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-21T20:10:41.689Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.692Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:41.693Z","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-21T20:10:41.693Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.696Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:41.696Z","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-21T20:10:41.696Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.700Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:41.700Z","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-21T20:10:41.700Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:41.704Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:41.704Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:48.167Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.168Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.174Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.174Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.174Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.174Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.174Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.174Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.175Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:10:48.175Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.175Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.175Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.175Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.175Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.180Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.180Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.188Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.189Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:48.195Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}} +{"timestamp":"2026-02-21T20:10:48.195Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:48.195Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.195Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.200Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.205Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.211Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.228Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:48.233Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"465345a7-2d69-4c55-ae5d-7c6858742c08","type":"preference","pinned":false}} +{"timestamp":"2026-02-21T20:10:48.238Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"0377d795-9ef8-47f2-8617-302a1e10aa88","type":"rule","pinned":true}} +{"timestamp":"2026-02-21T20:10:48.243Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"66b8f18e-23f5-461f-adfc-1c12c701cc40","type":"fact","pinned":false}} +{"timestamp":"2026-02-21T20:10:48.244Z","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:267:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:831:20)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}} +{"timestamp":"2026-02-21T20:10:48.265Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"50a46a69-9f42-46d9-a90c-dd3ca97de16d","harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.265Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"50a46a69-9f42-46d9-a90c-dd3ca97de16d"}} +{"timestamp":"2026-02-21T20:10:48.270Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:48.275Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.276Z","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:267:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:311:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:566:19)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.276Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.326Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.327Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":1}} +{"timestamp":"2026-02-21T20:10:48.332Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:10:48.332Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:10:48.547Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:48.551Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:48.554Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:48.554Z","actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:48.558Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:48.561Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:10:48.561Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:10:48.630Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}} +{"timestamp":"2026-02-21T20:10:48.754Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}} +{"timestamp":"2026-02-21T20:10:48.755Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}} +{"timestamp":"2026-02-21T20:10:48.791Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:48.804Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"570b3be8-7e2c-4977-aa18-99f8edacfbf6","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-21T20:10:48.992Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:48.996Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:49.007Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5f65f11e-9a71-4053-92f7-9feb22055c63","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-21T20:10:49.195Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:49.199Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:49.211Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7cd9cb5a-f097-433e-b505-c066ba2af720","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-21T20:10:49.399Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:49.403Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:49.604Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:49.608Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:49.619Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}} +{"timestamp":"2026-02-21T20:10:49.619Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bdb806e2-e087-462e-a197-f0f64f7dcdde","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-21T20:10:49.807Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:49.811Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:49.862Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"4d140a95-143b-4a5d-98c7-69ad9cc08622","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-21T20:10:49.862Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:49.866Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:49.866Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:49.869Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:49.881Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"084fb040-41f4-458a-afc9-b577ef341eb8","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-21T20:10:50.119Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:50.125Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:50.136Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bcd6bb73-ead9-4e94-b871-47e91e98a2ea","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-21T20:10:50.375Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:50.379Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:50.390Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"f3eb76ab-eb6d-4d6a-a75c-1e9094cbe3ef","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-21T20:10:50.401Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c5fb41c7-4317-4c2d-8d3b-161659689ed0","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-21T20:10:50.730Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:50.734Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:50.744Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6a2a18ee-7c27-47d0-8c2e-e362713c3fce","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-21T20:10:50.984Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:50.988Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:50.998Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"911fea78-b584-419f-a75d-d0d5fea79d49","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-21T20:10:51.238Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:51.242Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:51.253Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7ab70d7d-e8da-4f72-98c9-bd665fd92ce6","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-21T20:10:51.543Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:51.547Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:10:51.557Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b8bffb6f-c345-4c61-827e-4f31695c2bd3","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-21T20:10:51.846Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:51.850Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:51.861Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"5a57bd2f-3a8c-4e83-b2e2-4dc7ed4d8fbe","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-21T20:10:52.101Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.105Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:52.115Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"8dda384b-dc7a-4750-885a-1a57dd6a90e5","error":"DB write failed","attempt":1}} +{"timestamp":"2026-02-21T20:10:52.405Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.409Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:10:52.419Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"66efc2a4-19b9-479c-a505-629b924b1ed3","error":"transient failure","attempt":1}} +{"timestamp":"2026-02-21T20:10:52.559Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.782Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:52.783Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.786Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:52.786Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.786Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":5,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:52.786Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:52.789Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:52.789Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.790Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:52.790Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:52.793Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"observe","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:52.793Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.793Z","level":"info","category":"maintenance","message":"Recommendations (observe-only)","data":{"composite":"0.92","recommendations":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:10:52.796Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:10:52.796Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.799Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:52.799Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.799Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:05:52.799Z","actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:52.799Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.94","postScore":"0.94","improved":false,"executed":["releaseStaleLeases"]}} +{"timestamp":"2026-02-21T20:10:52.802Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:10:52.802Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.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-21T20:10:52.803Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:10:52.803Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.81","postScore":"0.81","improved":false,"executed":["checkFtsConsistency","triggerRetentionSweep"]}} +{"timestamp":"2026-02-21T20:10:52.807Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:52.808Z","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-21T20:10:52.808Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.811Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:52.811Z","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-21T20:10:52.811Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.814Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:52.814Z","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-21T20:10:52.814Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.817Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:52.818Z","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-21T20:10:52.818Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.821Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:52.821Z","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-21T20:10:52.821Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:52.824Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:10:52.824Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:10:55.847Z","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-21T20:10:55.847Z","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-21T20:11:35.084Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":1}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.085Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.090Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.090Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code"}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.091Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.096Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.096Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.101Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.101Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.106Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test","project":"/home/user/myproject"}} +{"timestamp":"2026-02-21T20:11:35.106Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.106Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.107Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.111Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.116Z","level":"info","category":"hooks","message":"Pre-compaction hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.122Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":1,"durationMs":1}} +{"timestamp":"2026-02-21T20:11:35.138Z","level":"info","category":"hooks","message":"User prompt submit","data":{"memoryCount":4,"durationMs":1}} +{"timestamp":"2026-02-21T20:11:35.143Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"fae0d3dc-3a8d-4257-8d10-9a0111cd6e0a","type":"preference","pinned":false}} +{"timestamp":"2026-02-21T20:11:35.148Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"e1ea4a24-5c55-4b28-aada-09968d361b3e","type":"rule","pinned":true}} +{"timestamp":"2026-02-21T20:11:35.153Z","level":"info","category":"hooks","message":"Memory saved","data":{"id":"3c58593c-ee70-4ef2-924f-112ecded293e","type":"fact","pinned":false}} +{"timestamp":"2026-02-21T20:11:35.153Z","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:267:13)\n at handleRemember (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:831:20)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:733:18)"}} +{"timestamp":"2026-02-21T20:11:35.174Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"12f3152b-954b-4c10-9e13-f0247e090faf","harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.174Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"12f3152b-954b-4c10-9e13-f0247e090faf"}} +{"timestamp":"2026-02-21T20:11:35.179Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:11:35.184Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"scheduled"}} +{"timestamp":"2026-02-21T20:11:35.184Z","level":"info","category":"hooks","message":"Synthesis request","data":{"trigger":"manual"}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.185Z","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:267:13)\n at getProjectMemories (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:311:16)\n at handleSessionStart (/home/nicholai/signet/signetai/packages/daemon/src/hooks.ts:566:19)\n at (/home/nicholai/signet/signetai/packages/daemon/test/hooks.test.ts:982:18)"}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.185Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":0,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.220Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.220Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":1,"durationMs":0}} +{"timestamp":"2026-02-21T20:11:35.225Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"test"}} +{"timestamp":"2026-02-21T20:11:35.226Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":2,"durationMs":1}} +{"timestamp":"2026-02-21T20:11:35.436Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:11:35.439Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":3,"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:11:35.442Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:06:35.442Z","actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:11:35.446Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:11:35.449Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":1,"ftsCount":1,"mismatch":false,"repaired":false,"actor":"test-operator"}} +{"timestamp":"2026-02-21T20:11:35.449Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"test-operator","reason":"test run"}} +{"timestamp":"2026-02-21T20:11:35.516Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}} +{"timestamp":"2026-02-21T20:11:35.629Z","level":"warn","category":"pipeline","message":"Failed to parse extraction JSON","data":{"preview":"this is not valid json at all"}} +{"timestamp":"2026-02-21T20:11:35.629Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"connection refused"}} +{"timestamp":"2026-02-21T20:11:35.664Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:35.676Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"66424699-f6fc-4093-84b5-2d29495549c4","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-21T20:11:35.865Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:35.869Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:35.881Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"7d60289f-4da7-4abe-b42e-0ccfc7dd3038","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-21T20:11:36.069Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:36.074Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:36.084Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b8641bae-a65e-4bbf-99f8-2e9000e724e5","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-21T20:11:36.273Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:36.277Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:36.477Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:36.482Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:36.492Z","level":"warn","category":"pipeline","message":"Extraction LLM call failed","data":{"error":"LLM unavailable"}} +{"timestamp":"2026-02-21T20:11:36.492Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"65dd6d4e-d591-49e6-b6a9-8328a9119b6c","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-21T20:11:36.683Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:36.687Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:36.738Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6b0e51fe-8704-4711-8ab9-0c3ecca0c4cc","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-21T20:11:36.738Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:36.742Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:36.742Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:36.745Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:36.757Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"9e4d590b-3e70-471d-a364-66285d453dc6","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-21T20:11:36.996Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:37.000Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:37.011Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"711cbc59-b575-4327-9bc1-2d37b9c2fc48","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-21T20:11:37.250Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:37.254Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:37.264Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"b9634505-3d89-47a5-937e-0cf3a4637c60","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-21T20:11:37.275Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"1cb1a79f-c24f-4fa6-80ff-8dd90c88ed29","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-21T20:11:37.604Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:37.608Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:37.619Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"80ae7546-da73-42c6-8a83-73ef95d97d6b","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-21T20:11:37.859Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:37.863Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:37.873Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"cfb33ebd-fc72-4a52-8ee8-1e692d021bd5","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-21T20:11:38.114Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:38.118Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:38.129Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"aa43584e-fea4-470c-bb71-c589c407a3fa","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-21T20:11:38.417Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:38.421Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:11:38.431Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"bf0f54de-93f9-4283-a1a6-f08932e744ee","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-21T20:11:38.721Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:38.726Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:38.736Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"6d2c90dc-66dc-488a-9318-ed8296a34845","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-21T20:11:38.975Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:38.980Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":1,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:38.990Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"42b30d4b-7e9e-4e10-830d-0d1200386e5d","error":"DB write failed","attempt":1}} +{"timestamp":"2026-02-21T20:11:39.280Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.284Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":10,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T20:11:39.295Z","level":"warn","category":"pipeline","message":"Job failed","data":{"jobId":"a3477e01-8c7d-4cda-a737-9866ea8383ad","error":"transient failure","attempt":1}} +{"timestamp":"2026-02-21T20:11:39.434Z","level":"info","category":"pipeline","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.669Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:11:39.669Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.673Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:11:39.673Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.673Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":5,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:11:39.673Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:11:39.677Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:11:39.677Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.677Z","level":"info","category":"pipeline","message":"repair: requeued dead jobs","data":{"affected":2,"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:11:39.677Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.92","postScore":"1.00","improved":true,"executed":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:11:39.681Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"observe","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:11:39.681Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.681Z","level":"info","category":"maintenance","message":"Recommendations (observe-only)","data":{"composite":"0.92","recommendations":["requeueDeadJobs"]}} +{"timestamp":"2026-02-21T20:11:39.684Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:11:39.684Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.687Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:11:39.687Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.687Z","level":"info","category":"pipeline","message":"repair: released stale leases","data":{"affected":1,"cutoff":"2026-02-21T20:06:39.687Z","actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:11:39.687Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.94","postScore":"0.94","improved":false,"executed":["releaseStaleLeases"]}} +{"timestamp":"2026-02-21T20:11:39.691Z","level":"info","category":"maintenance","message":"Worker started","data":{"mode":"execute","intervalMs":1800000}} +{"timestamp":"2026-02-21T20:11:39.691Z","level":"info","category":"maintenance","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.691Z","level":"info","category":"pipeline","message":"repair: FTS consistency check","data":{"memCount":5,"ftsCount":10,"mismatch":true,"repaired":true,"actor":"maintenance-worker"}} +{"timestamp":"2026-02-21T20:11:39.691Z","level":"info","category":"pipeline","message":"repair: retention sweep triggered","data":{"actor":"maintenance-worker","reason":"autonomous maintenance"}} +{"timestamp":"2026-02-21T20:11:39.691Z","level":"info","category":"maintenance","message":"Cycle complete","data":{"priorScore":"0.81","postScore":"0.81","improved":false,"executed":["checkFtsConsistency","triggerRetentionSweep"]}} +{"timestamp":"2026-02-21T20:11:39.697Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:11:39.698Z","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-21T20:11:39.698Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.701Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:11:39.702Z","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-21T20:11:39.702Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.705Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:11:39.705Z","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-21T20:11:39.705Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.709Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:11:39.709Z","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-21T20:11:39.709Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.712Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:11:39.713Z","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-21T20:11:39.713Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:11:39.716Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":999999,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:11:39.716Z","level":"info","category":"retention","message":"Worker stopped"} +{"timestamp":"2026-02-21T20:14:33.165Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/node_modules/signetai/dashboard"}} +{"timestamp":"2026-02-21T20:14:33.165Z","level":"info","category":"daemon","message":"Signet Daemon starting"} +{"timestamp":"2026-02-21T20:14:33.165Z","level":"info","category":"daemon","message":"Agents directory","data":{"path":"/home/nicholai/.agents"}} +{"timestamp":"2026-02-21T20:14:33.165Z","level":"info","category":"daemon","message":"Port configured","data":{"port":3850}} +{"timestamp":"2026-02-21T20:14:33.167Z","level":"info","category":"daemon","message":"Process ID","data":{"pid":3429453}} +{"timestamp":"2026-02-21T20:14:33.168Z","level":"info","category":"watcher","message":"File watcher started"} +{"timestamp":"2026-02-21T20:14:33.168Z","level":"info","category":"auth","message":"Running in local mode (no auth)"} +{"timestamp":"2026-02-21T20:14:33.168Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":2000,"maxRetries":3,"model":"haiku","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:14:33.168Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":21600000,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:14:33.169Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:14:33.169Z","level":"info","category":"document-worker","message":"Worker started","data":{"intervalMs":10000,"chunkSize":2000}} +{"timestamp":"2026-02-21T20:14:33.169Z","level":"info","category":"pipeline","message":"Pipeline started","data":{"mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:14:33.169Z","level":"info","category":"git","message":"Auto-sync enabled: every 300s"} +{"timestamp":"2026-02-21T20:14:33.279Z","level":"info","category":"daemon","message":"Server listening","data":{"address":"::1","port":3850}} +{"timestamp":"2026-02-21T20:14:33.279Z","level":"info","category":"daemon","message":"Daemon ready"} +{"timestamp":"2026-02-21T20:14:33.296Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"compass project\n===\n\narchitecture\n---\n\n- compass r","section":"(no section)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.296Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass","chunks":1,"sections":1}} +{"timestamp":"2026-02-21T20:14:33.300Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Depth Anything v3 Nuke Plugin\n\n- repo: /mnt/wor","section":"depth anything v3 nuke plugin","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.301Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-26.md","chunks":2,"sections":2,"filename":"2026-01-26"}} +{"timestamp":"2026-02-21T20:14:33.301Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Nuke .cat File Format (critical)\n\n- .cat files ","section":"nuke .cat file format (critical)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.303Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## TorchScript Lessons (hard-won)\n\n- nn.ModuleList","section":"torchscript lessons (hard-won)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.304Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-24.md","chunks":2,"sections":2,"filename":"2026-01-24"}} +{"timestamp":"2026-02-21T20:14:33.305Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Model Performance Notes\n\n- kimi-k2.5: 2/10 on n","section":"model performance notes","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.306Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Skill\n\n- materia-nuke-node skill at ~/.agents/s","section":"skill","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.306Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-materia/memory/MEMORY.md","projectId":"-mnt-work-dev-materia","chunks":5,"sections":5}} +{"timestamp":"2026-02-21T20:14:33.308Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"compass schedule project\n===\n\nkey patterns\n---\n\n- ","section":"(no section)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.308Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass-schedule/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass-schedule","chunks":1,"sections":1}} +{"timestamp":"2026-02-21T20:14:33.310Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"quickshell port\n===\n\nthe caelestia -> quickshell p","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:14:33.311Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"status (2026-02-08)\n---\n- deployed and running wit","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:14:33.311Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-home-nicholai/memory/MEMORY.md","projectId":"-home-nicholai","chunks":2,"sections":0}} +{"timestamp":"2026-02-21T20:14:33.313Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## DB Access Pattern (PR #58 fix)\n\n- `src/lib/db-u","section":"db access pattern (pr #58 fix)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.314Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Env Access Pattern\n\n- cloudflare workers: env v","section":"env access pattern","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.317Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Lessons Learned\n\n- when removing multiline bloc","section":"lessons learned","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.317Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass-custom-dashboards/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass-custom-dashboards","chunks":3,"sections":3}} +{"timestamp":"2026-02-21T20:14:33.318Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Veo 3.1 First-Last Frame Pipeline\n\n- When gener","section":"veo 3.1 first-last frame pipeline","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.319Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"### Nano Banana Pro (Input-Only Moderation)\n\n- Che","section":"nano banana pro (input-only moderation)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.321Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"### Veo 3.1 (Input AND Output Moderation)\n\n- Moder","section":"veo 3.1 (input and output moderation)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.322Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## API Format Notes (Gemini API, not Vertex AI)\n\n-","section":"api format notes (gemini api, not vertex ai)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.323Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Project Location\n\n- Working dir: `/mnt/work/dev","section":"project location","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.323Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-ai-studio-videos/memory/MEMORY.md","projectId":"-mnt-work-dev-ai-studio-videos","chunks":5,"sections":5}} +{"timestamp":"2026-02-21T20:14:33.324Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-15-pre-compaction-flush.md","chunks":13,"sections":13,"filename":"2026-02-15-pre-compaction-flush"}} +{"timestamp":"2026-02-21T20:14:33.326Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"compass project memory\n===\n\nMCP tool architecture ","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:14:33.327Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"netsuite gotchas:\n- 401 can mean timeout, not auth","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:14:33.327Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass","chunks":2,"sections":0}} +{"timestamp":"2026-02-21T20:14:33.328Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Tailwind v4 + styled-jsx Gotcha\n\n`hidden lg:fle","section":"tailwind v4 + styled-jsx gotcha","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.329Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Turbopack Build Bug\n\n`npx next build` crashes w","section":"turbopack build bug","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.330Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-09.md","chunks":4,"sections":4,"filename":"2026-02-09"}} +{"timestamp":"2026-02-21T20:14:33.330Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Theme: Modern Minimal (oklch)\n\n- Background: pu","section":"theme: modern minimal (oklch)","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.333Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Design Direction\n\n- Compact, minimal UI inspire","section":"design direction","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.333Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-14.md","chunks":2,"sections":2,"filename":"2026-02-14"}} +{"timestamp":"2026-02-21T20:14:33.334Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Key Paths\n\n- Theme vars: `app/globals.css`\n- Ap","section":"key paths","level":"section"}} +{"timestamp":"2026-02-21T20:14:33.334Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-cre-sync/memory/MEMORY.md","projectId":"-mnt-work-dev-cre-sync","chunks":5,"sections":5}} +{"timestamp":"2026-02-21T20:14:33.334Z","level":"info","category":"watcher","message":"Synced existing Claude memories","data":{"count":24}} +{"timestamp":"2026-02-21T20:14:33.337Z","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-21T20:14:33.341Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-10-openagents-tracker.md","chunks":8,"sections":8,"filename":"2026-02-10-openagents-tracker"}} +{"timestamp":"2026-02-21T20:14:33.350Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-10-signet.md","chunks":16,"sections":16,"filename":"2026-02-10-signet"}} +{"timestamp":"2026-02-21T20:14:33.352Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-20.md","chunks":2,"sections":0,"filename":"2026-01-20"}} +{"timestamp":"2026-02-21T20:14:33.356Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-17.md","chunks":8,"sections":8,"filename":"2026-02-17"}} +{"timestamp":"2026-02-21T20:14:33.363Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-10.md","chunks":12,"sections":12,"filename":"2026-02-10"}} +{"timestamp":"2026-02-21T20:14:33.370Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-16-signet-architecture.md","chunks":6,"sections":6,"filename":"2026-02-16-signet-architecture"}} +{"timestamp":"2026-02-21T20:14:33.371Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/package-preferences.md","chunks":1,"sections":1,"filename":"package-preferences"}} +{"timestamp":"2026-02-21T20:14:33.371Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-31.md","chunks":1,"sections":1,"filename":"2026-01-31"}} +{"timestamp":"2026-02-21T20:14:33.375Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-07.md","chunks":8,"sections":8,"filename":"2026-02-07"}} +{"timestamp":"2026-02-21T20:14:33.378Z","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-21T20:14:33.380Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-27.md","chunks":4,"sections":4,"filename":"2026-01-27"}} +{"timestamp":"2026-02-21T20:14:33.385Z","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-21T20:14:33.385Z","level":"info","category":"daemon","message":"Imported existing memory files","data":{"files":18,"chunks":107}} +{"timestamp":"2026-02-21T20:15:31.168Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"} +{"timestamp":"2026-02-21T20:16:06.432Z","level":"warn","category":"hooks","message":"Failed to parse LLM output as JSON"} +{"timestamp":"2026-02-21T20:16:23.885Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/signet/signetai/packages/cli/dashboard/build"}} +{"timestamp":"2026-02-21T20:16:23.885Z","level":"info","category":"daemon","message":"Signet Daemon starting"} +{"timestamp":"2026-02-21T20:16:23.885Z","level":"info","category":"daemon","message":"Agents directory","data":{"path":"/home/nicholai/.agents"}} +{"timestamp":"2026-02-21T20:16:23.885Z","level":"info","category":"daemon","message":"Port configured","data":{"port":3850}} +{"timestamp":"2026-02-21T20:16:23.893Z","level":"info","category":"daemon","message":"Process ID","data":{"pid":3433069}} +{"timestamp":"2026-02-21T20:16:23.894Z","level":"info","category":"watcher","message":"File watcher started"} +{"timestamp":"2026-02-21T20:16:23.894Z","level":"info","category":"auth","message":"Running in local mode (no auth)"} +{"timestamp":"2026-02-21T20:16:23.895Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":2000,"maxRetries":3,"model":"haiku","mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:16:23.895Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":21600000,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T20:16:23.895Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T20:16:23.895Z","level":"info","category":"document-worker","message":"Worker started","data":{"intervalMs":10000,"chunkSize":2000}} +{"timestamp":"2026-02-21T20:16:23.895Z","level":"info","category":"pipeline","message":"Pipeline started","data":{"mode":"controlled-write"}} +{"timestamp":"2026-02-21T20:16:23.895Z","level":"info","category":"git","message":"Auto-sync enabled: every 300s"} +{"timestamp":"2026-02-21T20:16:23.981Z","level":"info","category":"daemon","message":"Server listening","data":{"address":"::1","port":3850}} +{"timestamp":"2026-02-21T20:16:23.981Z","level":"info","category":"daemon","message":"Daemon ready"} +{"timestamp":"2026-02-21T20:16:23.998Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"compass project\n===\n\narchitecture\n---\n\n- compass r","section":"(no section)","level":"section"}} +{"timestamp":"2026-02-21T20:16:23.998Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass","chunks":1,"sections":1}} +{"timestamp":"2026-02-21T20:16:24.002Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Depth Anything v3 Nuke Plugin\n\n- repo: /mnt/wor","section":"depth anything v3 nuke plugin","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.003Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-26.md","chunks":2,"sections":2,"filename":"2026-01-26"}} +{"timestamp":"2026-02-21T20:16:24.003Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Nuke .cat File Format (critical)\n\n- .cat files ","section":"nuke .cat file format (critical)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.005Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## TorchScript Lessons (hard-won)\n\n- nn.ModuleList","section":"torchscript lessons (hard-won)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.006Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-24.md","chunks":2,"sections":2,"filename":"2026-01-24"}} +{"timestamp":"2026-02-21T20:16:24.007Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Model Performance Notes\n\n- kimi-k2.5: 2/10 on n","section":"model performance notes","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.008Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Skill\n\n- materia-nuke-node skill at ~/.agents/s","section":"skill","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.008Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-materia/memory/MEMORY.md","projectId":"-mnt-work-dev-materia","chunks":5,"sections":5}} +{"timestamp":"2026-02-21T20:16:24.010Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"compass schedule project\n===\n\nkey patterns\n---\n\n- ","section":"(no section)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.010Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass-schedule/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass-schedule","chunks":1,"sections":1}} +{"timestamp":"2026-02-21T20:16:24.012Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"quickshell port\n===\n\nthe caelestia -> quickshell p","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:16:24.013Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"status (2026-02-08)\n---\n- deployed and running wit","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:16:24.013Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-home-nicholai/memory/MEMORY.md","projectId":"-home-nicholai","chunks":2,"sections":0}} +{"timestamp":"2026-02-21T20:16:24.014Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## DB Access Pattern (PR #58 fix)\n\n- `src/lib/db-u","section":"db access pattern (pr #58 fix)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.016Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Env Access Pattern\n\n- cloudflare workers: env v","section":"env access pattern","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.018Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Lessons Learned\n\n- when removing multiline bloc","section":"lessons learned","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.018Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass-custom-dashboards/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass-custom-dashboards","chunks":3,"sections":3}} +{"timestamp":"2026-02-21T20:16:24.019Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Veo 3.1 First-Last Frame Pipeline\n\n- When gener","section":"veo 3.1 first-last frame pipeline","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.021Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"### Nano Banana Pro (Input-Only Moderation)\n\n- Che","section":"nano banana pro (input-only moderation)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.022Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"### Veo 3.1 (Input AND Output Moderation)\n\n- Moder","section":"veo 3.1 (input and output moderation)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.023Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## API Format Notes (Gemini API, not Vertex AI)\n\n-","section":"api format notes (gemini api, not vertex ai)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.025Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Project Location\n\n- Working dir: `/mnt/work/dev","section":"project location","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.025Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-ai-studio-videos/memory/MEMORY.md","projectId":"-mnt-work-dev-ai-studio-videos","chunks":5,"sections":5}} +{"timestamp":"2026-02-21T20:16:24.026Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-15-pre-compaction-flush.md","chunks":13,"sections":13,"filename":"2026-02-15-pre-compaction-flush"}} +{"timestamp":"2026-02-21T20:16:24.027Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"compass project memory\n===\n\nMCP tool architecture ","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:16:24.028Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"netsuite gotchas:\n- 401 can mean timeout, not auth","section":"(no section)","level":"paragraph"}} +{"timestamp":"2026-02-21T20:16:24.028Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-client-work-martine-vogel-compass-compass/memory/MEMORY.md","projectId":"-mnt-work-dev-client-work-martine-vogel-compass-compass","chunks":2,"sections":0}} +{"timestamp":"2026-02-21T20:16:24.029Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Tailwind v4 + styled-jsx Gotcha\n\n`hidden lg:fle","section":"tailwind v4 + styled-jsx gotcha","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.031Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Turbopack Build Bug\n\n`npx next build` crashes w","section":"turbopack build bug","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.031Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-09.md","chunks":4,"sections":4,"filename":"2026-02-09"}} +{"timestamp":"2026-02-21T20:16:24.032Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Theme: Modern Minimal (oklch)\n\n- Background: pu","section":"theme: modern minimal (oklch)","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.034Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Design Direction\n\n- Compact, minimal UI inspire","section":"design direction","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.034Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-14.md","chunks":2,"sections":2,"filename":"2026-02-14"}} +{"timestamp":"2026-02-21T20:16:24.035Z","level":"info","category":"watcher","message":"Synced Claude memory chunk","data":{"content":"## Key Paths\n\n- Theme vars: `app/globals.css`\n- Ap","section":"key paths","level":"section"}} +{"timestamp":"2026-02-21T20:16:24.035Z","level":"info","category":"watcher","message":"Synced Claude memory file","data":{"path":"/home/nicholai/.claude/projects/-mnt-work-dev-cre-sync/memory/MEMORY.md","projectId":"-mnt-work-dev-cre-sync","chunks":5,"sections":5}} +{"timestamp":"2026-02-21T20:16:24.035Z","level":"info","category":"watcher","message":"Synced existing Claude memories","data":{"count":24}} +{"timestamp":"2026-02-21T20:16:24.038Z","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-21T20:16:24.043Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-10-openagents-tracker.md","chunks":8,"sections":8,"filename":"2026-02-10-openagents-tracker"}} +{"timestamp":"2026-02-21T20:16:24.053Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-10-signet.md","chunks":16,"sections":16,"filename":"2026-02-10-signet"}} +{"timestamp":"2026-02-21T20:16:24.054Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-20.md","chunks":2,"sections":0,"filename":"2026-01-20"}} +{"timestamp":"2026-02-21T20:16:24.059Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-17.md","chunks":8,"sections":8,"filename":"2026-02-17"}} +{"timestamp":"2026-02-21T20:16:24.065Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-10.md","chunks":12,"sections":12,"filename":"2026-02-10"}} +{"timestamp":"2026-02-21T20:16:24.069Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-16-signet-architecture.md","chunks":6,"sections":6,"filename":"2026-02-16-signet-architecture"}} +{"timestamp":"2026-02-21T20:16:24.070Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/package-preferences.md","chunks":1,"sections":1,"filename":"package-preferences"}} +{"timestamp":"2026-02-21T20:16:24.071Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-31.md","chunks":1,"sections":1,"filename":"2026-01-31"}} +{"timestamp":"2026-02-21T20:16:24.074Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-02-07.md","chunks":8,"sections":8,"filename":"2026-02-07"}} +{"timestamp":"2026-02-21T20:16:24.077Z","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-21T20:16:24.080Z","level":"info","category":"watcher","message":"Ingested memory file","data":{"path":"/home/nicholai/.agents/memory/2026-01-27.md","chunks":4,"sections":4,"filename":"2026-01-27"}} +{"timestamp":"2026-02-21T20:16:24.084Z","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-21T20:16:24.084Z","level":"info","category":"daemon","message":"Imported existing memory files","data":{"files":18,"chunks":107}} +{"timestamp":"2026-02-21T20:16:33.741Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"7660eab9-5cd6-4ff8-9823-7d9708ed6d64","harness":"claude-code"}} +{"timestamp":"2026-02-21T20:16:33.741Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"7660eab9-5cd6-4ff8-9823-7d9708ed6d64"}} +{"timestamp":"2026-02-21T20:16:33.742Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-21T20:16:33.894Z","level":"info","category":"summary-worker","message":"Processing session summary","data":{"jobId":"7660eab9-5cd6-4ff8-9823-7d9708ed6d64","harness":"claude-code","attempt":1}} +{"timestamp":"2026-02-21T20:16:33.896Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-21T20:16:37.584Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/packages/daemon"}} +{"timestamp":"2026-02-21T20:16:37.585Z","level":"info","category":"hooks","message":"Session start completed","data":{"memoryCount":9,"durationMs":1}} +{"timestamp":"2026-02-21T20:16:37.586Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} diff --git a/.daemon/pid b/.daemon/pid index 6ed0453d8..d4495cf38 100644 --- a/.daemon/pid +++ b/.daemon/pid @@ -1 +1 @@ -3396265 \ No newline at end of file +3433069 \ No newline at end of file diff --git a/memory/memories.db b/memory/memories.db index b91bf2355..73bab325a 100644 Binary files a/memory/memories.db and b/memory/memories.db differ diff --git a/memory/memories.db-shm b/memory/memories.db-shm index 04da6a95f..66afa9cf2 100644 Binary files a/memory/memories.db-shm and b/memory/memories.db-shm differ diff --git a/memory/memories.db-wal b/memory/memories.db-wal index e03e0b848..56c6f3de3 100644 Binary files a/memory/memories.db-wal and b/memory/memories.db-wal differ