Skip to content

Commit f245674

Browse files
committed
Have each assistant report back instead of guessing from its transcript
The harness is talking to something that can describe its own state, so it now asks. Appended to the app-creation prompt is an instruction to work for about 60 seconds, then stop and end the reply with five fixed labels: FOUNDRY-REPORT, STATUS (WORKING, BLOCKED, or DONE), SKILLS with the paths that loaded, COMMANDS with every foundry command and whether each came back OK or FAIL, and BLOCKER. It is also told to report immediately if something blocks it or it senses an interruption coming, because a report is worth more than the extra progress. Classification reads that report. A pass now needs a foundry command the assistant says succeeded; a self-reported blocker fails and is categorised from its own words; no report at all is a stalled failure rather than the pass a clean timeout used to earn. Inference from a truncated transcript could not tell "still building" from "sat there doing nothing", which is the one case that matters. The decisive log scan is unchanged, still stripping blockquoted lines and anchoring on the CLI's real Error: prefix, and the failure categories and per-cause breakdown are the same. Runs get faster because assistants stop on their own at the deadline, so the 120s budget is a safety net rather than the measurement. --report-at moves the deadline and the cap follows it up if it would cut the report off. The report also survives the prompt echo: every field is described in angle brackets, a real report has none, so Codex printing the prompt back cannot be mistaken for a report. Two orphans left behind by a run that dies before it can tidy up are now recovered at startup: the stashed symlinks, which this run's own links would otherwise overwrite, and the Codex plugin cache, whose loss leaves Codex silently running with no plugins.
1 parent df218a8 commit f245674

1 file changed

Lines changed: 245 additions & 65 deletions

File tree

0 commit comments

Comments
 (0)