.agents/memory/MEMORY.md

54 lines
3.5 KiB
Markdown

<!-- generated 2026-02-26 04:16 -->
Current Context
Active development focused on the signetai project's NPM packaging, OpenMarketUI interactions, and the Rust-based pm-kalshi trading server. Currently resolving build dependencies, fixing UI keybindings, and ensuring the trading environment (paper mode) is operational.
Active Projects
Signetai NPM Compatibility
Location: `/home/nicholai/signet/signetai`
Status: `bin/postinstall` converted to CJS to resolve NPM installation errors.
Next Steps: Monitor for Dependabot security advisories. Ensure the Predictive Memory Scorer (Rust) builds correctly and the daemon starts on port 3850.
pm-kalshi Trading System
Location: Rust crate (within signetai directory).
Status: `pm-server` is a library crate (no `main.rs` entry), while `pm-kalshi` contains the binary targets. Currently running `kalshi-paper` to launch the web dashboard on `127.0.0.1:3030`.
Blocker/Issue: The `data/markets.csv` file is 6.7GB; may cause slow loading or backtest errors. Requires `just fetch-kalshi` or the Python data fetcher to populate.
Next Steps: Verify web dashboard responsiveness and data loading speed.
OpenMarketUI / Watchtower Interaction
Location: `/home/nicholai/signet/signetai` (UI components).
Status: Working on interactive pipeline visualization and data collection.
Next Steps: Continue debugging trait-based architecture (Source → Filter → Scorer → Selector → OrderExecutor) to ensure smooth data flow.
Recent Work
Feb 26 NPM Install Fix: Modified the postinstall script from JavaScript to C-Node to ensure `npm install` works without requiring Node.js runtime, allowing the binary distribution to be used directly.
Keybinding Bug Resolution: Identified and fixed a bug where the `Enter` key (mapped as `"enter"`) was not triggering actions in the data tab because the system sent `"return"`. Updated `opentui/keybindings.ts`.
Server Initialization: Successfully started the `pm-kalshi` paper trading server with the web dashboard enabled, though compilation in release mode is taking time.
Technical Notes
Signet Architecture & Standards:
Path: Agent profile is stored at `~/.agents/`, NOT `~/.signet/`.
Linting: Uses Biome.
Commits: Must follow Conventional Commits format.
TypeScript: Strict mode is enforced; `any` types are strictly prohibited. All null checks must be explicit.
Predictive Memory Scorer: A Rust component that trains models locally; requires specific configuration to integrate with the main daemon.
Rust Build Distinctions:
`pm-server` is a library crate containing routes and WebSocket modules; it lacks a `main.rs` and requires a binary entry point (like `pm-kalshi`) to execute.
`pm-kalshi` acts as the binary crate containing the entry point logic for the paper trading mode.
OpenMarketUI Architecture:
Utilizes a trait-based architecture for trading logic: `Data Source` -> `Filter` -> `Scorer` -> `Selector` -> `Order Execution`.
Environment:
Development is performed on Hyprland (Wayland compositor) running on Arch Linux.
Rules & Warnings
UI Development: CRITICAL. Never delegate UI tasks (buttons, dashboards, complex layouts) to subagents. Perform them directly according to Opus rules, ensuring all visual references are passed.
Database Safety: CRITICAL. Never delete a production database without first creating a backup.
Type Safety: Enforce strict TypeScript typing. Do not use `any` types; use explicit null checks.