Problem
WP Codebox v0.12.25 correctly excludes Git-ignored dependency artifacts during runner-workspace publication, but its Git-aware snapshot now includes untracked .codebox runtime control files when the target repository does not independently ignore that directory. Those files mutate after approval, so publication fails with Runner workspace changed after approval; refusing publication.
Evidence
Root cause
PR #1845 replaced recursive workspace traversal with git ls-files --cached --others --exclude-standard. The previous traversal explicitly skipped .codebox, but the replacement relies only on repository ignore rules. Runtime-owned .codebox files therefore enter snapshots in repositories that do not declare that internal exclusion.
Expected behavior
.codebox remains an unconditional runtime-control exclusion from publication and integrity snapshots.
- Git tracked and untracked-nonignored workspace files continue to define publishable content.
- Tests prove mutable
.codebox state does not invalidate an approved patch, while publishable changes and symlinks still fail closed.
Problem
WP Codebox
v0.12.25correctly excludes Git-ignored dependency artifacts during runner-workspace publication, but its Git-aware snapshot now includes untracked.codeboxruntime control files when the target repository does not independently ignore that directory. Those files mutate after approval, so publication fails withRunner workspace changed after approval; refusing publication.Evidence
v0.12.25was selected.node_modules/but does not ignore.codebox.Root cause
PR #1845 replaced recursive workspace traversal with
git ls-files --cached --others --exclude-standard. The previous traversal explicitly skipped.codebox, but the replacement relies only on repository ignore rules. Runtime-owned.codeboxfiles therefore enter snapshots in repositories that do not declare that internal exclusion.Expected behavior
.codeboxremains an unconditional runtime-control exclusion from publication and integrity snapshots..codeboxstate does not invalidate an approved patch, while publishable changes and symlinks still fail closed.