You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
investigate: placement framework — Muse vs GitHub Action vs Action→Jules vs OpenCode session vs OpenCode scheduled task vs Aster/Codex vs OpenClaw #2022
LIST 5a. For each placement option, characterise: cost pool it draws from (note the sharing: Aster, OpenCode and OpenClaw share the large ChatGPT plan; OpenCode and OpenClaw share other plans too; Muse spends its own subscription), latency, supervision needs, capability ceiling, and failure modes. Answer Drew's pointed questions: why an OpenCode scheduled task vs Muse triggering an OpenCode session? Why OpenCode directly at all? Why not tell OpenClaw everything? Deliverable: comparison matrix with evidence, feeding the placement-framework synthesis.
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.
Top priority — ID program wave-1. Drew directed this be picked up in the next runs (2026-10-29): enqueued directly as triage task 3340 in repo-health-code-pilot at queue priority 20 (only breakage-class work at priority 10 outranks it). Wave-1 is the ungated investigations and designs; syntheses and PoCs stay gated on their named inputs. Investigation route: Workhorse.
Agent: queue worker (repo-worker-code), lane A shift
Session / ID: queue task 3340
Found via: queue claim
Task: Triage/investigation for the placement framework — characterise each placement option (cost pool, latency, supervision, capability ceiling, failure modes) with evidence, answer Drew's three pointed questions, record the comparison matrix on this issue and route follow-on (the gated synthesis is design: task-placement framework v1 — decision rules and a shared-pool efficiency model #2024).
Placement framework investigation — comparison matrix (queue task 3340, triage of this issue)
Premise: verified. All seven placement options exist in the fleet today in some form, they draw on genuinely different cost pools, and no written placement rule exists yet — placement is currently by habit. Evidence below is from the live fleet: the pool map (provider-quota-registry.md, Drew 2026-10-25), the sibling triage of #2018 (task 3337, completed today: live cron inventory + dispatcher/babysitter cadences), and the current state of the sibling investigations #2019/#2020/#2023.
The matrix
Option
Cost pool
Latency
Supervision needs
Capability ceiling
Main failure modes
Muse (Muse cron agent / shift, e.g. this worker)
Muse subscription tokens — the scarcest pool; LIST 3 exists to spend less of it
Immediate on schedule; fresh context each cron run
Self-supervising by design (it is the supervisor class); results surface in chat
Highest: full tool/connector set, memory, goal state, judgement, escalation to Drew
Long runs compact/die mid-bundle (the 2026-10-26 claim-evaporation incidents); every task placed here taxes every other Muse task
GitHub Action
GitHub Actions minutes; no model pool unless the workflow calls one
Minutes
None for mechanical work; failures need a human/agent to notice
Low: deterministic scripts only, no judgement
Silent workflow failure; GITHUB_TOKEN pushes may not trigger downstream checks (the #2014 finding); loop risk on auto-commit patterns without guards
GitHub Action → Jules
Jules account quota (~100 actions/day on the one collected account — #2020 is verifying) + trivial Actions minutes
Async; Jules works in its own time
Muse manages the Jules schedule and reviews output after the fact
Medium-high for self-contained repo tasks; no fleet context, no local state
Daily action cap is a hard shared wall; progress is opaque mid-task; fit rules are exactly what #2020 is still investigating
OpenCode session (dispatcher/Muse-triggered)
Shared quota plans by route: Workhorse = DeepSeek Flash (high) default; Specialist/Summit tiers above; Meta pool reachable ONLY via the meta provider (the muse provider door is disabled by Drew's order); OpenAI routes default Luna Max
Dispatch cadence 15m (openchamber-dispatcher); a stalled session waits ≤ ~20m for the next openchamber-babysitter round (#2018 evidence)
Babysitter rounds + dispatcher + Muse review loop; stalls are waited-out, not noticed instantly
High: full coding agent, worktrees, PRs — sessions already do implementation→PR work
Stuck sessions burn wall-clock until babysat; pool walls (a pool at a freshly-measured 100% is CLOSED); wrong-route placement wastes flagship quota on workhorse work
OpenCode scheduled task
Same quota plans as sessions; zero Muse tokens — runs independently
On its own schedule; no launch dependency on Muse at all
Weakest in-loop supervision: nobody with fleet judgement is present at launch; needs its own reporting/escalation path (the #2021 babysitter design is part of this)
Same agent ceiling as a session, but the brief must be fully self-contained in advance
A stale brief runs faithfully into a changed world; route/pool state at fire time may differ from when the schedule was written (the ≤60-min quota-read gate cannot be applied by a schedule written last week); #2019 is still verifying creation/route mechanics
Aster / Codex
The large ChatGPT plan — shared with OpenCode and OpenClaw
Human-like async (Slack #alignment; Aster was tasked for this program 2026-10-28, ACT-6)
Drew/Muse via Slack; no fleet-internal telemetry
High reasoning/review depth; strong second-opinion lane
Shared-plan contention: Aster burn is OpenCode/OpenClaw capacity gone; no claim/bind discipline with the queue; availability is a person's, not a system's
OpenClaw
Shares the ChatGPT plan and other plans with OpenCode
Gateway live on the laptop (:18789) but channels are inert (#1029) — effective latency today is "until setup lands"
Least instrumented agent in the fleet; the Muse↔OpenClaw comms path does not exist yet (that is #2023's investigation)
Unknown-to-medium today: setup incomplete, so the ceiling is theoretical
Delegating to it today means work disappears into an unmonitored channel; same-pool contention without the dispatcher's discipline
Drew's three pointed questions
Why an OpenCode scheduled task vs Muse triggering an OpenCode session? A scheduled task spends no Muse tokens, survives Muse being busy/down, and picks its route per task — right for recurring, self-contained work with a stable brief (the class investigate: which scheduled work classes can move to OpenCode sessions on quota plans #2018 marked GO-first: creators, routine triage). A triggered session keeps Muse's judgement in the loop at launch: the brief is written against live state, the pool measurement gate (no placement without a quota read ≤60 min old) is actually applied, and stalls escalate into Muse's existing paths. Novel, context-heavy, or decision-adjacent work should be triggered; clockwork should be scheduled.
Why OpenCode directly at all? Because the quota plans are already paid for and strand if unused (pools are to be used to 100%, per Drew 2026-10-27), the Workhorse route (DeepSeek Flash, high) is the cheapest sufficient implementer in the fleet, and sessions parallelise: dispatcher + lanes multiply implementation→PR throughput without touching the Muse subscription at all. Muse's scarce tokens buy judgement and supervision; OpenCode buys volume.
#2024 merges this investigation with #2019 (OpenCode scheduled tasks), #2020 (Jules), and #2023 (OpenClaw). Status at this writing: #2022 done (this comment); #2020 in flight (claimed by another lane now); #2019 and #2023 still queued. The synthesis stays gated until those land — no follow-on packet is enqueued from this task, deliberately. A gate-status note is posted on #2024 so the orchestrator can enqueue it the moment the last input completes.
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 7268 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
Activity
developing-today commentedon Oct 29, 2026
CODE-943
dezren39 commentedon Oct 29, 2026
Parent epic: #2055 — fleet expansion & placement program (2026-10-28 directive).
dezren39 commentedon Oct 29, 2026
Top priority — ID program wave-1. Drew directed this be picked up in the next runs (2026-10-29): enqueued directly as triage task 3340 in repo-health-code-pilot at queue priority 20 (only breakage-class work at priority 10 outranks it). Wave-1 is the ungated investigations and designs; syntheses and PoCs stay gated on their named inputs. Investigation route: Workhorse.
dezren39 commentedon Oct 29, 2026
🤖 Agent note · picked up
dezren39 commentedon Oct 29, 2026
Placement framework investigation — comparison matrix (queue task 3340, triage of this issue)
Premise: verified. All seven placement options exist in the fleet today in some form, they draw on genuinely different cost pools, and no written placement rule exists yet — placement is currently by habit. Evidence below is from the live fleet: the pool map (
provider-quota-registry.md, Drew 2026-10-25), the sibling triage of #2018 (task 3337, completed today: live cron inventory + dispatcher/babysitter cadences), and the current state of the sibling investigations #2019/#2020/#2023.The matrix
GITHUB_TOKENpushes may not trigger downstream checks (the #2014 finding); loop risk on auto-commit patterns without guardsmetaprovider (themuseprovider door is disabled by Drew's order); OpenAI routes default Luna Maxopenchamber-dispatcher); a stalled session waits ≤ ~20m for the nextopenchamber-babysitterround (#2018 evidence)Drew's three pointed questions
Gate status for the synthesis (#2024)
#2024 merges this investigation with #2019 (OpenCode scheduled tasks), #2020 (Jules), and #2023 (OpenClaw). Status at this writing: #2022 done (this comment); #2020 in flight (claimed by another lane now); #2019 and #2023 still queued. The synthesis stays gated until those land — no follow-on packet is enqueued from this task, deliberately. A gate-status note is posted on #2024 so the orchestrator can enqueue it the moment the last input completes.
dezren39 commentedon Oct 29, 2026
🤖 Agent note · done
developing-today commentedon Nov 3, 2026
agent-note:v1
state: reviewed (coverage loop-back)
Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 7268 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
Found via: coverage loop-back 2026-11-03
dezren39 commentedon Nov 3, 2026
agent-note:v1
event: done
task: 7268 (repo-health-code-pilot; worker repo-worker-code; OpenChamber scheduled lane 02cafe76-eafd-4d0b-aaa6-2b7a737d68dc)
state: triaged → done.
verification (fresh GitHub, 2026-11-03):
doc/2026-11-03T15-10-56Z_design_task-placement-framework-v1/…md, which explicitly lists investigate: placement framework — Muse vs GitHub Action vs Action→Jules vs OpenCode session vs OpenCode scheduled task vs Aster/Codex vs OpenClaw #2022 as an input (lines 9–10) and carries the decision rules + shared-pool model.disposition: no new work needed. Labels synchronized to terminal state by removing queue/queued, status/needs-triage, queue/claimed, status/in-progress and work/assigned;
status/triagedretained. Issue left OPEN because its deliverable feeds the live design: task-placement framework v1 — decision rules and a shared-pool efficiency model #2024 synthesis rather than ending here.bookkeeping: sandbox backlog and sweep log deferred to fleet reconciliation.
dezren39 commentedon Nov 3, 2026
agent-note:v1
event: picked_up
task: 7268 (repo-health-code-pilot; worker repo-worker-code; OpenChamber scheduled lane 02cafe76-eafd-4d0b-aaa6-2b7a737d68dc)
state: claimed for current-state verification; existing investigation comment and downstream synthesis PR were checked before immediately completing as already triaged.