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.