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
fleet telemetry: record pool/model/effort/cost on dispatch + queue completion records (meta-reviewer #1340 follow-up) #1582
The pool meta-reviewer (#1340) cannot grade model/effort choices: its first daily review (2026-10-27, goal hidden_files/meta-review/2026-10-27-report.md) found per-pool/per-effort cells mostly NOT RECORDABLE — queue payloads, queue completion results, and dispatch records carry no pool/model/effort/cost fields. The standing questions (model-up+effort-down vs model-down+effort-up crossover; where max effort buys nothing; where a pool fails tasks a stronger pool would finish) are explicitly NO DATA, and the report names the missing mechanism: "needs a pool/model/effort/cost field on dispatch + completion records (dispatcher log is the only current source, OC sessions only)".
Scope
Queue completion records: extend the repo-task/v1 result/recording path (helper ~/tools/repo-queue.py complete + schema ~/tools/repo-task-v1.schema.json) with optional pool, model, effort, cost_usd (nullable where a route has no cost figure) fields, recorded by the worker at completion time from its own session's resolved route — never inferred from route names (meta-reviewer guideline 2026-10-27: record effort only from resolved session messages).
Dispatch records: wherever the dispatcher writes its run log, add the same four fields per dispatch.
Backfill is out of scope; collection starts at landing.
Acceptance criteria
A queue task completed after the change carries pool/model/effort on its result record, visible to the meta-reviewer's data pull.
A dispatcher run after the change logs pool/model/effort per dispatch.
The next daily meta-reviewer report can populate at least the pool × effort completion-rate cells for queue work from these records (or states precisely which field is still missing).
No change to existing packet/result consumers: new fields are optional and additive.
Follow-up to #1340 (Phase: data collection). Filed by queue worker triage (task 1324) 2026-10-27.
Queue side: ~/tools/repo-queue.pycomplete now supports the optional additive telemetry fields pool / model / effort / cost_usd — carried at the top level of --result and/or supplied via the new --telemetry JSON flag (fills fields the result does not carry). Both sources are type-checked (non-empty string or null; cost_usd a non-negative number or null; unknown telemetry keys rejected, exit 2 before any RPC). ~/tools/repo-task-v1.schema.json gained $defs.completion_telemetry + $defs.completion_result documenting the fields. Hatch repo snapshot commit 09a5bd7fd.
Dispatch side: the dispatcher is the openchamber-dispatcher cron job; its run record format lives in hidden_files/openchamber-dispatcher-instruction.md (Delivery section). That record now requires pool, model, effort, cost_usd per dispatch (model = route id actually launched; effort = variant actually launched, never inferred from the route name; cost_usd = launch-exposed cost or null). Hatch-personal commit edbc023d6.
Verification: repo-queue.py validate passes on packets with and without telemetry; bad telemetry is rejected pre-RPC; and task 1666 itself was completed with the new fields — an independent read of its stored result shows all four keys present (model: "Muse Wonder"; pool/effort/cost_usd null because this worker's route — the Muse app on Drew's Power subscription, not a fleet pool — exposes no pool, resolved effort, or cost; fleet sessions record their real values). The meta-reviewer's queue data pull reads agent.tasks.result, so the fields are now reachable there. No historical records backfilled.
Activity
developing-today commentedon Oct 28, 2026
CODE-619
dezren39 commentedon Nov 2, 2026
🤖 Agent note · picked up
dezren39 commentedon Nov 2, 2026
🤖 Agent note · done
~/tools/repo-queue.pycompletenow supports the optional additive telemetry fieldspool/model/effort/cost_usd— carried at the top level of--resultand/or supplied via the new--telemetryJSON flag (fills fields the result does not carry). Both sources are type-checked (non-empty string or null; cost_usd a non-negative number or null; unknown telemetry keys rejected, exit 2 before any RPC).~/tools/repo-task-v1.schema.jsongained$defs.completion_telemetry+$defs.completion_resultdocumenting the fields. Hatch repo snapshot commit 09a5bd7fd.openchamber-dispatchercron job; its run record format lives inhidden_files/openchamber-dispatcher-instruction.md(Delivery section). That record now requirespool, model, effort, cost_usdper dispatch (model = route id actually launched; effort = variant actually launched, never inferred from the route name; cost_usd = launch-exposed cost or null). Hatch-personal commit edbc023d6.repo-queue.py validatepasses on packets with and without telemetry; bad telemetry is rejected pre-RPC; and task 1666 itself was completed with the new fields — an independent read of its stored result shows all four keys present (model: "Muse Wonder";pool/effort/cost_usdnull because this worker's route — the Muse app on Drew's Power subscription, not a fleet pool — exposes no pool, resolved effort, or cost; fleet sessions record their real values). The meta-reviewer's queue data pull readsagent.tasks.result, so the fields are now reachable there. No historical records backfilled.