Skip to content

design: human dispatch bypasses the orchestrator - direct-to-worker (default: broadcast!) should flow through the god #44

Closed

Description

@Gulum

Sibling of #42, but on the messaging path instead of the ledger: the Command Center's DISPATCH box lets the human deliver a task directly into any worker's inbox, bypassing the orchestrator entirely.

Why that's broken:

  1. The default target is broadcast — the same task lands in every worker's inbox at once, and N workers race the same job. The GitHub-issue assign flow even sets broadcast explicitly.
  2. It bypasses the god's entire job. The system prompt makes the orchestrator own decomposition, dispatch decisions and the ledgers ("write it as a 4-part contract", "keep board.md and tasks.json accurate") — a direct human dispatch produces none of that: no OBJECTIVE/OUTPUT/TOOLS/BOUNDARIES contract, no card in tasks.json, no board entry. The god's floor awareness silently diverges from reality.
  3. The picker even offers the send-only prep assistant, whose inbox nothing ever reads (Direct mail to the send-only prep assistant black-holes - delivered into an inbox nothing ever reads #32's black hole, resolved at the router by fix: enforce the assistant's send-only contract at the router (fixes #32) #33 — but the UI shouldn't aim there in the first place).

The one legitimate need behind the worker picker — "I'd like Pam to do this" — belongs inside the brief to the god, not as a bypass around him.

Proposal: all human dispatch flows through the god.

  • The dispatch always mails the god (Task from the human).
  • The worker dropdown becomes "suggested owner" — forwarded in the brief as "the human suggests Pam for this — your call as orchestrator". Default: Michael decides.
  • broadcast is removed; the assistant leaves the list.
  • The god decomposes, writes the card (with assignee), and dispatches with a proper contract — the human's intent arrives with full context instead of around it.

Together with #42 (single-writer over tasks.json) this completes the principle: the human talks to the organization through its manager, not past him.

Implementation: PR follows.

Activity

  1. chaitanyagiri commented on Jun 7, 2026

    @chaitanyagiri
    Collaborator

    Status: being built — PR #45 implements this.

    Triaged against the code: the premise is exact. The Command Center DISPATCH box wrote straight into a worker's inbox (hiveSend({ to: dispatchTo, … })), and the default target was broadcast — the GitHub-issue assign flow even set it explicitly — so the same task landed in every worker's inbox at once, with none of the god-prompt's mandated structure (4-part contract, tasks.json card, board entry). The picker also offered the send-only assistant (the #32/#33 black hole).

    PR #45 does exactly the proposal here: every dispatch now mails the god (Task from the human), the dropdown becomes a suggested owner forwarded in the brief (default Michael decides), broadcast is gone, and the assistant is filtered out. I reviewed + built it (segregated, green) — approved. This will auto-close on merge via Fixes #44.

    Together with #42 (single writer over tasks.json) this lands the same principle on both rails — ledger and messaging: the human talks to the org through its manager, not past him.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions