Context
Part of epic #6504's chat track. Chat is action-capable in v1 per the epic's explicit safety analysis: every write already executes with the miner's own local credentials and passes the fail-closed Governor chokepoint (packages/loopover-engine/src/governor/chokepoint.ts) plus the independent PreToolUse deny-hook — a chat input in front of controls that already exist as buttons creates no new privilege. This issue is the shared dispatch-layer scaffolding the three action-family child issues (discover/attempt, portfolio, governor) build on. Per house convention, action-dispatch ships behind a config flag, off by default.
Requirements
- Build the shared action-dispatch layer chat action-family issues will call into — a single, auditable path, not a parallel execution route.
- Add a config flag (off by default, flippable per-install) gating action-dispatch.
- The dispatch layer must route exclusively through the same endpoints the existing dashboard buttons already call — it must never bypass the Governor chokepoint /
PreToolUse deny-hook, call the underlying CLI/store directly, or add a parallel write path. A PR that adds any bypass, even for convenience, does not satisfy this epic's design.
- This issue has no action families wired yet — that's the 3 separate child issues, each blocked on this one landing first.
Deliverables
Test Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch, plus a regression test for the new/changed behavior (note: apps/** UI code may fall outside the strict Codecov patch gate — check coverage.include — but a before/after screenshot table per this repo's UI-PR convention is still required for any visual change).
Expected Outcome
A safe, single, auditable dispatch layer exists for chat-triggered actions, ready for the 3 action-family child issues to wire specific actions into.
Links & Resources
Epic: #6504. packages/loopover-engine/src/governor/chokepoint.ts:144-365, packages/loopover-miner/lib/governor-chokepoint.js, packages/loopover-miner/lib/pretooluse-hook.js, packages/loopover-engine/src/miner/local-write-tools.ts:1-4,17-18.
Context
Part of epic #6504's chat track. Chat is action-capable in v1 per the epic's explicit safety analysis: every write already executes with the miner's own local credentials and passes the fail-closed Governor chokepoint (
packages/loopover-engine/src/governor/chokepoint.ts) plus the independentPreToolUsedeny-hook — a chat input in front of controls that already exist as buttons creates no new privilege. This issue is the shared dispatch-layer scaffolding the three action-family child issues (discover/attempt, portfolio, governor) build on. Per house convention, action-dispatch ships behind a config flag, off by default.Requirements
PreToolUsedeny-hook, call the underlying CLI/store directly, or add a parallel write path. A PR that adds any bypass, even for convenience, does not satisfy this epic's design.Deliverables
Test Coverage Requirements
99%+ Codecov patch coverage on every changed line and branch, plus a regression test for the new/changed behavior (note: apps/** UI code may fall outside the strict Codecov patch gate — check coverage.include — but a before/after screenshot table per this repo's UI-PR convention is still required for any visual change).
Expected Outcome
A safe, single, auditable dispatch layer exists for chat-triggered actions, ready for the 3 action-family child issues to wire specific actions into.
Links & Resources
Epic: #6504.
packages/loopover-engine/src/governor/chokepoint.ts:144-365,packages/loopover-miner/lib/governor-chokepoint.js,packages/loopover-miner/lib/pretooluse-hook.js,packages/loopover-engine/src/miner/local-write-tools.ts:1-4,17-18.