After the Board reviews a task, the orchestrator sets board_review_complete,
notifies the CEO, and leaves the task PENDING (that pending state is what
drives Main PM dispatch on approval). But the panel never surfaced this:
- The task-page "Approve & Start" button was gated on team===BOARD plus a
product-scoped predicate (no project_id, has product_id). A project-scoped
intake task carries a project_id, team=its lead cell, and no product_id, so
the button rendered nowhere and the CEO had no way to approve it.
- The dashboard CEO Approval Queue only queried awaiting_ceo_approval, so a
board-reviewed pending task showed up nowhere on the dashboard either.
Fixes:
- Gate the task-page button on the orchestrator's own criterion: pending +
board_review_complete, and not yet handed to Main PM (team !== main_pm).
- Add a "Ready to start · board reviewed" section to the dashboard CEO
Approval Queue listing pending + board_review_complete tasks, each with an
Approve & Start action, with the header count covering both stages.
Both exclude team === main_pm because approve_and_start re-targets the task to
the Main PM without changing status — otherwise an already-approved task would
never leave the queue.
The intake (prompter) agent was spawned with its role prompt missing, so it
only saw the gateway verbs layer (whose sole verb is `i_am_idle`) plus the
base rules. It concluded it had no way to act and refused to draft tasks —
the live intake chat produced empty turns and never called `propose_draft`.
Root cause: `prompter` was absent from `_ROLE_LAYER_MAP`, so `compose_prompt`
silently skipped `agents/prompts/roles/prompter.md` — the interviewer prompt
that defines the intake mission and the `propose_draft` tool. The tool was
wired into the SDK the whole time; the agent was just never told it existed.
Fix: map `prompter` to `prompter.md` so the role layer is composed in, the
same as every other role.