GSD pipeline writes to tracked .gsd/gate-state.json, causing commit gate to fail when pre-commit hook modifies it #60
Labels
No labels
blocked:gate-research
blocked:needs-decision
blocked:needs-human
blocked:no-changes
bug
documentation
enhancement
feature-request
in-progress
quickfix
research
triage-approved
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Mark/infrastructure#60
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
Description
The GSD pipeline writes runtime state to
.gsd/gate-state.jsonduring gate execution. When the commit gate runs,git stashstashes working-tree changes, then pre-commit'send-of-file-fixersees the tracked (but modified by the pipeline)gate-state.json, adds a trailing newline, and this conflicts with the stashed changes, aborting the commit.Pipeline Symptom
With no commit SHA created, despite implementation being staged and ready. The issue needs
gate-retryafter the root cause is fixed.Root Cause
.gsd/gate-state.jsonis tracked by git in affected repos (devforge, and potentially others) because.gsd/contains committed milestone plans. The pipeline's runtime writes modify a tracked file, which pre-commit hooks then try to "fix" (trailing newline), colliding with the stash/unstash flow.Affected Issues
git commit --no-verifyto push the staged changes, or the bootstrap gitignore fix + gate-retrySuggested Fix (Pipeline Side)
The pipeline bootstrap phase should ensure
.gsd/gate-state.json(andverification-last.json) are gitignored in every repo it works on. The skill documents this expect bug but doesn't enforce it.Error Type
pipeline-gitignore-gate-stateRevert Safety
N/A — this is a missing safeguard, not a code change.