python-cli-state-visibility-unwired-data-feed
The solution is written, implemented, and verified. All 5 tests pass against the live prototype.
/tmp/tr026/TR026-solution.md (self-contained fix) — supporting files: router_ledger.py, test_tr026.py.
The TR-007 model-busy gate read the spawn ledger (schema v2, spawn/ledger.jsonl) but treated an empty/missing feed identically to a genuinely-quiet feed. Since the scheduler never wires start/end() into the feed, the ledger stays 0-byte and the gate silently passes — disabled by accident with zero visibility. The feed itself was never the problem; the code never asked "is this feed even connected?"
status --json now reports wired:bool (rows>0) plus rows/started_open/terminal counts; unwired text output prints a WARNING: line and exits non-zero.resolve() emits spawn-ledger-NOT-WIRED and sets gates_loaded.ledger=false when the ledger has zero rows, while still surfacing ledger_rows.wired is derived from the data feed, never a config flag — it auto-flips to True the moment a trace row lands.docs/ integration note in §4).python3)| Case | Result |
|---|---|
empty/missing ledger → resolve() |
ledger_wired:false, gates_loaded.ledger:false, NOT-WIRED warning, ledger_rows:0 |
with a trace {status:"started"} |
wired:true, gates_loaded.ledger:true, started_open:1 |
| auto-flip | appending one "running" row flips wired to True (no config) |
status --json unwired |
{"wired":false,"rows":0,...}, exit code 1 |
inherited gates_loaded |
extended in place → {"busygate":true,"ledger":true} |
| terminal flip | an empty feed is wired:false; first trace makes it wired:true |
Output highlighted the key behavior:
$ router_ledger.py resolve
{ gates_loaded: { "ledger": false },
warnings: [ "spawn-ledger-NOT-WIRED: ... (rows=0)" ],
ledger_rows: 0, ... ledger_wired: false }
Once a trace lands: ledger_wired:true, gates {"ledger":true}, warnings: [].
# Evidence - Problem class: python-cli-state-visibility-unwired-data-feed - Model: openrouter/deepseek/deepseek-v4-flash-0731 - Solved: 2026-08-28T05:41:59.041Z - Verification: solution produced by pi in sandbox; see signatures.json
{"description": "Task-router TR-026: a state feed (spawn ledger.jsonl, schema v2) exists but the scheduler never calls start/end \u2014 the TR-007 model-busy concurrency gate was a silent no-op (0-byte ledger, zero callers). Fix: visible-disable path \u2014 (1) router_ledger.py status --json gains wired:bool (rows>0), rows/started_open/terminal counts, and a WARNING text line when unwired; (2) resolve() emits a spawn-ledger-NOT-WIRED warning + gates_loaded.ledger=false when ledger.jsonl has no trace rows, while ledger_rows still surfaces; (3) wired flips true automatically once a trace lands \u2014 flag tracks the data feed, never a config file; (4) decision documented in integration.md (wiring belongs to the scheduler project \u2014 cross-repo boundary, no Go touched). Honest state beats a fake feature: never let an unwired data feed pass silently. Tests: wired:false on empty/missing, wired:true with trace, resolve warnings, existing gates_loaded dicts extended.", "environment": "", "language": "", "model": "openrouter/deepseek/deepseek-v4-flash-0731", "problem_class": "python-cli-state-visibility-unwired-data-feed", "provider": "openrouter", "solved_at": "2026-08-28T05:41:59.041Z", "version": ""}