Skip to content

design: scheduled OpenCode preliminary babysitter — sweep sessions, fix easy stalls, escalate the rest #2021

Open

Description

@dezren39

LIST 4 pilot. Design a scheduled OpenCode task that babysits the other OpenCode sessions: sweep current sessions, recognise common stalls, answer the easy ones itself, and escalate the rest. The escalation mechanism is the open design question — options: a note in a shared place, an API/function that signals Muse, or filing a GitHub issue ('this needs the orchestrator, or Drew'). Include: sweep cadence, which stall classes are auto-answerable, escalation payload shape, and what Muse's own babysitting/triage rate could then become (relax it, or keep the rate and add more jobs).

Program: Drew's 2026-10-28 directive (full text: hatch-personal memory/topics/id-program-2026-10-28.md).
Working pattern: parallel investigations, then the named synthesis issue merges them into a full design. Route guidance: Workhorse by default; Specialist/Summit for synthesis and ramification-heavy work. A result that says "done" is not the endpoint — the orchestrator reviews it and may commission another round. Deliverables: a markdown design/investigation doc (mermaid/SVG diagrams welcome) linked from this issue, plus follow-up issues for anything buildable. Build a proof of concept where the design calls for one, but do NOT build the permanent feature on top of an unreviewed PoC.

Activity

  1. developing-today commented on Oct 29, 2026

    @developing-today
    Contributor
  2. dezren39 commented on Oct 29, 2026

    @dezren39
    MemberAuthor

    Parent epic: #2055 — fleet expansion & placement program (2026-10-28 directive).

  3. dezren39 commented on Oct 30, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · escalation question answered

  4. added
    queue/queuedHas a queued task in the Supabase agent queue
    source/creatorFiled by the new-issue-creator job
    task/triageQueue packet kind: verify, reproduce, and route this item
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  5. 10 remaining items

  6. added
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  7. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · done

    Design summary

    • Headline: a preliminary babysitter already runs — conductor Phase 1 (SWEEP) in hidden_files/openchamber-conductor-instruction.md (merged per issue Design: session conductor — merge OpenChamber dispatcher + babysitter into one job (implements #2021 as the merged job) #2132 / issue Implement the session conductor: merge openchamber-dispatcher + openchamber-babysitter into openchamber-conductor #2153). This design pins it as the reviewed answer instead of proposing a new job.
    • Cadence: keep 20 minutes. Stall confirmation needs two consecutive suspect rounds (≥20 min no activity + no live CI); at 20 min, worst-case detection is ~40 min, inside the fleet's 20–45 min task leases. Relaxing the cadence breaks that.
    • Taxonomy: the live Phase 1 verdict set (progressing / stalled / waiting / errored / walled / blocked / done-unreported / finished-unverified / idle), each with its auto-answer rule — nudges for confirmed stalls (max 2/session/day via the verified prompt endpoint), same-round answers for waiting sessions when the answer is already decided in the bound packet/issue, one recovery nudge per round for errored sessions, harvest close-out for done-unreported, GitHub audit + restart/requeue for finished-unverified. Frequency grounded in conductor-log mention counts (waiting 474, walled 408, blocked 359, errored 265, done-unreported 161, finished-unverified 110, stalled 88).
    • Escalation: the conductor ladder is reused unchanged (nudge → reroute pool → off exhausted pool → park with reason). New spec: a machine-readable babysitter-escalation:v1 payload (shape in design §4) on three channels — cycle report, agent note on the bound issue, park reason on the bound task.
    • Rate recommendation: keep the machine rate (20 min); relax Muse's own babysitting to exception-only (act on escalations; stuck-holder/stuck-harvest surface in the daily stewardship pass); add no new recurring jobs.
    • Follow-ups (buildable gaps): (1) emit the babysitter-escalation:v1 payload; (2) session archive path missing from the API inventory, so verified-finished sessions cannot be archived. Both were prepared into the fleet action outbox as OB-2026-11-03-210 and OB-2026-11-03-211 — direct filing hit GitHub's secondary rate limit during this run (REST 403 verified; two gh issue create attempts created nothing), and the outbox processor files them exactly as prepared once it clears. The pickup note for this task is likewise queued as OB-2026-11-03-204.
  8. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · picked up

  9. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · linked from the #2153 cutover report (task 8468)

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

Metadata

Metadata

Assignees

Labels

source/creatorFiled by the new-issue-creator jobtask/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