mirror of
https://github.com/andrewyng/openworker.git
synced 2026-10-30 10:47:19 +00:00
Review of the first version against 366 recorded runs found four defects and one
semantic gap, all fixed here.
- Two same-named calls in one batch swapped results, exit codes, origins and audit
links in the live view: the finished event was matched to the LAST pending item by
name. `tool_proposed` now carries the tool call id and the GUI matches on it.
- A command's exit status was read from the 300-character result preview; a long
command pushed it out, and a timed-out command showed a green dot. The exit code,
time-out and background flags now ride on `tool_finished` and on the persisted
display sidecar.
- After a reload every non-denied call replayed as "ok", so a failed write showed as
done. The status is persisted with the result and replayed.
- A notice inside a turn (compaction, continuation, a saved memory) split the summary
in two and showed the first half while the turn was still running. One block per
turn now, emitted after the answer.
The header reads "N changes auto-approved" and the count means "things that changed
state and that nobody approved": the engine stamps each cardless call's effect
("change" or "read", from its risk class and tier) and the summary counts failed
attempts and read-only actions apart. Several edits of one file collapse into one row;
background commands are labelled; after 25 rows the list offers the rest.
`turn_summary` gains `failed` and `reads`, and per-action effect, tier and shell
outcome; docs/headless.md describes the fields.