diff --git a/memory/MEMORY.md b/memory/MEMORY.md index 13b5cc38e..cc9423465 100644 --- a/memory/MEMORY.md +++ b/memory/MEMORY.md @@ -1,63 +1,44 @@ - + Current Context - -Active maintenance of the `signetai` monorepo and OpenMarketUI ecosystem, with a specific focus on contributing high-value fixes to the OpenClaw project and engaging its community by positioning Signet as a complementary utility rather than a competitor. +The current focus is on stabilizing the Signet dashboard (Astro/React stack) after resolving a critical Svelte 5 reactivity bug, while maintaining the ongoing implementation of the Skills API module and integration of Pipeline configurations. Active Projects -OpenMarketUI (Core) - Location: `/home/nicholai/signet/signetai` - Status: Main branch active, codebase audit completed. - Details: A multi-component system including the trading pipeline, UI components, and Astro-based static site generator. Currently using TypeScript, Biome for linting (no config file), and Bun/Turbo for build orchestration. - Next Steps: Continue monitoring PRs and ensuring consistent naming conventions throughout the codebase. +1. Signet Dashboard Bug Fixes + Location: `dashboard/` (specifically `SettingsTab.svelte`) + Status: Completed & Verified. + Details: Resolved a `effect_update_depth_exceeded` error that prevented collapsible sections in the Settings tab from being clickable. The issue was a reactivity cycle where the `$effect` tracked a reactive `configFiles` prop while mutating `$state`. + Next Steps: Ensure the fix is stable in production and monitor for similar reactivity issues in other Svelte components. -Predictive Memory Scorer (R&D) - Location: Rust implementation, architecture docs in `docs/wip/predictive-memory-scorer.md` - Status: Architecture defined; ACAN reference available in `references/acan/`. - Details: Experimental component utilizing 8 delegated agents for real-time preference processing. - Next Steps: Implementation and integration testing. +2. Skills Module Implementation + Location: `packages/daemon/src/routes/skills.ts` + Status: Designed/Architected. + Details: Developing RESTful HTTP API endpoints for skills management (GET, POST, DELETE). The module is designed with zero database dependencies. + Next Steps: Implement the route handlers and test daemon change verification steps. -OpenMarketUI Website - Location: `/web/` (Astro) - Status: Active build and deployment pipeline. - Details: Published as an npm package named `openmarketui-web` and deployed via Cloudflare Pages. - -OpenClaw Ecosystem Engagement - Status: Bugfixing and Community Outreach. - Details: Currently fixing specific issues in the OpenClaw codebase and drafting forum content to share Signet features. - Next Steps: Complete the secret provider timeout bugfix; finalize and post the OpenClaw discussion thread emphasizing problem-solving over feature comparison. +3. Pipeline Configuration Integration + Location: `isaac-research-chain` (destination repo) + Status: Pending. + Details: Integrating the PipelineV2Config, which currently uses a flat structure, into the target repository. + Next Steps: Execute the merge process for the PipelineV2Config. Recent Work -OpenClaw Bugfix: Mistral Tool Call Sanitization - Action: Fixed a logic error in `src/agents/transcript-policy.ts:120`. - Issue: The condition `sanitizeToolCallIds: !isOpenAi && sanitizeToolCallIds` incorrectly short-circuited sanitization for Mistral models when used via an OpenAI-compatible provider. - Resolution: Added regression tests and committed the fix. PR created for review. - -OpenClaw Outreach Strategy - Action: Drafted content for OpenClaw discussions. - Decision: Shifted the narrative away from comparing Signet to ChatGPT/Claude Code. Instead, focused on Signet being a practical solution to specific pain points identified in OpenClaw discussions (#842 memory issues, #9676 secrets concerns). - -OpenClaw Bugfix: Exec Secret Provider Timeout - Action: Identified hardcoded timeout in `src/secrets/resolve.ts:544`. - Issue: The timeout was fixed at 2000ms, ignoring user-configured `timeoutMs` values. - Status: Identified root cause; fix implementation in progress. + Svelte 5 Reactivity Fix: Identified and patched the reactivity bug in `SettingsTab.svelte`. The fix involves wrapping the `st.init(configFiles)` call in `untrack()` to prevent the `$effect` from creating a dependency loop that triggered infinite re-initialization of the store. The dashboard and daemon have been restarted and verified to be functioning correctly with Playwright. + Daemon Management: Performed daemon restarts and testing to validate the Settings tab fix. Ensured `bun.lockb` and environment variables are correctly configured. + Agent Configuration: Clarified the path for agent profile storage (`~/.agents/`) to ensure correct file system interactions. Technical Notes - Environment: Operating system is Arch Linux running Hyprland window manager. - Storage: User state and secrets are stored in `~/.agents/`. The memory database uses SQLite located within this directory. - Secrets Management: Mandatory workflow uses `secret_list` MCP to discover secrets and `secret_exec` MCP to execute commands securely. - TypeScript Configuration: Strict mode enforced. No usage of `any` types allowed; must use `unknown` with narrowing. Null checks must be explicit. - Git: Commit messages must follow Conventional Commits format. - UI Workflow: For any frontend/UI work involving images or complex layouts, always use the original image references and do not delegate the task to sub-agents. - Session Handling: The session compacting hook is active but limited in scope. + Stack: The application frontend uses Astro for the static site shell and React components for dynamic UI elements. The core daemon logic is written in TypeScript. + Deployment Target: The static site builds are intended for deployment at `https://www.signetai.sh`. + Agent Config Path: All agent profile configurations must be stored in `~/.agents/` and sourced from `AGENTS.md`, not `~/.signet/`. + UI Development Constraints: Strict rule—UI work (Svelte, React, Tailwind) must not be delegated to subagents. Must be handled directly by the assistant with direct reference passing. Rules & Warnings - Security First: Never delete production data without creating a backup first. - Secrets: Always utilize the `secret_list` and `secret_exec` MCP tools for any operations involving secrets. - Code Quality: Enforce strict TypeScript rules: `any` is forbidden; use `unknown` with type narrowing; explicit null checks preferred. - UI Guidelines: Never delegate UI-related coding to sub-agents. Ensure original image references are preserved in all renders. - Maintenance: Update `MEMORY.md` in the local database at least once per session to track progress and context. \ No newline at end of file + UI Work Prohibition: Never delegate UI debugging or coding tasks (Svelte/React components, styling) to subagents. The assistant must execute these tasks manually. + Daemon Verification: Before deploying daemon changes, ensure full verification is performed to prevent runtime errors. + Path Correctness: Always use `~/.agents/` for agent configuration files. +- Svelte 5 Awareness: Be vigilant about Svelte 5 reactivity features. Issues often arise when `$state` is initialized inside closures or when `$effect` creates circular dependencies with reactive props. Use `untrack()` when necessary to break those loops. \ No newline at end of file diff --git a/memory/debug.log b/memory/debug.log index f6762dda2..8c92fa899 100644 --- a/memory/debug.log +++ b/memory/debug.log @@ -735,3 +735,5 @@ We are synthesizing a WORKING MEMORY document for Nicholai. Focus is on CURRENT 2026-02-28T04:14:37.211423 [regenerate] starting regeneration 2026-02-28T04:14:40.604814 [regenerate] found 645 transcripts, 50 memories 2026-02-28T04:14:40.604918 [regenerate] trying model: glm-4.7-flash +2026-02-28T04:16:01.282446 [regenerate] success with glm-4.7-flash (3416 chars) +2026-02-28T04:16:01.282770 [regenerate] wrote 3453 chars to MEMORY.md