Skip to content

OpenChamber dispatch v1.1: admission control, hand-backs, stall nudges, harvesting, Workhorse-first routing #1187

Open

Description

@dezren39

What

v1.1 of the OpenChamber dispatch system (design:
files/openchamber-dispatch-babysitter-design-2026-10-26.md): turn
the report-only babysitter into the working dispatcher + babysitter.

Scope

  • Dispatcher: claims queue tasks whose packet carries
    executor: openchamber (larger code work: effort/m+l, session-shaped
    per triage), admits against (a) location capacity and (b) the POOL
    MAP measurement gate for the routed pool (fresh quota read; ≥85% of
    window = no new heavy work). Creates the session in a per-task
    worktree on branch queue/<task-id>-<issue>-<slug> and records the
    binding (session id, location, pool/route, started-at) on the task.
  • Hand-back: no slot or no headroom → park the task with reason
    class executor-saturated and note it on the issue. Saturation is
    reported, never a silent backlog; a Claude lane can still claim the
    task if urgent.
  • Babysitter actions: stall nudge (one message into a session idle

    20 min while claiming work: checkpoint/continue/state blocker; max
    2, then escalate to the monitor tracker); wall handling (quota stop =
    park blocked with the wall named, never a PAYG fallback); harvesting
    (session done → verify against GitHub → complete/park/block the task
    with labels synced and an agent-note on the issue).

  • Routing policy as config: Fast / Workhorse (default) / Frontier
    tiers per the design; escalation to Frontier requires recorded
    evidence (failed Workhorse attempt or design-shaped triage); the
    split pattern (Frontier plan → Workhorse/Fast implementation) is a
    first-class dispatch shape. Routing ledger entries land in the
    babysitter report.

Acceptance criteria

  • A task marked executor: openchamber flows queue → session →
    PR → verified terminal queue state with no Claude lane involved.
  • With the location at capacity, the next candidate is handed back
    (parked, executor-saturated, issue noted) within one round.
  • A deliberately stalled session receives exactly one nudge, and a
    second stall escalates instead of nudging forever.
  • Every Frontier session in a week of reports has a recorded
    escalation reason; Workhorse-first is the observed default.
  • No dispatched task evaporates: every binding ends in a terminal
    state or a named hand-back (monitor Duty 1 stays clean).

Depends on: babysitter v1 (report-only) and the session-API + quota
attribution pilots. Filed by Muse (operator) 2026-10-26.

Activity

  1. added
    kind/featureNew feature or capability request
    priority/highImportant and time-sensitive
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 27, 2026
  2. developing-today commented on Oct 27, 2026

    @developing-today
    Contributor
  3. added
    area/infraInfrastructure, deployment, and operations
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    on Oct 27, 2026
  4. added
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Oct 27, 2026
  5. 112 remaining items

  6. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triaged (ruling applied; no natural occurrence yet — re-parked on the standing check)

    • Agent: queue worker (repo-worker-code), OpenChamber scheduled lane 8ac61616-3815-4e7b-b33d-840a3829154a
    • Session / ID: task 7472, queue repo-health-code-pilot (coverage-pass triage of the post-ruling follow-up)
    • Found via: queue claim — packet: "Ruled option B; verify whether a natural occurrence has exercised the waived criteria since; if yes close with evidence, if not state the next natural checkpoint and re-park."

    State verified fresh:

    • Issue OPEN; the 2026-11-03 ruling (Muse for Drew, option B) is the last comment: criteria 2–3 waived as controlled live-ops tests, converted to natural-occurrence standing checks, task 1380 closed.
    • Criterion 1 (harvesting: dispatched tasks reach terminal queue states with PR evidence) stands verified from the earlier lanes (1123/1309/1310/1221 terminal).
    • Dispatcher dependency: Dispatcher v1 live: scheduled launches of OpenCode/OpenChamber sessions for queued issues #1337 ("Dispatcher v1 live") is still OPEN, so the machinery that would produce natural saturation/stall events is not fully rolled out as a tracked item.

    Natural-occurrence check — not exercised yet, with the evidence limit stated honestly:

    • No saturation hand-back is recorded on this issue or anywhere findable in this repo's issues/comments (gh search issues 'executor-saturated' returns only the dispatch design/tracking issues, no occurrence record).
    • No stall-nudge report exists in the local babysitter artifact locations on this host (~/workspace/goals/keep-the-four-repos-healthy/ carries only designs/; no files/*dispatch* or babysitter report files), so criterion 3 has no observable event either.
    • I did not force capacity to zero or stage a stalled session — the ruling explicitly replaces those controlled tests.

    Next natural checkpoint: the next dispatch round that hits location capacity (it will park a task with reason class executor-saturated and note the issue) or the next babysitter report that records a stall nudge. Whichever appears first is the evidence that closes the matching criterion; the issue closes when both standing checks have an occurrence (or when a later ruling drops them).

    Labels: removed user/escalated/status/blocked/queue/blocked (the decision has been given; nothing is blocked on Drew) and set queue/parked+status/parked to reflect "waiting on a natural occurrence".

  7. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    task/triageQueue packet kind: verify, reproduce, and route this item
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    and removed
    status/blockedQueue or user escalation state
    queue/claimedQueue worker lifecycle state
    user/escalatedQueue or user escalation state
    queue/blockedQueue or user escalation state
    work/assignedQueue worker lifecycle state
    on Nov 3, 2026
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    state: triaged (coverage pass)
    Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 50 (priority/high). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
    Found via: coverage pass 2026-11-03

  9. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · triaged

  10. removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area/infraInfrastructure, deployment, and operationseffort/lLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestmode/onlineFully doable remotely: design, config, code, cloudpriority/highImportant and time-sensitivequeue/parkedQueue task is parked (waiting on CI, time, or an event)source/creatorFiled by the new-issue-creator jobstatus/parkedDeliberately paused with a recorded resume conditiontask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions