From e83785c1ebf38380ef0d080f338b4d124f5fa1ec Mon Sep 17 00:00:00 2001 From: Nicholai Date: Mon, 23 Feb 2026 06:20:58 -0700 Subject: [PATCH] 2026-02-23T13-20-58_auto_memory/memories.db-wal, memory/memories.db-wal, me --- .daemon/logs/signet-2026-02-23.log | 10 ++++++++++ AGENTS.md | 12 ++++++++++++ memory/memories.db-shm | Bin 32768 -> 32768 bytes memory/memories.db-wal | Bin 4482592 -> 4482592 bytes 4 files changed, 22 insertions(+) diff --git a/.daemon/logs/signet-2026-02-23.log b/.daemon/logs/signet-2026-02-23.log index d08d56eec..07a48f4d7 100644 --- a/.daemon/logs/signet-2026-02-23.log +++ b/.daemon/logs/signet-2026-02-23.log @@ -5787,3 +5787,13 @@ {"timestamp":"2026-02-23T13:18:08.954Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai"}} {"timestamp":"2026-02-23T13:18:08.956Z","level":"info","category":"hooks","message":"Session start completed","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai","memoryCount":15,"injectChars":6598,"injectPreview":"[memory active | /remember | /recall]\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## Working Memory\n\n\n\nCurrent Context\n\nFull integration of OpenCode plugin system and optimization of embeddings view performance in the Signet dashboard.\n\nActive Projects\n\nOpenCode Plugin Full Integration — `packages/opencode-plugin/`, `packages/connector-opencode/`\n- Status: Implementation complete, awaiting build verification\n- What was done: Removed string-template hack, created standalone plugin package with 8 tool definitions, refactored connector to embed compiled plugin, enforced strict TypeScript discipline\n- Next: Verify build passes, test plugin auto-discovery in OpenCode\n\nEmbeddings View Performance Optimization — `packages/cli/dashboard/src/lib/components/tabs/EmbeddingsTab.svelte`, `EmbeddingCanvas2D.svelte`\n- Status: Complete (7 fixes applied)\n- What was done: Implemented rAF idle loop, converted reactive hover state to derived, added requestRedraw helper for interactions, fixed edge batching\n- Next: Monitor CPU usage and interaction responsiveness\n\nRecent Wo\n...[truncated 4098 chars]","durationMs":1}} {"timestamp":"2026-02-23T13:18:08.956Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T13:18:14.015Z","level":"info","category":"git","message":"Auto-committed","data":{"message":"2026-02-23T13-18-13_auto_memory/memories.db-wal, memory/memories.db-wal","filesChanged":2}} +{"timestamp":"2026-02-23T13:20:44.811Z","level":"info","category":"summary-worker","message":"Enqueued session summary job","data":{"jobId":"2d64d7bd-0dc9-4907-acff-04456981b99f","harness":"claude-code","sessionKey":"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde","project":"/home/nicholai/signet/signetai","transcriptChars":12012,"transcriptPreview":"{\"type\":\"file-history-snapshot\",\"messageId\":\"5cf1993f-2adc-4531-bb4d-aa1960ad99d4\",\"snapshot\":{\"messageId\":\"5cf1993f-2adc-4531-bb4d-aa1960ad99d4\",\"trackedFileBackups\":{},\"timestamp\":\"2026-02-23T13:06:01.282Z\"},\"isSnapshotUpdate\":false}\n{\"parentUuid\":null,\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai\",\"sessionId\":\"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"slug\":\"quirky-brewing-origami\",\"type\":\"progress\",\"data\":{\"type\":\"hook_progress\",\"hookEvent\":\"SessionStart\",\"hookName\":\"SessionStart:clear\",\"command\":\"signet hook session-start -H claude-code --project \\\"$(pwd)\\\"\"},\"parentToolUseID\":\"80d9b8e0-9814-4249-b615-ef394daa73a0\",\"toolUseID\":\"80d9b8e0-9814-4249-b615-ef394daa73a0\",\"timestamp\":\"2026-02-23T13:05:59.699Z\",\"uuid\":\"8ff913d8-c2cb-4659-85d1-b9bc65fe8012\"}\n{\"parentUuid\":\"8ff913d8-c2cb-4659-85d1-b9bc65fe8012\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai\",\"sessionId\":\"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"slug\":\"quirky-brewing-origami\",\"type\":\"user\",\"message\":{\"role\":\"user\",\"content\":\"Implement the following plan:\\n\\n# Restructure PipelineV2Conf\n...[truncated 10812 chars]"}} +{"timestamp":"2026-02-23T13:20:44.811Z","level":"info","category":"hooks","message":"Session end queued for summary","data":{"jobId":"2d64d7bd-0dc9-4907-acff-04456981b99f"}} +{"timestamp":"2026-02-23T13:20:44.811Z","level":"info","category":"hooks","message":"Session end transcript queued","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai","sessionKey":"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde","transcriptPath":"/home/nicholai/.claude/projects/-home-nicholai-signet-signetai/e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde.jsonl","transcriptChars":2922999,"queuedChars":12012,"transcriptPreview":"{\"type\":\"file-history-snapshot\",\"messageId\":\"5cf1993f-2adc-4531-bb4d-aa1960ad99d4\",\"snapshot\":{\"messageId\":\"5cf1993f-2adc-4531-bb4d-aa1960ad99d4\",\"trackedFileBackups\":{},\"timestamp\":\"2026-02-23T13:06:01.282Z\"},\"isSnapshotUpdate\":false}\n{\"parentUuid\":null,\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai\",\"sessionId\":\"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"slug\":\"quirky-brewing-origami\",\"type\":\"progress\",\"data\":{\"type\":\"hook_progress\",\"hookEvent\":\"SessionStart\",\"hookName\":\"SessionStart:clear\",\"command\":\"signet hook session-start -H claude-code --project \\\"$(pwd)\\\"\"},\"parentToolUseID\":\"80d9b8e0-9814-4249-b615-ef394daa73a0\",\"toolUseID\":\"80d9b8e0-9814-4249-b615-ef394daa73a0\",\"timestamp\":\"2026-02-23T13:05:59.699Z\",\"uuid\":\"8ff913d8-c2cb-4659-85d1-b9bc65fe8012\"}\n{\"parentUuid\":\"8ff913d8-c2cb-4659-85d1-b9bc65fe8012\",\"isSidechain\":false,\"userType\":\"external\",\"cwd\":\"/home/nicholai/signet/signetai\",\"sessionId\":\"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde\",\"version\":\"2.1.50\",\"gitBranch\":\"main\",\"slug\":\"quirky-brewing-origami\",\"type\":\"user\",\"message\":{\"role\":\"user\",\"content\":\"Implement the following plan:\\n\\n# Restructure PipelineV2Config into Nested Sub-objects\\n\\n## Context\\n\\n`PipelineV2Config` is a flat bag of 30+ fields that grew organically. Prefixed groups (`rerankerEnabled/Model/TopN/TimeoutMs`, `repairReembed*/Requeue*`, `document*`) are obviously sub-objects living at the top level. This makes `agent.yaml` hard to scan a\n...[truncated 10512 chars]"}} +{"timestamp":"2026-02-23T13:20:44.811Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T13:20:49.689Z","level":"info","category":"summary-worker","message":"Processing session summary","data":{"jobId":"2d64d7bd-0dc9-4907-acff-04456981b99f","harness":"claude-code","attempt":1,"sessionKey":"e35c50a7-dfd9-4a21-bd70-c8e8eaef4bde","project":"/home/nicholai/signet/signetai"}} +{"timestamp":"2026-02-23T13:20:49.690Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} +{"timestamp":"2026-02-23T13:20:53.782Z","level":"info","category":"hooks","message":"Session start hook","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/web"}} +{"timestamp":"2026-02-23T13:20:53.783Z","level":"info","category":"hooks","message":"Session start completed","data":{"harness":"claude-code","project":"/home/nicholai/signet/signetai/web","memoryCount":23,"injectChars":6552,"injectPreview":"[memory active | /remember | /recall]\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\nDashboard UI\n---\n\nAll UI work in the Signet dashboard (Svelte 5 + Tailwind v4) must use\ncomponents from **shadcn-svelte** (https://www.shadcn-svelte.com).\n\n- Reference: https://www.shadcn-svelte.com/llms.txt\n- Built on Bits UI primitives, TypeScript, and Tailwind CSS\n- Use the CLI/registry to add components (`npx shadcn-svelte@latest add `)\n- Prefer existing shadcn-svelte components over custom implementations\n- Follow shadcn-svelte theming conventions (CSS variables, dark mode)\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## Working Memory\n\n\n\nCurrent Context\n\nFull integration of OpenCode plugin system and optimization of embeddings view performance in the Signet dashboard.\n\nActive Projects\n\nOpenCode Plugin Full Integration — `packages/opencode-plugin/`, `packages/connector-opencode/`\n- Status: Implementation complete, awaiting build verification\n- What was done: Removed string-template hack, created standalone plugin package with 8 tool definitions, refactored connector to embed compiled plugin, enforced\n...[truncated 4052 chars]","durationMs":1}} +{"timestamp":"2026-02-23T13:20:53.783Z","level":"info","category":"watcher","message":"File changed","data":{"path":"/home/nicholai/.agents/memory/memories.db-wal"}} diff --git a/AGENTS.md b/AGENTS.md index 3f8a051f7..13d026fc0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -51,6 +51,18 @@ signet secret list ``` +Dashboard UI +--- + +All UI work in the Signet dashboard (Svelte 5 + Tailwind v4) must use +components from **shadcn-svelte** (https://www.shadcn-svelte.com). + +- Reference: https://www.shadcn-svelte.com/llms.txt +- Built on Bits UI primitives, TypeScript, and Tailwind CSS +- Use the CLI/registry to add components (`npx shadcn-svelte@latest add `) +- Prefer existing shadcn-svelte components over custom implementations +- Follow shadcn-svelte theming conventions (CSS variables, dark mode) + About Your User --- diff --git a/memory/memories.db-shm b/memory/memories.db-shm index a13f16850403580ecef604d9735a2b5c343750e5..51752bf4ff7bd35da1ac01f4cd3dd9d3be0458ee 100644 GIT binary patch delta 533 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 z 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 BB