Supersedes closed #2844
Summary
The exact Live partition deterministically fails skill_run_preserves_plan_parent_resource_snapshot_for_nested_child before executor launch because its temporary project has no attached Git branch.
Frozen evidence
Candidate 71bfd3bdc232da6ecaeec69a3eed43a4eaf01749 did not touch the owner test, branch guard, VCS probe, or executor injection seam. Canonical just pre-push failed:
skill_run_preserves_plan_parent_resource_snapshot_for_nested_child
csa run: refusing to run on protected branch (unknown)
detected default branch: (unknown)
reason: current branch is unknown or detached
Canonical summary: 4 tests run: 3 passed, 1 failed, 4006 skipped.
One exact focused command reproduced it on the same frozen tree:
just test-f skill_run_preserves_plan_parent_resource_snapshot_for_nested_child
1 test run: 0 passed, 1 failed, 7557 skipped
Source tracing shows the fixture creates HOME/project and fake tools but does not initialize a Git repository or attach a feature branch. The unchanged branch guard therefore refuses before skill resolution or fake-Codex launch. This differs from #2844's SIGPIPE/concurrency symptom.
Root-cause boundary
This is a test-fixture contract defect. A test invoking branch-protected csa run must create a hermetic local Git repository with an attached non-protected branch, using the repository's existing fixture pattern. Production branch protection must remain fail-closed for unknown/detached branches.
Acceptance criteria
- The fixture initializes a hermetic local Git repository and attaches a non-protected branch before invoking
csa skill run.
- Reuse an existing local Git-fixture helper/pattern where available; do not weaken or bypass production branch protection.
skill_run_preserves_plan_parent_resource_snapshot_for_nested_child passes and actually selects one test.
- Relevant sibling skill-resource tests pass.
- The canonical exact-HEAD local gate can proceed without this branch-unknown failure.
- No timeout inflation, retries, test serialization, or
--allow-base-branch-working escape hatch is used.
Durable evidence
- Canonical log:
/home/obj/tmp/3054-host-prepush-71bfd3bd-r1.log (89a5c87615cb9ea90ae65dd00814cd86d52c390e1b1371a4699a4622c6b35608)
- Classification report:
/home/obj/tmp/3054-gate-failure-classification-71bfd3bd.md (dbd7539d0547a718140c6a27a401007ec81caafcf53c526f604becc63267934f)
- Classification:
PRE_EXISTING
Summary
The exact Live partition deterministically fails
skill_run_preserves_plan_parent_resource_snapshot_for_nested_childbefore executor launch because its temporary project has no attached Git branch.Frozen evidence
Candidate
71bfd3bdc232da6ecaeec69a3eed43a4eaf01749did not touch the owner test, branch guard, VCS probe, or executor injection seam. Canonicaljust pre-pushfailed:Canonical summary:
4 tests run: 3 passed, 1 failed, 4006 skipped.One exact focused command reproduced it on the same frozen tree:
Source tracing shows the fixture creates
HOME/projectand fake tools but does not initialize a Git repository or attach a feature branch. The unchanged branch guard therefore refuses before skill resolution or fake-Codex launch. This differs from #2844's SIGPIPE/concurrency symptom.Root-cause boundary
This is a test-fixture contract defect. A test invoking branch-protected
csa runmust create a hermetic local Git repository with an attached non-protected branch, using the repository's existing fixture pattern. Production branch protection must remain fail-closed for unknown/detached branches.Acceptance criteria
csa skill run.skill_run_preserves_plan_parent_resource_snapshot_for_nested_childpasses and actually selects one test.--allow-base-branch-workingescape hatch is used.Durable evidence
/home/obj/tmp/3054-host-prepush-71bfd3bd-r1.log(89a5c87615cb9ea90ae65dd00814cd86d52c390e1b1371a4699a4622c6b35608)/home/obj/tmp/3054-gate-failure-classification-71bfd3bd.md(dbd7539d0547a718140c6a27a401007ec81caafcf53c526f604becc63267934f)PRE_EXISTING