Skip to content

fix: guard generated directory ownership and recovery - #178

Merged
smiggleworth merged 1 commit into
developfrom
release/050-cli-publication
Oct 10, 2026
Merged

smiggleworth merged 1 commit into
developfrom
release/050-cli-publication

Conversation

@smiggleworth

Copy link
Copy Markdown
Contributor

OpenAPI generation could restore a partly deleted backup after cleanup failed, losing both complete output trees. Route it through the shared recoverable directory publication routine, clean partial stages, preserve filesystem errors and report retained stages if cleanup fails. Project creation now rechecks destination ownership under the publication lock, preventing concurrent creates or recovered output from being overwritten, and prints success only after publication.

Validation: the complete new 17-case matrix produces 12 failures and five passing controls against immutable pre-fix source. All 372 tests and main release checks pass locally, including child termination at three publication checkpoints, partial backup deletion, rollback/stage cleanup failures, junctions/permissions, deterministic concurrent creation and package-manager result injections. Packed checks exercise two retained names, nine rejected imports and 14 private paths under actual TypeScript 6.0.3/7.0.2. OpenAPI loading, validation and generated-file rendering bodies are byte-identical to the accepted base. Templates, peer-floor, audit and all unchanged performance gates are checked separately.

Refs #159; remaining malformed-input and actual subprocess/cancellation probes still gate closure. Parent Vitest coverage is 85.43% statements, 78.11% branches and 87.18% lines; forked fault-case coverage is not included in those percentages. No package versions, dependencies, workflows or budgets change. Process checkpoint recovery does not establish power-loss durability. Full candidate graph/site qualification and maintainer review gate publication.

@smiggleworth
smiggleworth merged commit d5cee64 into develop Oct 10, 2026
10 checks passed
@smiggleworth
smiggleworth deleted the release/050-cli-publication branch October 10, 2026 03:20
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