2026-02-28T11-06-24_auto_AGENTS.md

This commit is contained in:
Nicholai Vogel 2026-02-28 04:06:24 -07:00
parent 691fc42ec3
commit f21de0b00e

View File

@ -87,54 +87,67 @@ See USER.md for the full project list.
<!-- MEMORY_CONTEXT_START -->
## Memory Context (auto-synced)
<!-- generated 2026-02-24 04:09 -->
<!-- generated 2026-02-27 04:15 -->
Current Context
Nicholai is actively refactoring the Signet core ingest pipeline to eliminate duplication and standardize LLM provider integration. Recent work includes extracting common utilities and migrating the LlmProvider interface to core to resolve circular dependency issues.
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.
Active Projects
1. Ingest Pipeline Refactoring & Deduplication
Location: `packages/core/src/ingest/`
Status: In progress - working on Ollama client replacement
What's Next:
- Create `git-utils.ts` and `chat-utils.ts` for shared logic
- Refactor `ollama-client.ts``response-parser.ts` (keep parsing logic, drop HTTP client)
- Move `LlmProvider` interface from daemon to core
- Update extractors to accept `LlmProvider` via constructor
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.
2. ProtonMail MCP Server Setup
Location: `~/proton-mcp/`
Status: Complete - proton bridge installed, MCP configured
What's Next: User needs to restart Claude Code session for MCP to pick up changes
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.
3. Ingestion Pipeline PR #25 Cherry-Pick
Location: `packages/core/src/ingest/`
Status: Fixes applied to chat parsers, database interfaces, PDF/slack parsers
What's Next: Migration script needs to be created and tested
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.
Recent Work
- Ollama Client Refactor Plan: Identified that `ollama-client.ts` contains two distinct concerns - HTTP calls (to be replaced by `LlmProvider.generate()`) and response parsing (to be kept in new `response-parser.ts`)
- Proton Bridge Setup: Installed 3.22.0, configured MCP server with credentials stored in Signet secrets, verified ports 1143/1025 are used
- Pipeline Fixes Applied: Fixed prompt injection in extractors, updated DatabaseLike interfaces, added `as any` for PDF parser, removed non-null assertion in slack parser
- LlmProvider Migration: Moving interface from daemon to core to resolve circular dependency; extractors will be updated to inject provider via constructor
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.
Technical Notes
- Signet Config: CLI v0.1.7 loads existing config values as defaults automatically
- Secrets Storage: Use `signet secret` command to store sensitive data (e.g., PROTON_EMAIL, PROTON_BRIDGE_PASSWORD)
- Agent Location: Signet agent profile lives at `~/.agents/`
- Embeddings: EmbeddingsTab.svelte now rewrites `switchGraphMode()` for 3D rendering
- LLM: Currently using Ollama for extraction; moving to LlmProvider abstraction
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.
Rules & Warnings
- Never delete production database without backup
- Keep journal entries in memory database regularly
- For UI work, always handle directly - never delegate to subagents
- Base64 encoding with padding is prohibited
- Master config switches must remain flat at root level
- The `lastFrame` parameter placement is critical in Veo predictLongRunning endpoint
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.
<!-- MEMORY_CONTEXT_END -->