Part of #14. Ref: docs/ARCHITECTURE_V2.md §3 (the key idea).
Define every capability ONCE as a typed command; IPC, localhost HTTP (agent), and in-process calls become transports over one CommandBus. The MCP server becomes a thin adapter.
Tasks
Done when: one definition per capability; agent has automatic parity with the UI. (The triage recipe engine already previews this pattern.)
Part of #14. Ref: docs/ARCHITECTURE_V2.md §3 (the key idea).
Define every capability ONCE as a typed command; IPC, localhost HTTP (agent), and in-process calls become transports over one
CommandBus. The MCP server becomes a thin adapter.Tasks
shared/commands.tstyped command contract (doc.search, doc.getLines, analyze.run, triage.recipe, …).CommandBus+ transports: ElectronIPC, HTTP, in-proc.Done when: one definition per capability; agent has automatic parity with the UI. (The triage recipe engine already previews this pattern.)