Pipeline cannot delete files: programmer role and Runner commit omit deletions #916
Labels
No labels
P0
P1
P2
P3
bug
category/code-change
category/cross-repo
category/eval-run
category/investigation
category/no-test-target
category/owner-ruling
category/prose-artifact
category/recurring-chore
category/structure
category/umbrella
crc-refactor
create
delete
enhancement
filed-by/agent
filed-by/user
frozen
lint-rule
needs-info
needs-triage
next
plugin/cc-architect
plugin/os
plugin/os-adr
plugin/os-aidd-lint
plugin/os-backlog
plugin/os-context
plugin/os-doc-hygiene
plugin/os-sdlc
plugin/os-vault
project/cc-os
ready-for-agent
ready-for-human
recurring
review
rule-proposal
update
waiting
wayfinder:grilling
wayfinder:map
wayfinder:map
wayfinder:research
wayfinder:task
wayfinder:task
wontfix
worklist/deviations
worklist/lint-rule
worklist/new-implement-build
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
jared/cc-os#916
Loading…
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?
Problem
A ticket that requires a file deletion or move cannot pass its gate, because the programmer role has no way to delete or move a file. The Runner commit step also leaves staged deletions out of the commit.
Observed
Implementation 18 (#913): a test required three
.mdfiles to be gone. The programmer role could not delete them. Three programmer-repair dispatches each failed in about 15 s. The run escalated withbound_exhausted:programmer-repair/fail. The orchestrator removed the files withgit rmand rerouted. The Runner commitabd8e57cthen left the three deletions staged and uncommitted. The payload listed them underdirty_paths. The orchestrator committed them by hand asd9257a3a.Implementation 11 (#908): the Runner commit
127395d1added the moved files. It left four file deletions staged and uncommitted. The completion payload reporteddirty_paths: []. The orchestrator committed the deletions by hand as52cd78a5.The two cases differ in the
dirty_pathsreport: it was wrong (empty) in implementation 11 and correct in implementation 18.Ticket #906 covers a different cause: uppercase
CHANGE:tags that the commit item parser does not read, so refactorer-only new files are not staged. It does not cover deletions.Reproduce
n/a: observed in pipeline runs (implementation 11 and implementation 18); no standalone command.
Origin
git rmand rerouting (implementation 18); manual commits52cd78a5andd9257a3aOccurrence: Runner implementation_complete commit omits the deleted side of a moved file
Seen: plugins/os-sdlc Runner commit at implementation_complete (Commit#staged_paths, ADR-0171)
Run: implementation 75 (#1153), session 22b441ac-a301-4637-8de9-a9e0f0970fae
Adds: a third occurrence; cops/inward_dependency/{ledger,layer_map}.rb moved to cops/layer_ledger/, commit.paths listed only the new files, the two staged deletions were committed by hand (
d3e0d4d3).Occurrence: runner commit leaves a staged deletion out of the commit
Seen: implementation 79 (#1165), commit
f8a06e1dleft plugins/os-sdlc/lib/os_sdlc/gate/exit_classification.rb staged as DRun: session 2e167079-f404-4139-9cfa-6c0c937ce9f0, os-sdlc CRC run 3
Adds: a second occurrence on the structure-change map; the deletion was committed by hand in
c67ca2b3Occurrence: Runner commit leaves git mv deletions staged and uncommitted
Seen: implementation 98 (#1147), Runner commit
052849c5; dirty_paths listed plugins/os-sdlc/lib/os_sdlc/argv_option.rb and tests/argv_option_test.rb (staged D); orchestrator committed them in0d04165eRun: session 2e167079-f404-4139-9cfa-6c0c937ce9f0, implementation 98, dispatch 790
Adds: the defect recurs for a structure-change move made with git mv (old path staged as deleted), not only for plain deletions; also seen on #1177 (
71051dff)