Skip to content

8a4d464a - Surface the vendor's actual review output from a lane run - #37

Closed
Danswar wants to merge 2 commits into
developfrom
8a4d464a-lane-run-surface-output
Closed

8a4d464a - Surface the vendor's actual review output from a lane run#37
Danswar wants to merge 2 commits into
developfrom
8a4d464a-lane-run-surface-output

Conversation

@Danswar

@Danswar Danswar commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

EN:
`agent lane run` genuinely invokes grok/codex against a real diff, but the CLI only ever printed a one-line STATUS/rc summary and threw away the vendor's actual output. By the time `launch()` returns, the tmux pane it was captured from is already killed, so nothing downstream — `gate record --evidence`, a human watching the run — could ever see what the vendor found. Fixed both call sites (`agent lane run` and the `agent run` one-step chain) to print `result.stdout`/`result.stderr` before the summary line.

DE:
`agent lane run` ruft grok/codex tatsächlich mit einem echten Diff auf, aber die CLI hat bisher nur eine einzeilige STATUS/rc-Zusammenfassung ausgegeben und die eigentliche Vendor-Ausgabe verworfen. Sobald `launch()` zurückkehrt, ist die tmux-Pane, aus der sie stammt, bereits beendet — nichts Nachgelagertes (`gate record --evidence`, ein Mensch, der zusieht) konnte je sehen, was der Vendor gefunden hat. Beide Aufrufstellen (`agent lane run` und die `agent run`-Ein-Schritt-Kette) geben jetzt `result.stdout`/`result.stderr` vor der Zusammenfassungszeile aus.

Details

Found while manually driving a diagnostic `review` task against `RealUnitCH/web#27`'s real diff through Jonny Luca's dfxai instance: the grok quality lane ran for real (`STATUS=complete`) but produced no retrievable findings anywhere. Traced to `cmd_lane`/`cmd_run` in `main.py` never touching `result.stdout`.

Full local suite green: 423 passed, 1 skipped (agent-core integration test, needs that package importable).

agent lane run invokes grok/codex for real and captures the full output,
but the CLI only ever printed a one-line STATUS/rc summary and discarded
result.stdout — by the time launch() returns, the tmux pane it came from
is already killed, so nothing downstream (gate record --evidence, a human
watching the run) could ever see what the vendor actually found.
The --no-tmux runner captures raw vendor subprocess output (unlike the
tmux path, whose capture-pane already drops escape sequences), so an
ESC-led control sequence from a misbehaving vendor process could reach
the terminal verbatim once printed. Strip C0/DEL control bytes (keeping
tab/newline/CR) before printing either stream.

Also add a stdout-content assertion for the `agent run` one-step-chain
call site (tests/test_run.py) — only the `agent lane run` call site had
one before, even though both were fixed.
@Danswar

Danswar commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator Author

EN:
Closing in favor of #40 — a clean rebuild off the current develop tip with a single, properly period-terminated commit subject (per a genuine CONTRIBUTING.md finding on this PR's commit messages, which amend+force-push wouldn't fix without rewriting already-reviewed, already-pushed history).

DE:
Wird zugunsten von #40 geschlossen — ein sauberer Neuaufbau auf dem aktuellen develop-Stand mit einem einzigen Commit und korrekt mit Punkt abgeschlossener Subject-Zeile (wegen eines echten CONTRIBUTING.md-Fundes zu den Commit-Messages dieses PRs, den ein amend+force-push nur durch das Umschreiben bereits geprüfter, bereits gepushter Historie hätte beheben können).

@Danswar Danswar closed this Aug 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant