From 345bd2a17de6a5a922479fcf859cc5d485c8edbe Mon Sep 17 00:00:00 2001 From: Nicholai Date: Mon, 23 Feb 2026 10:03:30 -0700 Subject: [PATCH] 2026-02-23T17-03-30_auto_memory/memories.db-wal --- .daemon/logs/daemon.out.log | 6 ++++++ .daemon/logs/signet-2026-02-23.log | 3 +++ memory/memories.db-shm | Bin 32768 -> 32768 bytes memory/memories.db-wal | Bin 4482592 -> 4482592 bytes 4 files changed, 9 insertions(+) diff --git a/.daemon/logs/daemon.out.log b/.daemon/logs/daemon.out.log index 67569f31d..48d9a4a06 100644 --- a/.daemon/logs/daemon.out.log +++ b/.daemon/logs/daemon.out.log @@ -15223,3 +15223,9 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details. 17:03:15 INFO  [hooks] Session start hook {"harness":"claude-code","project":"/home/nicholai/signet/signetai/web"} 17:03:15 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:03 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":425} 17:03:15 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +17:03:21 INFO  [git] Auto-committed {"message":"2026-02-23T17-03-20_auto_memory/memories.db-wal, memory/2026-02-23-session-","filesChanged":7} +17:03:25 INFO  [summary-worker] Session continuity scored {"score":0.65,"memoriesUsed":1,"novelContext":0,"sessionKey":"ada6f82b-bf47-4003-9e09-d53ca292ed44","project":"/home/nicholai/signet/signetai/web"} +17:03:25 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} +17:03:30 INFO  [hooks] Session start hook {"harness":"claude-code","project":"/home/nicholai/signet/signetai"} +17:03:30 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:03 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":392} +17:03:30 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 3ca41b89a..f73b3c311 100644 --- a/.daemon/logs/signet-2026-02-23.log +++ b/.daemon/logs/signet-2026-02-23.log @@ -9353,3 +9353,6 @@ {"timestamp":"2026-02-23T17:03:15.512Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/web"}} {"timestamp":"2026-02-23T17:03:15.937Z","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:03 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":425}} {"timestamp":"2026-02-23T17:03:15.938Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T17:03:21.010Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-23T17-03-20_auto_memory/memories.db-wal, memory/2026-02-23-session-","filesChanged":7}} +{"timestamp":"2026-02-23T17:03:25.523Z","level":"info","category":"summary-worker","message":"Session continuity scored","data":{"score":0.65,"memoriesUsed":1,"novelContext":0,"sessionKey":"ada6f82b-bf47-4003-9e09-d53ca292ed44","project":"/home/nicholai/signet/signetai/web"}} +{"timestamp":"2026-02-23T17:03:25.524Z","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 ac632b49e2cdf35541bbd74f0e8fd3e93119ff6a..a1958efcbe4a2e4649ae465663875dd9f5940814 100644 GIT binary patch delta 1613 zcmb7CYfx2H82#3{p3CKO@AbkZMl_u<9~ebBmN{8EB8*HbfrO+pMpsc@nmke@122&! zR6aLWnw5_pDx~S@VUVR+W@d_|S-vtQqnF|%-$`pL%tZe@GwVC++u!=uxA#7$tjs7Y zGXfos#)y8p5fJhE43YTGBAbq8r6$#$uRl2|^+f+u$vYe4?miK;bYir z|2!@0>jI@_Uk4L6QAF&b?rgBgW|v5cN8}>W&|W0LD^gC(Cu)cdYMJ2+^la%$WLFBI zyC?DldBj>%+gZ@w zTO2a<+JHQ#NF`CjA&;~S(c7-1@h+NOjS%VHQKU~Nkvn;{Yp7Ys^;)8i(0Q#IYs*l{ zaCzDuML7{|_+4s_(Nk?ehkIKOm(PtpcHnn-w05|vN~mZ*4#)T{1|Ua@ za0q89s*4;iC-p~b^B7Vuvsj&L&3Rw}aF{eUI8+>XnbJ^Zv(<%RE-WJJY|E0lmM?WjWGvd2riS&Rg2R*;uo@RLFakD zW8_!zjXoD%X>&0mCpkTU6O2(R&7X_Esq?8l{s{ZK_!7Z-bGL-dla;bp_KP0{EbFOV zY$aGoKFw^0T+Affr)FlHb{1kKKEV%wZY&9ImJG>8IsLmPt}vrH`y!d8{F!!~Ckv?K znc?n7k%vmWg^k#YX09gL(&abZVO_~8hIcHcU^OCZ^#M*+VF0tcGIjX6=}C&}MrT%a|-v!wbBQ53mz|!mHhqkD2!|gh;lWVL3;2oL*~xAK#$89vopcO*ep-Sc!=k zB}ZGj4oDKFVlxh+omOR|k#V=mFYRx89`{k4pw5=2po;7^RX8Ke`2^Ns8;--N<%iXz GK-Itfv9TZk delta 824 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