Child results arrive whole: final-message results, result files, no placeholder wakes #118
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "glen/full-child-results"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Background harness calls and
start_threadchildren reported back cut off. Reviews lost their findings, harness results read like a step log ("Now let's look at…"), and one wake was just[tool bash]. The plan of record is PLAN.md v7; Chad changed part C so full results go to files, not inlineinspecttext.Changes
harness_calls.resultis stored up to 60 k characters (was 2 k). OneWAKE_DETAIL_CAP = 16_000covers both harness and thread wakes (was 500 / 2 000). A cut wake points at the result file.<parent workRoot>/.sweatshop/results/<id>.md.greporcatit. When there's no file, the wake says why:no bound sandboxorwrite failed.result_filecolumns, migration 0052).inspectand the recovery sweep read that column, so they never report a file that doesn't exist.lastAssistantReportskips[tool …]-only rows. A turn that ran out of steps is marked on its last row (durable, so the sweep sees it too) and the wake says "ran out of steps". Child threads get 400 steps without a skill; the budget continuation stays skill-only.Review (fresh eyes): verdict "ship"
The full report was written to a file, so it survived the old cut-off. All six findings were fixed in
4a549b6:inspectguessed result-file paths, which could point at files never written (silent or cancelled children, failed writes, empty results). Fixed: the written path is recorded at finish time and read back as-is.LIMIT 1000.inspect.resultFileand the result instruction had no tests. Tests added.Plan deviation
The plan said "no migration". Finding 1 needed a durable record of the written path, so 0052 adds two nullable
TEXTcolumns. Upgrade checked: a DB migrated onmain, then on this branch, applies cleanly.Verification
npm run typecheck && npm run lint && npm run test: 74 files pass (the reviewer's run: 714 tests).- harness_calls.result_file + conversations.result_file (migration 0052): set at settle by the only writer; inspect and the sweep read it, never derive a path - saveResultFile returns {path, chars} or a reason (unbound | write-failed); wake says which - result.chars = the stored (capped) length on both paths - lastAssistantReport: LIMIT 1000, safe metadata parse - tests: inspect resultFile present/absent (silent, cancelled, failed write, empty), withResultInstruction