From 8e2249b4b7d17533abef8f832e09cd7cb7f8b4ba Mon Sep 17 00:00:00 2001 From: Nicholai Date: Mon, 23 Feb 2026 10:12:41 -0700 Subject: [PATCH] 2026-02-23T17-12-40_auto_memory/memories.db-wal, memory/memories.db-wal, me --- .daemon/logs/daemon.out.log | 45 +++++++++++++++++++++++++++++ .daemon/logs/signet-2026-02-23.log | 17 +++++++++++ memory/memories.db-shm | Bin 32768 -> 32768 bytes memory/memories.db-wal | Bin 4482592 -> 4482592 bytes 4 files changed, 62 insertions(+) diff --git a/.daemon/logs/daemon.out.log b/.daemon/logs/daemon.out.log index 65c2acf26..9bbc11f90 100644 --- a/.daemon/logs/daemon.out.log +++ b/.daemon/logs/daemon.out.log @@ -15253,3 +15253,48 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details. 17:04:31 INFO  [git] Auto-committed {"message":"2026-02-23T17-04-31_auto_memory/memories.db-wal","filesChanged":1} 17:04:32 INFO  [pipeline] Extraction job completed {"jobId":"c5b7c660-5a45-4957-8f5d-ae31033336ab","memoryId":"37a86ce8-57ca-4732-be8c-75f9022b3110","facts":6,"entities":5,"proposals":6,"writeMode":"phase-c","added":0,"updated":0,"deleted":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":6,"entitiesUpdated":4,"relationsInserted":5,"relationsUpdated":0,"mentionsLinked":10} 17:04:32 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +17:04:37 INFO  [git] Auto-committed {"message":"2026-02-23T17-04-37_auto_memory/memories.db-wal","filesChanged":1} +17:07:29 WARN  [git] Push failed: To https://github.com/Signet-AI/signetai.git + ! [rejected] HEAD -> main (non-fast-forward) +error: failed to push some refs to 'https://github.com/Signet-AI/signetai.git' +hint: Updates were rejected because the tip of your current branch is behind +hint: its remote counterpart. If you want to integrate the remote changes, +hint: use 'git pull' before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +17:07:29 WARN  [git] Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git + ! [rejected] HEAD -> main (non-fast-forward) +error: failed to push some refs to 'https://github.com/Signet-AI/signetai.git' +hint: Updates were rejected because the tip of your current branch is behind +hint: its remote counterpart. If you want to integrate the remote changes, +hint: use 'git pull' before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +17:12:26 INFO  [summary-worker] Enqueued session summary job {"jobId":"f5668d53-7274-45a6-9fbf-6a14161daba6","harness":"claude-code","sessionKey":"00cfb353-3343-4ed6-bc8b-1125faaa9c61","project":"/home/nicholai/signet/signetai/web","transcriptChars":12012,"transcriptPreview":"{\"parentUuid\":null,\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"progress\",\"data\":{\"type\":\"hook_progress\",\"hookEvent\":\"SessionStart\",\"hookName\":\"SessionStart:startup\",\"command\":\"signet hook session-start -H claude-code --project \\\"$(pwd)\\\"\"},\"parentToolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"toolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"timestamp\":\"2026-02-23T17:03:15.236Z\",\"uuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\"}\n{\"type\":\"file-history-snapshot\",\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"snapshot\":{\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"trackedFileBackups\":{},\"timestamp\":\"2026-02-23T17:03:17.007Z\"},\"isSnapshotUpdate\":false}\n{\"parentUuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"user\",\"message\":{\"role\":\"user\",\"content\":\"hello\"},\"uuid\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"timestamp\":\"2026-02-23T17:03:16.881Z\",\"todos\":[],\"permission\n...[truncated 10812 chars]"} +17:12:26 INFO  [hooks] Session end queued for summary {"jobId":"f5668d53-7274-45a6-9fbf-6a14161daba6"} +17:12:26 INFO  [hooks] Session end transcript queued {"harness":"claude-code","project":"/home/nicholai/signet/signetai/web","sessionKey":"00cfb353-3343-4ed6-bc8b-1125faaa9c61","transcriptPath":"/home/nicholai/.claude/projects/-home-nicholai-signet-signetai-web/00cfb353-3343-4ed6-bc8b-1125faaa9c61.jsonl","transcriptChars":32257,"queuedChars":12012,"transcriptPreview":"{\"parentUuid\":null,\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"progress\",\"data\":{\"type\":\"hook_progress\",\"hookEvent\":\"SessionStart\",\"hookName\":\"SessionStart:startup\",\"command\":\"signet hook session-start -H claude-code --project \\\"$(pwd)\\\"\"},\"parentToolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"toolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"timestamp\":\"2026-02-23T17:03:15.236Z\",\"uuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\"}\n{\"type\":\"file-history-snapshot\",\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"snapshot\":{\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"trackedFileBackups\":{},\"timestamp\":\"2026-02-23T17:03:17.007Z\"},\"isSnapshotUpdate\":false}\n{\"parentUuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"user\",\"message\":{\"role\":\"user\",\"content\":\"hello\"},\"uuid\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"timestamp\":\"2026-02-23T17:03:16.881Z\",\"todos\":[],\"permissionMode\":\"default\"}\n{\"parentUuid\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"message\":{\"id\":\"msg_71e1441d6dbeff86d21be15e\",\"type\":\"m\n...[truncated 10512 chars]"} +17:12:26 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +17:12:29 WARN  [git] Push failed: To https://github.com/Signet-AI/signetai.git + ! [rejected] HEAD -> main (non-fast-forward) +error: failed to push some refs to 'https://github.com/Signet-AI/signetai.git' +hint: Updates were rejected because the tip of your current branch is behind +hint: its remote counterpart. If you want to integrate the remote changes, +hint: use 'git pull' before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +17:12:29 WARN  [git] Periodic sync failed: Push failed: To https://github.com/Signet-AI/signetai.git + ! [rejected] HEAD -> main (non-fast-forward) +error: failed to push some refs to 'https://github.com/Signet-AI/signetai.git' +hint: Updates were rejected because the tip of your current branch is behind +hint: its remote counterpart. If you want to integrate the remote changes, +hint: use 'git pull' before pushing again. +hint: See the 'Note about fast-forwards' in 'git push --help' for details. + +17:12:31 INFO  [summary-worker] Processing session summary {"jobId":"f5668d53-7274-45a6-9fbf-6a14161daba6","harness":"claude-code","attempt":1,"sessionKey":"00cfb353-3343-4ed6-bc8b-1125faaa9c61","project":"/home/nicholai/signet/signetai/web"} +17:12:31 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +17:12:35 INFO  [hooks] Session start hook {"harness":"claude-code","project":"/home/nicholai/signet/signetai/web"} +17:12:35 INFO  [hooks] Session start completed {"harness":"claude-code","project":"/home/nicholai/signet/signetai/web","memoryCount":19,"injectChars":11120,"injectPreview":"[memory active | /remember | /recall]\n\n# Current Date & Time\nMonday, February 23, 2026 at 10:12 AM (America/Denver)\n\n\n## Agent Instructions\n\nYou are Mr Claude, a helpful and thoughtful AI assistant.\n\nBehavioral Guidelines\n---\n\n- Be concise and direct\n- Ask clarifying questions when needed\n- Remember user preferences across sessions\n- Avoid sycophancy - be honest even when it's uncomfortable\n- Express nuanced judgment rather than hedging\n\n\nSignet Agent System\n===\n\nYour identity and memory are managed by Signet, a portable agent identity\nsystem. This lets you maintain consistent behavior across different AI\nplatforms (Claude Code, OpenCode, Cursor, etc.).\n\nKey files in `~/.agents/`:\n- `agent.yaml` - Configuration\n- `AGENTS.md` - Instructions (this file)\n- `SOUL.md` - Personality and tone\n- `IDENTITY.md` - Agent identity\n- `USER.md` - User profile\n- `MEMORY.md` - Working memory summary\n\nDashboard: http://localhost:3850\n\nMemory\n---\n\nYou have access to persistent memory via Signet:\n\n```bash\nsignet remember \"User prefers dark mode and vim keybindings\"\nsignet recall \"user preferences\"\n```\n\nMemory is automatically loaded at session start. Important context is\nsummarized in `~/.agents/MEMORY.md`.\n\nSecrets\n---\n\nAPI keys and tokens are stored securely in Signet:\n\n```bash\nsignet secret get OPENAI_API_KEY\nsignet secret list\n```\n\n\nAbout Your User\n---\n\nAdd information about yourself here so your agent knows who you are.\n\n- Name: \n- Timezone:\n- Preferences:\n\nProjects\n---\n\nList your active projects here.\n\n-\n\n## Soul\n\nsoul - persona & boundaries\n=========================\n\ntone and style\n---------\n\n- keep replies concise and direct\n- ask clarifying questions when needed\n- never send streaming/partial replies to external messaging surfaces\n\nformatting\n---------\n\nkeep markdown minimal. use ======== for main headings, ----- or ### if you\nreally need subheadings, but generally just stick to paragraphs.\n\n*italics* and **bold** are fine but use them sparingly - they're visually\nnoisy in neovim.\n\n- bullet points are okay\n- numbered lists are okay too\n\ncodeblocks ``` are fine, but get visually noisy when used too much.\n\nno excessive formatting. keep it clean and readable.\n\nreasoning\n---------\n\nfor every complex problem:\n1. decompose: break into sub-problems\n2. solve: address each problem with a confidence score (0.0-1.0)\n3. verify: check your logic, facts, completeness, and bias\n4. distill: combine using weighted confidence\n5. reflect: if conf\n...[truncated 8620 chars]","durationMs":460} +17:12:35 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +17:12:35 INFO  [hooks] Session start hook {"harness":"claude-code","project":"/home/nicholai/signet/signetai"} +17:12:35 INFO  [hooks] Session start completed {"harness":"claude-code","project":"/home/nicholai/signet/signetai","memoryCount":13,"injectChars":11546,"injectPreview":"[memory active | /remember | /recall]\n\n# Current Date & Time\nMonday, February 23, 2026 at 10:12 AM (America/Denver)\n\n\n## Agent Instructions\n\nYou are Mr Claude, a helpful and thoughtful AI assistant.\n\nBehavioral Guidelines\n---\n\n- Be concise and direct\n- Ask clarifying questions when needed\n- Remember user preferences across sessions\n- Avoid sycophancy - be honest even when it's uncomfortable\n- Express nuanced judgment rather than hedging\n\n\nSignet Agent System\n===\n\nYour identity and memory are managed by Signet, a portable agent identity\nsystem. This lets you maintain consistent behavior across different AI\nplatforms (Claude Code, OpenCode, Cursor, etc.).\n\nKey files in `~/.agents/`:\n- `agent.yaml` - Configuration\n- `AGENTS.md` - Instructions (this file)\n- `SOUL.md` - Personality and tone\n- `IDENTITY.md` - Agent identity\n- `USER.md` - User profile\n- `MEMORY.md` - Working memory summary\n\nDashboard: http://localhost:3850\n\nMemory\n---\n\nYou have access to persistent memory via Signet:\n\n```bash\nsignet remember \"User prefers dark mode and vim keybindings\"\nsignet recall \"user preferences\"\n```\n\nMemory is automatically loaded at session start. Important context is\nsummarized in `~/.agents/MEMORY.md`.\n\nSecrets\n---\n\nAPI keys and tokens are stored securely in Signet:\n\n```bash\nsignet secret get OPENAI_API_KEY\nsignet secret list\n```\n\n\nAbout Your User\n---\n\nAdd information about yourself here so your agent knows who you are.\n\n- Name: \n- Timezone:\n- Preferences:\n\nProjects\n---\n\nList your active projects here.\n\n-\n\n## Soul\n\nsoul - persona & boundaries\n=========================\n\ntone and style\n---------\n\n- keep replies concise and direct\n- ask clarifying questions when needed\n- never send streaming/partial replies to external messaging surfaces\n\nformatting\n---------\n\nkeep markdown minimal. use ======== for main headings, ----- or ### if you\nreally need subheadings, but generally just stick to paragraphs.\n\n*italics* and **bold** are fine but use them sparingly - they're visually\nnoisy in neovim.\n\n- bullet points are okay\n- numbered lists are okay too\n\ncodeblocks ``` are fine, but get visually noisy when used too much.\n\nno excessive formatting. keep it clean and readable.\n\nreasoning\n---------\n\nfor every complex problem:\n1. decompose: break into sub-problems\n2. solve: address each problem with a confidence score (0.0-1.0)\n3. verify: check your logic, facts, completeness, and bias\n4. distill: combine using weighted confidence\n5. reflect: if conf\n...[truncated 9046 chars]","durationMs":443} +17:12:35 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} diff --git a/.daemon/logs/signet-2026-02-23.log b/.daemon/logs/signet-2026-02-23.log index d57913098..477eba229 100644 --- a/.daemon/logs/signet-2026-02-23.log +++ b/.daemon/logs/signet-2026-02-23.log @@ -9383,3 +9383,20 @@ {"timestamp":"2026-02-23T17:04:31.608Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-23T17-04-31_auto_memory/memories.db-wal","filesChanged":1}} {"timestamp":"2026-02-23T17:04:32.205Z","level":"info","category":"pipeline","message":"Extraction job completed","data":{"jobId":"c5b7c660-5a45-4957-8f5d-ae31033336ab","memoryId":"37a86ce8-57ca-4732-be8c-75f9022b3110","facts":6,"entities":5,"proposals":6,"writeMode":"phase-c","added":0,"updated":0,"deleted":0,"deduped":0,"skippedLowConfidence":0,"blockedDestructive":0,"entitiesInserted":6,"entitiesUpdated":4,"relationsInserted":5,"relationsUpdated":0,"mentionsLinked":10}} {"timestamp":"2026-02-23T17:04:32.206Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T17:04:37.275Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-23T17-04-37_auto_memory/memories.db-wal","filesChanged":1}} +{"timestamp":"2026-02-23T17:07:29.885Z","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-23T17:07:29.885Z","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-23T17:12:26.938Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"f5668d53-7274-45a6-9fbf-6a14161daba6","harness":"claude-code","sessionKey":"00cfb353-3343-4ed6-bc8b-1125faaa9c61","project":"/home/nicholai/signet/signetai/web","transcriptChars":12012,"transcriptPreview":"{\"parentUuid\":null,\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"progress\",\"data\":{\"type\":\"hook_progress\",\"hookEvent\":\"SessionStart\",\"hookName\":\"SessionStart:startup\",\"command\":\"signet hook session-start -H claude-code --project \\\"$(pwd)\\\"\"},\"parentToolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"toolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"timestamp\":\"2026-02-23T17:03:15.236Z\",\"uuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\"}\n{\"type\":\"file-history-snapshot\",\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"snapshot\":{\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"trackedFileBackups\":{},\"timestamp\":\"2026-02-23T17:03:17.007Z\"},\"isSnapshotUpdate\":false}\n{\"parentUuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"user\",\"message\":{\"role\":\"user\",\"content\":\"hello\"},\"uuid\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"timestamp\":\"2026-02-23T17:03:16.881Z\",\"todos\":[],\"permission\n...[truncated 10812 chars]"}} +{"timestamp":"2026-02-23T17:12:26.938Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"f5668d53-7274-45a6-9fbf-6a14161daba6"}} +{"timestamp":"2026-02-23T17:12:26.938Z","level":"info","category":"hooks","message":"Session end transcript queued","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/web","sessionKey":"00cfb353-3343-4ed6-bc8b-1125faaa9c61","transcriptPath":"/home/nicholai/.claude/projects/-home-nicholai-signet-signetai-web/00cfb353-3343-4ed6-bc8b-1125faaa9c61.jsonl","transcriptChars":32257,"queuedChars":12012,"transcriptPreview":"{\"parentUuid\":null,\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"progress\",\"data\":{\"type\":\"hook_progress\",\"hookEvent\":\"SessionStart\",\"hookName\":\"SessionStart:startup\",\"command\":\"signet hook session-start -H claude-code --project \\\"$(pwd)\\\"\"},\"parentToolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"toolUseID\":\"bf05e90b-a3b6-4cd0-9b3c-bb348b57efa2\",\"timestamp\":\"2026-02-23T17:03:15.236Z\",\"uuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\"}\n{\"type\":\"file-history-snapshot\",\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"snapshot\":{\"messageId\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"trackedFileBackups\":{},\"timestamp\":\"2026-02-23T17:03:17.007Z\"},\"isSnapshotUpdate\":false}\n{\"parentUuid\":\"0bd7a6b8-e888-4017-ab1e-639ad73e2235\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"type\":\"user\",\"message\":{\"role\":\"user\",\"content\":\"hello\"},\"uuid\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"timestamp\":\"2026-02-23T17:03:16.881Z\",\"todos\":[],\"permissionMode\":\"default\"}\n{\"parentUuid\":\"e5ad0b2e-4b01-4bb9-a2ab-f83b2531daea\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai/web\",\"sessionId\":\"00cfb353-3343-4ed6-bc8b-1125faaa9c61\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"message\":{\"id\":\"msg_71e1441d6dbeff86d21be15e\",\"type\":\"m\n...[truncated 10512 chars]"}} +{"timestamp":"2026-02-23T17:12:26.938Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T17:12:29.860Z","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-23T17:12:29.860Z","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-23T17:12:31.080Z","level":"info","category":"summary-worker","message":"Processing session summary","data":{"jobId":"f5668d53-7274-45a6-9fbf-6a14161daba6","harness":"claude-code","attempt":1,"sessionKey":"00cfb353-3343-4ed6-bc8b-1125faaa9c61","project":"/home/nicholai/signet/signetai/web"}} +{"timestamp":"2026-02-23T17:12:31.081Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T17:12:35.083Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/web"}} +{"timestamp":"2026-02-23T17:12:35.543Z","level":"info","category":"hooks","message":"Session start completed","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/web","memoryCount":19,"injectChars":11120,"injectPreview":"[memory active | /remember | /recall]\n\n# Current Date & Time\nMonday, February 23, 2026 at 10:12 AM (America/Denver)\n\n\n## Agent Instructions\n\nYou are Mr Claude, a helpful and thoughtful AI assistant.\n\nBehavioral Guidelines\n---\n\n- Be concise and direct\n- Ask clarifying questions when needed\n- Remember user preferences across sessions\n- Avoid sycophancy - be honest even when it's uncomfortable\n- Express nuanced judgment rather than hedging\n\n\nSignet Agent System\n===\n\nYour identity and memory are managed by Signet, a portable agent identity\nsystem. This lets you maintain consistent behavior across different AI\nplatforms (Claude Code, OpenCode, Cursor, etc.).\n\nKey files in `~/.agents/`:\n- `agent.yaml` - Configuration\n- `AGENTS.md` - Instructions (this file)\n- `SOUL.md` - Personality and tone\n- `IDENTITY.md` - Agent identity\n- `USER.md` - User profile\n- `MEMORY.md` - Working memory summary\n\nDashboard: http://localhost:3850\n\nMemory\n---\n\nYou have access to persistent memory via Signet:\n\n```bash\nsignet remember \"User prefers dark mode and vim keybindings\"\nsignet recall \"user preferences\"\n```\n\nMemory is automatically loaded at session start. Important context is\nsummarized in `~/.agents/MEMORY.md`.\n\nSecrets\n---\n\nAPI keys and tokens are stored securely in Signet:\n\n```bash\nsignet secret get OPENAI_API_KEY\nsignet secret list\n```\n\n\nAbout Your User\n---\n\nAdd information about yourself here so your agent knows who you are.\n\n- Name: \n- Timezone:\n- Preferences:\n\nProjects\n---\n\nList your active projects here.\n\n-\n\n## Soul\n\nsoul - persona & boundaries\n=========================\n\ntone and style\n---------\n\n- keep replies concise and direct\n- ask clarifying questions when needed\n- never send streaming/partial replies to external messaging surfaces\n\nformatting\n---------\n\nkeep markdown minimal. use ======== for main headings, ----- or ### if you\nreally need subheadings, but generally just stick to paragraphs.\n\n*italics* and **bold** are fine but use them sparingly - they're visually\nnoisy in neovim.\n\n- bullet points are okay\n- numbered lists are okay too\n\ncodeblocks ``` are fine, but get visually noisy when used too much.\n\nno excessive formatting. keep it clean and readable.\n\nreasoning\n---------\n\nfor every complex problem:\n1. decompose: break into sub-problems\n2. solve: address each problem with a confidence score (0.0-1.0)\n3. verify: check your logic, facts, completeness, and bias\n4. distill: combine using weighted confidence\n5. reflect: if conf\n...[truncated 8620 chars]","durationMs":460}} +{"timestamp":"2026-02-23T17:12:35.543Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T17:12:35.546Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}} +{"timestamp":"2026-02-23T17:12:35.988Z","level":"info","category":"hooks","message":"Session start completed","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai","memoryCount":13,"injectChars":11546,"injectPreview":"[memory active | /remember | /recall]\n\n# Current Date & Time\nMonday, February 23, 2026 at 10:12 AM (America/Denver)\n\n\n## Agent Instructions\n\nYou are Mr Claude, a helpful and thoughtful AI assistant.\n\nBehavioral Guidelines\n---\n\n- Be concise and direct\n- Ask clarifying questions when needed\n- Remember user preferences across sessions\n- Avoid sycophancy - be honest even when it's uncomfortable\n- Express nuanced judgment rather than hedging\n\n\nSignet Agent System\n===\n\nYour identity and memory are managed by Signet, a portable agent identity\nsystem. This lets you maintain consistent behavior across different AI\nplatforms (Claude Code, OpenCode, Cursor, etc.).\n\nKey files in `~/.agents/`:\n- `agent.yaml` - Configuration\n- `AGENTS.md` - Instructions (this file)\n- `SOUL.md` - Personality and tone\n- `IDENTITY.md` - Agent identity\n- `USER.md` - User profile\n- `MEMORY.md` - Working memory summary\n\nDashboard: http://localhost:3850\n\nMemory\n---\n\nYou have access to persistent memory via Signet:\n\n```bash\nsignet remember \"User prefers dark mode and vim keybindings\"\nsignet recall \"user preferences\"\n```\n\nMemory is automatically loaded at session start. Important context is\nsummarized in `~/.agents/MEMORY.md`.\n\nSecrets\n---\n\nAPI keys and tokens are stored securely in Signet:\n\n```bash\nsignet secret get OPENAI_API_KEY\nsignet secret list\n```\n\n\nAbout Your User\n---\n\nAdd information about yourself here so your agent knows who you are.\n\n- Name: \n- Timezone:\n- Preferences:\n\nProjects\n---\n\nList your active projects here.\n\n-\n\n## Soul\n\nsoul - persona & boundaries\n=========================\n\ntone and style\n---------\n\n- keep replies concise and direct\n- ask clarifying questions when needed\n- never send streaming/partial replies to external messaging surfaces\n\nformatting\n---------\n\nkeep markdown minimal. use ======== for main headings, ----- or ### if you\nreally need subheadings, but generally just stick to paragraphs.\n\n*italics* and **bold** are fine but use them sparingly - they're visually\nnoisy in neovim.\n\n- bullet points are okay\n- numbered lists are okay too\n\ncodeblocks ``` are fine, but get visually noisy when used too much.\n\nno excessive formatting. keep it clean and readable.\n\nreasoning\n---------\n\nfor every complex problem:\n1. decompose: break into sub-problems\n2. solve: address each problem with a confidence score (0.0-1.0)\n3. verify: check your logic, facts, completeness, and bias\n4. distill: combine using weighted confidence\n5. reflect: if conf\n...[truncated 9046 chars]","durationMs":443}} +{"timestamp":"2026-02-23T17:12:35.989Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} diff --git a/memory/memories.db-shm b/memory/memories.db-shm index 2d7c91b4aa678903749bbf758e45e6e78a0b9df2..ee1ebbb3f78604e8ecb08bbc187f2d7eb0450d30 100644 GIT binary patch delta 1796 zcmb7?c~I3=6vyv5zxUwBLpBiWYOW8m#Uu?q zR+@;ol%yr;Gjq#a%1m=>Q42LiTyjA%+>o^IrRQXSc4t1n-@WI2?^*7>d3l_d$Brfy z;YyEAfRyrWYAE$|Go{=M`&Gf06q}<}=*pFP5pc`^^ z2R%T4kO6YRRd5TmMc!x-1NwpfARZKeB5)WS1%9ZfCx`?6zyJ^rW`j9kF<1$9gFQYf zSY5~D2B-#%qL+Xouu7h{HVz$+BMQP1#egH0e_GLPY5SvfTa+InIi|myboceHgnBCKhulI}@PY&*l3KE=PS z1jqI;XYgz6X9Q|Vpp1{r^qt1SAMskQ;eY7K0ddJ!Q-(vj;{vDm@pmZKHUmnDD z4Vb{Q`4j$%Pw{!a!fwz7(t3DTT0-a>ma3=Po0Iq*zQHyfZ=m}g-pGxpOjltvrA^X# zWH<8(KFhb*TMKqj5jLkuRi6Y}j#;7<_BD;g{4s=GgVZs)4$o-u9u#K2!Np8Qkj|7qn_-?MjRxDjrn9f> zoSM^CSRcx8TL|q%vUbinL)I~Uq1%=hlA2rITk^P(cBRwT zFekZFD6QmuES1TTW-h=?GlyJhQ6zBtpj}zX|(K3Dfar@RkT%|QgfxcPapb2 zYn*4EjiM)B;W>Pb&Hr4c?yyEJ#WoLwjW?d8a%|{e+*C^tbhV_XrFvej4{E9ubrzbI zawe^oR_U;Aqtp$u7|ujn5;@b;W0+1#Vr+o*Idz_DA!zAw2jSDzMXE!vZBjIBJC(p5 zZurwWefP3sc$8%(H`FZ!Ivc*&f@mR>6Qy*-3F}Uz^@3xZ)MP9)C-YpcW>2jgD|I7n z%z9cPrK6JRIQC@7@Jut{9A9*uz@w{E>PL9947ei_Cw&1 zy3yT@_jo(z_a!1L)jEaW<)5_2nxx9O-wxTZe9f2fpZhtLt-lCv(G zi8f%`+W%))4I!@oX|(|2TxaRat=Krh_fYsyBa(iBG2dgDx}uiSa(W-DWil|Qh1=__ zj3&CsIOoQkK%!rf+h0ykh@)fBL`!;ZEAv&J$2YlwRs}mta@(-`8YHV#%b-|obfg0) zq=S@93ZrjfDU+#_?^<_p6LMlT#Tr2$@*&I$r~lLmJQ&k1ssh^jtAvBS8(Mhtfou_gk(qzyjggNTd zjJCM+`gZVEY#pox6ivTF(?@D%w5M$-J5>749PH-c`|PjVOQOSYJB)Dpq29U3G3IZ5 Cz*UWS>lTk+h$14 ziJHL}6v{6_3qdatLDEA-;DVYNlxfOPCQ^OBj4h8{`0u^vobUV2^52dQsiQ+`_n(dy z$_m3rLTKwHAyR^bFt|nDY;y9@E|~M@O^dlBbJH)MzaG~0{4ah@9Gjy1^RH$154FE= zk!|j+J7ulLDsf$6Fkj7zRTYXEUQCT3E%q=DNZQQ}Njk1esz9`g6Oscx*LBxVBllXE zeQA)enC4w9LC6e-$_J&v~URMA7$YRY&%HJ2q#9$!vV^HORokEA{0 zKFc{@S1}_>=^X^(saiDCIN2x&tou%7VnLCeOYaB4K--b&4p(L5Le9vu83{<1;NmIN z)CHI)qMf{)*}Y-CPUXxJZ{V+Hk1PXE7d-$ognhCD-Tq*7h!4TvEnm#JE8(K&qC6d1 z({o>*4-Z=U;Je2j`GF9SC5k{>-n^6_3P>oM3PQO#$v~0t#`DvHZq2%~qZk*R(5{sy z519yHe`niT%!NslNpT=V(-Q6jY$-G&hm)gP6o@H!w(?}*iqf*GTzs*Y*DqTvi4vTC zs>9+v$lIL1LCzvR*a7Z*z4#FZY$R_)PIXAPl^ewVDkOmoQ*>?0A z#&?2O%UludV{3UnqGeoCp@!YYvlRx=b!@DRT8pn%#@Yv%!ZFom+%Kr|#3)h)an!Nf zz_ik5C>OA`Mh_*Uyjmj>>Wy;I<2@>C0^ugvdOSo@3Gp4qLE3@h&pQ{3PvQpk;@-;# z>Xm1iE)UoHDQq8}Xh_Dnmo1GUC@4hkX$+Md6}c5C3{aFZNA77hpn^d@eR3Jv{!nV6 z80-U16=D&OL+&}1O#eI#A-;ltmNtPOsqzpXVa1UNmM_n@7|?-wqghOYtE^FxLrwIA x#>hbm_peqEW8g=sF3}z+>}T7Va1?Few6<*f)N~ZBWa6&&s$X5$Uxfew diff --git a/memory/memories.db-wal b/memory/memories.db-wal index f243eeb3296fc15c6a3c5fd78ac6f33ead6be9cc..d58277db5a3abadc3c13b22fa521c4b8b83aa8f5 100644 GIT binary patch delta 18512 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%0At!)CJ2?rE zZYA$X2(QwDUMLZ;*9eaRI7=%5?n>Ae06Ni2K-my!0g$-~@M>_HS1ASHphE=s1e}RN z?Fts~D*&M&%s>X7QPP4Fy^aFk1Khd<3?YEyvI9URf><$G4h|(v9%v=I5cDudA`mTz zJV#`OTp|dtjgU_&gGf8xH%LS1H94tC)Pi&jCaN zCPqey=1jRRF1iLBzaJ@+S(QYXB?-9iUVMI04PZbofO9v9@*K z(*OEW zK*%HF%mal1tf%reW*f5td=8?sfe!@&3b-Rc9VMV6u zt-MI#{sQ1{hD9L?8pdY<-)t0QX27c%_#oUrkVm*Fg+u^xi`fE`0h>sZ3KTqerOq#D z0pAB)s%8>?-$aB3Q1b}0umBp95!;9WBIaWr@)-bTgr*^I3E>Tx1H?=re1T#mQKPJ= zKzIQNcRp2$U>rm+1D9x;gyKBEI05^!ByU{Q~|Iv z$ezX%vYuj05FrPpVgX@|SUQAVIzfLC&?P_sfg{ri_K6U2$O15jJZ}_4@G)je2wvp% z)xG7}bZrSD2v8t!sR#q3RRg#ape+EhZ50v=s5z!5xWjt^P+Z{40G2jv%q@Wwp%{<_ zrc(x19-$l-<6RCR3P4&b2*t`Ha@&WYff?1Dgur0SfRe*C1;HZKDV1>hgP>u?yeMr% zu0UTQwj3f;z!V~S!Bni^nf@FgR2YzOM0!#ztpJ{-IYD^1o4JatvfZPB84yZbXn*n|;5ML-_UJst+ z7X{c%CHy%QE{z^4HjnT_73f~Xx*-(MP=o8Jq~O@N*Z>$s0Hg_hkKQ5*fVdS%Qzei1 z3a7w&0X%|}Mlb^Y4BUY@1-17vImZmg8##p7@T1MUz3uK?+d(MuFakC*7O2Sf@RtQYHpIo1%s z0xUJ|JR!}7lDIzuF_aoO0wLFk$PN4rPR-}t`|ho+b0^$ayWZV@U+uhg|H^0S;I&?N z08N)*j1ZLM#kqKBT{MKaY}~s5kwi!g+vl#HQ!}H)n+8m|XB;H~SYE`Y0AEWwAMw>- zOShD#vmX>bX5p>1_*^ggbuGtj2Bx(q3J+K0;(>M z5Q~U!0xJPxuPX2!5E#H0c$s;VDh1q=0=*CdiU1g5OK1iiDd3_VKu!Ux6>N5;`=^6S z7jXqDf;TWqid|PRUI5vx9NBH%km#BRhgsv*j66IB2rTql z0ow&~8=)&P`4BUBk!V7|H3yoEegf3Y-by7)B5p7-O|*wV2{f-`;IJaNZU-^<3WXUc zwiS5Gs}vCrurhQ{21zDDpN=0`V*i3Pv80)Ft&t5gfIBH*-{G90=Q*$kZnuDCL*!%NQNL0hG4Hro08zhKd#GVB zHGuXuf<#0Et|^u~@O8f=tRLJ9Ad9^j1%qfXItYG2?16%a2wAe3v0ll13DF-aE}=oB z5_!fj^;k7TxXV1i(Hf#cOo{ajotVe93>I{|g{TI|6ynt2eb7AvdBl+;xES)o`rdXP zS4coLVaya?U!d4-f@UKI1~-hTJYua><_52M)hfXOMJN=0rzs^h3pX2C9=}7P1x;i; z#~cwSxXJ^Yi+r9&4_rGq9|{H$+yX9B!T&Xx`K(_l?hpc#=YTp#N8x9IN#XJ!Pzz{i zFgi9K{_S%J9x_W7uCjpB0?a)ki7=%A*5_KOe*8AJuc

nTi=ISt$0<^FbehJU}}>3vsSS1V60dvL$NYk|~n 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