From 8b1decea6a8ffc0f4f1083772030398a41a1ba84 Mon Sep 17 00:00:00 2001 From: Nicholai Date: Sat, 21 Feb 2026 09:24:28 -0700 Subject: [PATCH] 2026-02-21T16-24-28_auto_memory/memories.db-wal, memory/memories.db-wal, me --- .daemon/logs/daemon.out.log | 73 +++++++++++++++++++++++++++++ .daemon/logs/signet-2026-02-21.log | 72 ++++++++++++++++++++++++++++ .daemon/pid | 2 +- config.yaml | 4 -- memory/memories.db-shm | Bin 32768 -> 32768 bytes memory/memories.db-wal | Bin 1161872 -> 1363752 bytes 6 files changed, 146 insertions(+), 5 deletions(-) diff --git a/.daemon/logs/daemon.out.log b/.daemon/logs/daemon.out.log index c22fa01f8..a834d450f 100644 --- a/.daemon/logs/daemon.out.log +++ b/.daemon/logs/daemon.out.log @@ -10328,3 +10328,76 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details. 16:22:40 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/TOOLS.md","chunks":7,"sections":7,"filename":"TOOLS"} 16:22:40 INFO  [daemon] Imported existing memory files {"files":18,"chunks":107} 16:24:00 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/agent.yaml"} +16:24:05 INFO  [git] Auto-committed {"message":"2026-02-21T16-24-05_auto_agent.yaml","filesChanged":1} +16:24:11 INFO  [daemon] Shutting down +16:24:11 INFO  [daemon] Serving dashboard {"path":"/home/nicholai/node_modules/signetai/dashboard"} +16:24:11 INFO  [daemon] Signet Daemon starting +16:24:11 INFO  [daemon] Agents directory {"path":"/home/nicholai/.agents"} +16:24:11 INFO  [daemon] Port configured {"port":3850} +16:24:11 INFO  [daemon] Process ID {"pid":3123194} +16:24:11 INFO  [watcher] File watcher started +16:24:11 INFO  [auth] Running in local mode (no auth) +16:24:11 INFO  [pipeline] Worker started {"pollMs":2000,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"} +16:24:11 INFO  [retention] Worker started {"intervalMs":21600000,"tombstoneDays":30,"historyDays":180} +16:24:11 INFO  [maintenance] Worker skipped (disabled or frozen) +16:24:11 INFO  [document-worker] Worker started {"intervalMs":10000,"chunkSize":2000} +16:24:11 INFO  [pipeline] Pipeline started {"mode":"shadow"} +16:24:11 INFO  [git] Auto-sync enabled: every 300s +16:24:12 INFO  [daemon] Server listening {"address":"::1","port":3850} +16:24:12 INFO  [daemon] Daemon ready +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"compass project\n===\n\narchitecture\n---\n\n- compass r","section":"(no section)","level":"section"} +16:24:12 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} +16:24:12 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"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-26.md","chunks":2,"sections":2,"filename":"2026-01-26"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Nuke .cat File Format (critical)\n\n- .cat files ","section":"nuke .cat file format (critical)","level":"section"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## TorchScript Lessons (hard-won)\n\n- nn.ModuleList","section":"torchscript lessons (hard-won)","level":"section"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-24.md","chunks":2,"sections":2,"filename":"2026-01-24"} +16:24:12 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"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Skill\n\n- materia-nuke-node skill at ~/.agents/s","section":"skill","level":"section"} +16:24:12 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} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"compass schedule project\n===\n\nkey patterns\n---\n\n- ","section":"(no section)","level":"section"} +16:24:12 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} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"quickshell port\n===\n\nthe caelestia -> quickshell p","section":"(no section)","level":"paragraph"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"status (2026-02-08)\n---\n- deployed and running wit","section":"(no section)","level":"paragraph"} +16:24:12 INFO  [watcher] Synced Claude memory file {"path":"/home/nicholai/.claude/projects/-home-nicholai/memory/MEMORY.md","projectId":"-home-nicholai","chunks":2,"sections":0} +16:24:12 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"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Env Access Pattern\n\n- cloudflare workers: env v","section":"env access pattern","level":"section"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Lessons Learned\n\n- when removing multiline bloc","section":"lessons learned","level":"section"} +16:24:12 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} +16:24:12 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"} +16:24:12 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"} +16:24:12 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"} +16:24:12 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"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Project Location\n\n- Working dir: `/mnt/work/dev","section":"project location","level":"section"} +16:24:12 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} +16:24:12 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"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"compass project memory\n===\n\nMCP tool architecture ","section":"(no section)","level":"paragraph"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"netsuite gotchas:\n- 401 can mean timeout, not auth","section":"(no section)","level":"paragraph"} +16:24:12 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} +16:24:12 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"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Turbopack Build Bug\n\n`npx next build` crashes w","section":"turbopack build bug","level":"section"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-09.md","chunks":4,"sections":4,"filename":"2026-02-09"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Theme: Modern Minimal (oklch)\n\n- Background: pu","section":"theme: modern minimal (oklch)","level":"section"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Design Direction\n\n- Compact, minimal UI inspire","section":"design direction","level":"section"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-14.md","chunks":2,"sections":2,"filename":"2026-02-14"} +16:24:12 INFO  [watcher] Synced Claude memory chunk {"content":"## Key Paths\n\n- Theme vars: `app/globals.css`\n- Ap","section":"key paths","level":"section"} +16:24:12 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} +16:24:12 INFO  [watcher] Synced existing Claude memories {"count":24} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/MODEL-ROUTING.md","chunks":5,"sections":5,"filename":"MODEL-ROUTING"} +16:24:12 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"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-10-signet.md","chunks":16,"sections":16,"filename":"2026-02-10-signet"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-20.md","chunks":2,"sections":0,"filename":"2026-01-20"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-17.md","chunks":8,"sections":8,"filename":"2026-02-17"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-10.md","chunks":12,"sections":12,"filename":"2026-02-10"} +16:24:12 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"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/package-preferences.md","chunks":1,"sections":1,"filename":"package-preferences"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-31.md","chunks":1,"sections":1,"filename":"2026-01-31"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-02-07.md","chunks":8,"sections":8,"filename":"2026-02-07"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/VOICE-WORKFLOW.md","chunks":6,"sections":6,"filename":"VOICE-WORKFLOW"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/2026-01-27.md","chunks":4,"sections":4,"filename":"2026-01-27"} +16:24:12 INFO  [watcher] Ingested memory file {"path":"/home/nicholai/.agents/memory/TOOLS.md","chunks":7,"sections":7,"filename":"TOOLS"} +16:24:12 INFO  [daemon] Imported existing memory files {"files":18,"chunks":107} +16:24:21 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +16:24:22 INFO  [memory] Memory saved {"id":"58550421-925f-4607-b98d-cf1515f90f62","type":"preference","pinned":false,"embedded":true} +16:24:22 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +16:24:23 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} diff --git a/.daemon/logs/signet-2026-02-21.log b/.daemon/logs/signet-2026-02-21.log index e04f2a465..577e0a676 100644 --- a/.daemon/logs/signet-2026-02-21.log +++ b/.daemon/logs/signet-2026-02-21.log @@ -6687,3 +6687,75 @@ {"timestamp":"2026-02-21T16:22:40.909Z","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-21T16:22:40.909Z","level":"info","category":"daemon","message":"Imported existing memory files","data":{"files":18,"chunks":107}} {"timestamp":"2026-02-21T16:24:00.038Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/agent.yaml"}} +{"timestamp":"2026-02-21T16:24:05.067Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-21T16-24-05_auto_agent.yaml","filesChanged":1}} +{"timestamp":"2026-02-21T16:24:11.912Z","level":"info","category":"daemon","message":"Serving dashboard","data":{"path":"/home/nicholai/node_modules/signetai/dashboard"}} +{"timestamp":"2026-02-21T16:24:11.912Z","level":"info","category":"daemon","message":"Signet Daemon starting"} +{"timestamp":"2026-02-21T16:24:11.912Z","level":"info","category":"daemon","message":"Agents directory","data":{"path":"/home/nicholai/.agents"}} +{"timestamp":"2026-02-21T16:24:11.912Z","level":"info","category":"daemon","message":"Port configured","data":{"port":3850}} +{"timestamp":"2026-02-21T16:24:11.923Z","level":"info","category":"daemon","message":"Process ID","data":{"pid":3123194}} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"watcher","message":"File watcher started"} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"auth","message":"Running in local mode (no auth)"} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"pipeline","message":"Worker started","data":{"pollMs":2000,"maxRetries":3,"model":"qwen3:4b","mode":"shadow"}} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"retention","message":"Worker started","data":{"intervalMs":21600000,"tombstoneDays":30,"historyDays":180}} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"maintenance","message":"Worker skipped (disabled or frozen)"} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"document-worker","message":"Worker started","data":{"intervalMs":10000,"chunkSize":2000}} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"pipeline","message":"Pipeline started","data":{"mode":"shadow"}} +{"timestamp":"2026-02-21T16:24:11.925Z","level":"info","category":"git","message":"Auto-sync enabled: every 300s"} +{"timestamp":"2026-02-21T16:24:12.013Z","level":"info","category":"daemon","message":"Server listening","data":{"address":"::1","port":3850}} +{"timestamp":"2026-02-21T16:24:12.013Z","level":"info","category":"daemon","message":"Daemon ready"} +{"timestamp":"2026-02-21T16:24:12.032Z","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-21T16:24:12.032Z","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-21T16:24:12.037Z","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-21T16:24:12.037Z","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-21T16:24:12.038Z","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-21T16:24:12.039Z","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-21T16:24:12.040Z","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-21T16:24:12.041Z","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-21T16:24:12.042Z","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-21T16:24:12.042Z","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-21T16:24:12.045Z","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-21T16:24:12.045Z","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-21T16:24:12.046Z","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-21T16:24:12.047Z","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-21T16:24:12.047Z","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-21T16:24:12.049Z","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-21T16:24:12.050Z","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-21T16:24:12.052Z","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-21T16:24:12.052Z","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-21T16:24:12.053Z","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-21T16:24:12.055Z","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-21T16:24:12.056Z","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-21T16:24:12.057Z","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-21T16:24:12.059Z","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-21T16:24:12.059Z","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-21T16:24:12.060Z","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-21T16:24:12.060Z","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-21T16:24:12.062Z","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-21T16:24:12.062Z","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-21T16:24:12.063Z","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-21T16:24:12.064Z","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-21T16:24:12.065Z","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-21T16:24:12.065Z","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-21T16:24:12.067Z","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-21T16:24:12.068Z","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-21T16:24:12.069Z","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-21T16:24:12.069Z","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-21T16:24:12.069Z","level":"info","category":"watcher","message":"Synced existing Claude memories","data":{"count":24}} +{"timestamp":"2026-02-21T16:24:12.071Z","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-21T16:24:12.076Z","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-21T16:24:12.085Z","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-21T16:24:12.086Z","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-21T16:24:12.090Z","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-21T16:24:12.096Z","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-21T16:24:12.099Z","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-21T16:24:12.101Z","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-21T16:24:12.102Z","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-21T16:24:12.106Z","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-21T16:24:12.109Z","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-21T16:24:12.111Z","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-21T16:24:12.115Z","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-21T16:24:12.115Z","level":"info","category":"daemon","message":"Imported existing memory files","data":{"files":18,"chunks":107}} +{"timestamp":"2026-02-21T16:24:21.902Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-21T16:24:22.702Z","level":"info","category":"memory","message":"Memory saved","data":{"id":"58550421-925f-4607-b98d-cf1515f90f62","type":"preference","pinned":false,"embedded":true}} +{"timestamp":"2026-02-21T16:24:22.702Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-21T16:24:23.929Z","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 5b8e25afb..2776448ce 100644 --- a/.daemon/pid +++ b/.daemon/pid @@ -1 +1 @@ -3119657 \ No newline at end of file +3123194 \ No newline at end of file diff --git a/config.yaml b/config.yaml index 0906a0247..d59e2fe30 100644 --- a/config.yaml +++ b/config.yaml @@ -52,10 +52,6 @@ memory: # Decay rate for memory importance (per day) decay_rate: 0.95 - # Pipeline V2: LLM-based extraction and decision engine - pipelineV2: - shadowMode: true - # Paths (relative to ~/.agents/) paths: database: memory/memories.db diff --git a/memory/memories.db-shm b/memory/memories.db-shm index e3837a99d73d496c60d440d7c973cfd3a99cfce3..aebc4379b0682c60c8a57f0da952ababfd00800a 100644 GIT binary patch delta 761 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

YbkX)Nh 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 VG1Y65$4ow{v$d6g?3@E?S~R?+|f delta 43 zcmZ26FL=UNw}uwR7N!>F7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J)5-6LtXrR&@@%