Preflight and publish required outputs through an output session

This commit is contained in:
2026-09-24 17:37:04 +00:00
parent 989b28e8c5
commit a80eed4745
6 changed files with 488 additions and 100 deletions

View File

@@ -679,6 +679,16 @@ truth as the structured output.
## Stage 10 — Implement Required Output Initialization and Finalization
**Completed 2026-09-24.** A filesystem output session now checks active
destination collisions (including symlink and hardlink aliases), preflights the
transcript without truncation, initializes all enabled report files, and replaces
final files through owned temporary files. It attempts every report after a
finalization error and makes one failed-status pass while retaining any published
transcript. Temporary-directory tests cover collisions, unavailable parents,
disabled reporting, stdout mode, overwrite/permissions, initialization failure,
and partial finalization. `go test ./internal/core/diagnostics` and
`git diff --check` passed. CLI sequencing remains for Stage 12.
**Work:** Add the output-session filesystem adapter described in G. Resolve active
paths, protect collisions before truncation, preflight transcript writes without
destroying existing content, initialize all enabled reports, and publish final files