diff --git a/memory/MEMORY.md b/memory/MEMORY.md index bc6b26522..b805fa130 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -1,59 +1,46 @@ - + Current Context -Working on Signet AI memory pipeline enhancements, focusing on debugging observability, embedding health tracking, and conversation continuity improvements. +The current focus is split between building a new utility site (`chatgpt-to-claude.com`) designed to facilitate ChatGPT-to-Claude memory migration and enhancing the core Signet CLI/daemon capabilities. Marketing efforts are active on Reddit, targeting OpenAI user sentiment with a specific stylistic approach. Active Projects -1. Signet Debug Harness (HIGH PRIORITY - LONG-TERM) -Status: Planning/Initial Scaffolding -Location: New package to be added to workspace -Context: Building a conversational interface for full pipeline observability, inspired by pi-mono's event-driven architecture and extension system -Next Steps: -- Scaffolding `packages/harness` package -- Building daemon client for real-time pipeline monitoring -- Implementing observer mode and multiple visualization modes (inline, hidden, split pane) -- Integrating pi-mono's extension API to mirror Signet's hook types +1. chatgpt-to-claude.com Migration Utility + Location: New Astro/React project (generated via `/astro-portfolio-site`). + Status: Architecture planned, scaffolding complete (wizard orchestrator, 4-step wizard components, homepage, design system). Blog infrastructure and SEO pages are drafted. + Next Steps: Finalize the actual blog post content (Tutorial style, SEO optimized, keyword heavy for migration intent), ensure the migration wizard handles the ChatGPT-to-Claude bulk export/import logic, and deploy for domain verification. -2. Incremental Embedding Refresh Tracker (HIGH PRIORITY - ACTIVE) -Status: Implementation in progress -Location: `packages/core/src/embedding-tracker.ts`, daemon integration in `packages/daemon/src/daemon.ts` -Context: Background polling loop to detect stale/missing embeddings when content changes or model switches -Next Steps: -- Add `PipelineEmbeddingTrackerConfig` type and parsing -- Create tracker module with `trackStaleEmbeddings()` function -- Wire tracker into daemon lifecycle (start after pipeline, stop in cleanup) -- Enhance `/status` endpoint to report tracker status +2. Signet CLI & Daemon Development + Location: `/home/nicholai/signet/signetai` (main branch). + Status: CLI structure (~4600 LOC in `cli.ts`) is robust. The `experimental.session.compacting` hook is implemented. The Skills HTTP API routing structure is being designed in `packages/daemon/src/routes/skills.ts`. + Next Steps: Implement the remaining HTTP routes for the Skills API (GET, POST, DELETE), ensure test coverage for new routing logic, and finalize the checkpoint database separation logic. -3. Pre-Compaction Capture (MEDIUM PRIORITY - ACTIVE) -Status: Phase 2 in progress -Location: `packages/session-manager/src/continuity-state.ts`, `packages/session-manager/src/session-checkpoints.ts` -Context: Improving conversation continuity at compaction boundaries -Next Steps: -- Add `pendingPromptSnippets` to continuity state -- Modify `recordPrompt()` to store keyword-only snippets -- Update `consumeState()` to snapshot and reset snippets -- Add session_end checkpoint trigger and digest formatters with snippet enrichment +3. Marketing & Community Engagement + Location: Reddit (r/OpenAI, r/ChatGPT), Facebook Business Manager. + Status: Facebook meta-tag successfully committed and verified. Reddit engagement is live; a successful interaction with an OpenAI user regarding data deletion anxieties was pivoted to highlight Signet's local-first value proposition using the established Reddit style guide. + Next Steps: Monitor Reddit engagement metrics, continue authentic engagement without heavy marketing fluff, and prepare assets for the migration site launch. Recent Work -- Debug Harness Planning: User requested observability tool; began architectural planning inspired by pi-mono's approach -- Embedding Tracker: Added types to `core/src/types.ts`, created `embedding-tracker.ts` module, updated `memory-config.ts` for tracker configuration, started daemon wiring -- Pre-Compaction: Enhanced checkpoint system to capture periodic snapshots; now adding passive capture for compaction boundaries with prompt snippet enrichment + Site Scaffolding: Successfully generated a new Astro portfolio site with a custom design system and React components to handle the migration wizard functionality. The wizard architecture (orchestrator + 4-step components) was completed and integrated into the homepage layout. + Content Writing: Drafted a migration tutorial blog post focusing on genuine utility and SEO keywords ("switch from ChatGPT to Claude", "import memory"). The content was written to be authentic and informative, avoiding "product-launch" language. + Git & Deployment: Resolved a Facebook domain verification issue where git hooks were interfering with file staging. Fixed by staging and committing files separately. + CLI Routing: Defined the endpoints for the Skills API (list, install, remove) and began implementation of `packages/daemon/src/routes/skills.ts`. + Marketing Tone Adjustment: Rejected an initial "shitty sounding" marketing draft for Reddit. Established and adhered to the `REDDIT_STYLE_GUIDE.md` (authentic, direct, dev-voice, local-first pitch). Technical Notes -- Project Structure: Monorepo with `packages/core`, `packages/daemon`, `packages/session-manager` -- Key Files Modified: `daemon.ts`, `memory-config.ts`, `continuity-state.ts`, `session-checkpoints.ts` -- Integration Points: Pipeline hooks, connector pre-compaction, status endpoints -- Models: Using local LLMs; embedding health critical for RAG performance -- Configuration: Pipeline configuration loaded via `loadPipelineConfig()` with support for multiple feature flags + Tech Stack: Astro for the migration site (server-side rendering capabilities for SEO), React for interactive components (Wizard), Node.js for Signet CLI. + Signet Architecture: The CLI relies on a daemon process managed via `cli.ts`. The daemon handles background tasks like memory compaction (`experimental.session.compacting`). + Database: Memory and checkpoints are managed via SQLite/DB structures. The separation of checkpoints from main memory logs is a known architectural consideration. + Marketing Strategy: SEO targets "migration intent" keywords. The blog content aims for high keyword density without sacrificing readability. + UI Constraints: The wizard must remain simple. "No complex UI" and "minimal icons" are preferred over heavy aesthetics. Rules & Warnings -- Pipeline Hooks: Claude Code connector lacks PreCompaction hook; this is the #1 continuity pain point -- Checkpoint Data: Phase 1 used keyword-only data; Phase 2 adds prompt snippets for richer context -- File Paths: Working in `packages/` directory structure; verify exports from core barrel before use -- Daemon Lifecycle: Trackers must start after pipeline init and stop in cleanup -- Checkpoint Triggers: Ensure `"session_end"` added to CheckpointTrigger union for proper formatting \ No newline at end of file + UI/UX: Keep the wizard simple and direct. Avoid complex interactions or heavy iconography; focus on utility and clarity. + Marketing Tone: On Reddit, use an authentic, "dev voice" ("built something called") rather than a marketing voice ("launching our product"). Be opinionated but helpful. Avoid fluff. + Git Workflow: Be vigilant with Git hooks that might block file additions (e.g., Facebook meta-tag). If hooks fail, stage and commit files manually rather than forcing them. + Development: Stick to the main branch. The `experimental.session.compacting` hook is active and functional. + Code Structure: Adhere to the existing CLI structure in `cli.ts`. Ensure new daemon routes in `packages/daemon` match the established API patterns. \ No newline at end of file diff --git a/memory/debug.log b/memory/debug.log index bd5453b2b..b89666e63 100644 --- a/memory/debug.log +++ b/memory/debug.log @@ -745,3 +745,5 @@ We are synthesizing a WORKING MEMORY document for Nicholai. Focus is on CURRENT 2026-03-02T04:07:37.463072 [regenerate] starting regeneration 2026-03-02T04:07:40.985919 [regenerate] found 636 transcripts, 50 memories 2026-03-02T04:07:40.986027 [regenerate] trying model: glm-4.7-flash +2026-03-02T04:09:07.632143 [regenerate] success with glm-4.7-flash (4586 chars) +2026-03-02T04:09:07.632516 [regenerate] wrote 4623 chars to MEMORY.md diff --git a/memory/memories.db-wal b/memory/memories.db-wal index b7b99c260..9fb9cb198 100644 Binary files a/memory/memories.db-wal and b/memory/memories.db-wal differ