Currently the Controller receives free-text prompts via persistent_luci.send(). A structured JSON interface would make "Controller decides" enforceable, testable, and auditable....
StateDoneNext ActionClosedOwnerLuciRuntimeClosedAge12d ago
Currently the Controller receives free-text prompts via persistent_luci.send(). A structured JSON interface would make "Controller decides" enforceable, testable, and auditable.
Acceptance Criteria:
- [ ] Design JSON schema for Controller decisions (dispatch, park, escalate, close)
- [ ] Controller can emit structured decisions via tool call
- [ ] Decisions are validated and logged
- [ ] Backward compatible with free-text prompts
Files: control_room_events.py, New module: control_room_decisions.py
Evidence: Council review finding (2026-06-01): Opus reviewer recommended as long-term improvement.
Activity
done
INTERACTIVE
Luci is working...
Details —
Done
· Low
· Luci
▼
SState
Done
Closed
PPeople
TTiming / Details▼
luci (human)
Mission Control
12d ago
12d ago
Advanced / Operator evidence
RRouting owner
ROperator console
Ticket is done; runtime is closed.MC is visibility-only. Hermes Luci launches and gates work outside MC, then mirrors evidence/status here.
WWorkflow
Start Dev Review + QA ▾
Select phases to include:
Agents
Review Gates
Decision
WAT routing: choose an agent, review gate, or decision. Buttons use the live runtime when one is attached.
Controller gate: verified implementation landed on master in commit dc5ad66; Control Room v2 regression suite passed (180 passed). Closing stale needs_input row left by headless worker retirement.