fix: keep generated build output out of the worktree - #36
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prevent the V1.1 clean-room workflow from leaving generated read-only build output in the repository worktree.
The build creates both
dist/anddist-readonly/, but onlydist/was ignored. A successful clean-room certification therefore leftdist-readonly/as an untracked directory.This change ignores
dist-readonly/and adds a clean-room assertion that verifies generated build directories do not appear in Git status after the final rebuild.Change type
Motivation
A successful V1.1 clean-room certification should leave the reviewed source checkout clean.
After the full workflow passed, Git reported
?? dist-readonly/.This showed that the certification harness did not verify build-output hygiene after its final rebuild.
Related issue: None.
Implementation details
dist-readonly/to.gitignore.dist/anddist-readonly/.distanddist-readonly.Security impact
Does this change affect any of the following?
If yes, explain:
No production runtime or security behavior changed.
The change only affects generated build-output handling and clean-room certification checks.
Validation performed
Commands/tests executed:
npm testnpm run release:checknpm run securityAdditional validation:
0.dist-readonly/as untracked output.git diff --checkpassed.Security considerations
Explain:
What security assumptions changed?
None.
What prevents abuse or regression?
The clean-room harness now explicitly checks that generated build directories do not appear in Git status after the final rebuild.
This prevents future build-script changes from silently leaving generated runtime artifacts in the reviewed source worktree.
Were existing protections preserved?
Yes. Authorization, capability enforcement, SSH host verification, remote execution confinement, signed state, audit integrity, deployment rollback, and recovery behavior remain unchanged.
Compatibility
Does this change affect:
Documentation
Final checklist