From 257ebc4d2b19ea80cdcc64c2c62489e30db0907c Mon Sep 17 00:00:00 2001 From: Nicholai Date: Mon, 23 Feb 2026 09:05:04 -0700 Subject: [PATCH] 2026-02-23T16-05-04_auto_memory/memories.db-wal --- .daemon/logs/daemon.out.log | 3 +++ .daemon/logs/signet-2026-02-23.log | 9 +++++++++ memory/memories.db-shm | Bin 32768 -> 32768 bytes memory/memories.db-wal | Bin 4482592 -> 4482592 bytes 4 files changed, 12 insertions(+) diff --git a/.daemon/logs/daemon.out.log b/.daemon/logs/daemon.out.log index ff20b0f8e..e3ed8f14b 100644 --- a/.daemon/logs/daemon.out.log +++ b/.daemon/logs/daemon.out.log @@ -14976,3 +14976,6 @@ hint: See the 'Note about fast-forwards' in 'git push --help' for details. 15:54:36 INFO  [watcher] File changed {"path":"/home/nicholai/.agents/memory/memories.db-wal"} 15:54:36 ERROR [memory] Similarity search failed SyntaxError: JSON Parse error: Unexpected identifier "claude" +15:54:41 INFO  [git] Auto-committed {"message":"2026-02-23T15-54-41_auto_memory/memories.db-wal","filesChanged":1} +15:55:13 ERROR [memory] Similarity search failed + SyntaxError: JSON Parse error: Unexpected identifier "claude" diff --git a/.daemon/logs/signet-2026-02-23.log b/.daemon/logs/signet-2026-02-23.log index e72a30dd1..f8207befe 100644 --- a/.daemon/logs/signet-2026-02-23.log +++ b/.daemon/logs/signet-2026-02-23.log @@ -9117,3 +9117,12 @@ {"timestamp":"2026-02-23T15:54:35.876Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-23T15-54-35_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}} {"timestamp":"2026-02-23T15:54:36.197Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} {"timestamp":"2026-02-23T15:54:36.300Z","level":"error","category":"memory","message":"Similarity search failed","error":{"name":"SyntaxError","message":"JSON Parse error: Unexpected identifier \"claude\"","stack":"SyntaxError: JSON Parse error: Unexpected identifier \"claude\"\n at (:0)\n at parse (unknown)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:63768:36)\n at map (native:1:11)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:63760:74)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:63721:35)\n at dispatch (/home/nicholai/node_modules/signetai/dist/daemon.js:14343:30)\n at dispatch (/home/nicholai/node_modules/signetai/dist/daemon.js:14327:33)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:38946:15)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:38935:19)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:62135:35)"}} +{"timestamp":"2026-02-23T15:54:41.271Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-23T15-54-41_auto_memory/memories.db-wal","filesChanged":1}} +{"timestamp":"2026-02-23T15:55:13.028Z","level":"error","category":"memory","message":"Similarity search failed","error":{"name":"SyntaxError","message":"JSON Parse error: Unexpected identifier \"claude\"","stack":"SyntaxError: JSON Parse error: Unexpected identifier \"claude\"\n at (:0)\n at parse (unknown)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:63768:36)\n at map (native:1:11)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:63760:74)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:63721:35)\n at dispatch (/home/nicholai/node_modules/signetai/dist/daemon.js:14343:30)\n at dispatch (/home/nicholai/node_modules/signetai/dist/daemon.js:14327:33)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:38946:15)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:38935:19)\n at (/home/nicholai/node_modules/signetai/dist/daemon.js:62135:35)"}} +{"timestamp":"2026-02-23T15:57:44.315Z","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-23T15:57:44.315Z","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-23T16:02:43.430Z","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-23T16:02:43.430Z","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-23T16:04:59.432Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/mnt/work/dev/Youtube-To-Audio-Converter-for-Mac"}} +{"timestamp":"2026-02-23T16:04:59.434Z","level":"info","category":"hooks","message":"Session start completed","data":{"harness":"claude-code","project":"/mnt/work/dev/Youtube-To-Audio-Converter-for-Mac","memoryCount":13,"injectChars":10645,"injectPreview":"[memory active | /remember | /recall]\n\n# Current Date & Time\nMonday, February 23, 2026 at 9:04 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 confi\n...[truncated 8145 chars]","durationMs":2}} +{"timestamp":"2026-02-23T16:04:59.436Z","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 04d853f4136fec5b286710cb924facd33fc71e00..4bf92dafa9fc171302238fb96262c6a30fdc2016 100644 GIT binary patch delta 1134 zcmb7DZA_JA7=E7XJ%{tb;iLFczNSUMAo;__&L0~n;BwPIkdU^>$}G_h5M{M9&Z*g! zZf%UapZ;KtAI#~Tdz?c=EFuCc%+fNnB1#m9AOZ!y=)TX+Vg1RiXS>e1Kc4Hl?)!bu z2?P)bz`ts2osyHl&`QOoSV|SADK(?J){WOqrOs4WP9NU6e)0wH;8gCly-ol3eo&l0 zM0fdLCsaS>pK$vfoH!X#j0u-glZ<7?QMXbjJW7>BE49QJi&1KU@m{P_kK=sEoMIMp zFejB!8sh#3FK@*xObnCuv6-08G3GPfp&1-y5d*Ub0Ngg99|vX?nG7-4Q3^V>rjq4g<7+hvx#o9us!5uQgL zT^i4m#Sr~A#vtP=V=3A+M7HEpePKFQThtJlOvegSksx6X%@vMDOyU7zBrT@Y4Ik(! zx?HrD1~$AAaT7~$OXE3Hzp()N5ALKG6^h)(MSdu+!MysoUScx;u z%P&=0NR&7mtK`dPYHCL`o{%`h)a*>u5wm!NB+DFpwO8Aw@uYOtQ1$D_-Jjz-{Dwt1 zf+f9&8a8e>hjty&o^u$)_qdJwh_Wboce=X=L-+xIB2KQxI}JRl7Ri#NlW+Gi`!C>E zD{IoWH@h6Y_!2*2hV|;m_g1g{JTBrIua{)1_LN!HCm5!8U&}RD_H|gUVZ4tD+`!+= z&ZpB2{rXepmC;b+N!tXX#Ug{+_jfw%{0CI3iLX6v8k?Z)m+>?1aGFaU2j0Q2Fl!EW zYUelj2@8PmvT3pTfxbjVn=ZK?$`6-Mevm)=b`JCyH%^#A--y<8Tup<^qP~_q=LLL) Q5yS_Vvvuo!P_lpgAEz-s=l}o! delta 556 zcmZo@U}|V!s+V}A%K!rWK+MR%Ah3gpfx$(VfuYs&3G<()^I6|VguLxcw0#v~f3=}` ze$)w4)q@QO5+HN`BLS%R#`>3Bo0)lYjW-MM&Ssok;2<}-$XRCcDhHX#0=zntKRG-A z^1UX@ICV^JN>-YD%qb1XciCLvY{oQM$wO}P5!V`^fZpUhHyxk?jm?ML&M^UXYE9nd z8408tH&5|e!~|3kHF<(>7&8My_T)lm?ad;74a`7Ujm>)km6(C%h)n(zq6So@u-PJX z3CLiP$sfYCfC6rl6C#3uD)lx$hzMhv%mLIA7ahVp*~xvy=BW5vj6fx7o1+rN7$*lg zifwL7S_cwQnH-U_21si$W&v#r-Q1Ge1rnB#r4%REq^|;+&ce6= z$Wxyjl(7RSUo^QUb03hF*&LP?zzlTrxyg;m+MBQBE@5T`#tTz0P_6moErmybY62&p zELsnwH6|}8UI8?Tjj;qMtGv0WgozQzHJH4lvoXhY4 diff --git a/memory/memories.db-wal b/memory/memories.db-wal index dec75f3576c58ba061c62d592d4af47c00f376ad..80dbd8e5978b45c35514d9da4c33cb5cebd8e9b9 100644 GIT binary patch delta 8168 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 z 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