Problem
The branch unbreak-main-pipeline is orphaned and non-compiling, and it holds the only copy of a merged PR.
State as observed:
It does not compile. The merge of main into it concatenated two independently-written fixes for the same breaks (its own 5f634483 / 8d33e257 versus the unbreaks that actually landed, #1970 and #1971), leaving duplicate definitions:
struct PassingShell — twice, in crates/stella-pipeline/src/pipeline/tests/verification_hardening/flip_halt_arming.rs
fn shell_call_result — twice, same file
async fn a_revision_halts_at_the_step_where_the_tracked_test_flips — twice, same file
ModelCallRole::Research — in two match arms in crates/stella-pipeline/src/management_prompt/tests.rs (unreachable pattern)
Why it is not urgent, and why it is still worth closing out
main is unaffected — the breakage is not reachable from it, and #1787's fix has been landed on main separately (see the PR that references this issue). So nothing is broken for users today. The hazard is latent: the branch looks like a legitimate in-flight unbreak, and anyone who revives it, or opens a PR based on it, inherits a non-compiling tree and a stale duplicate of work that already shipped.
Repro
git fetch origin
git merge-base --is-ancestor origin/unbreak-main-pipeline origin/main; echo $? # 1 = not in main
git log --oneline -3 origin/unbreak-main-pipeline
git show origin/unbreak-main-pipeline:crates/stella-pipeline/src/pipeline/tests/verification_hardening/flip_halt_arming.rs \
| rg -c '^struct PassingShell;' # 2 = duplicated
Definition of done
One of:
Whichever is chosen, add a comment on the closed #1975 and on #1982 saying where their content ended up, so the trail is not a dead end for the next reader.
Constraint worth recording
This is the second time in this round that two PRs fixed the same break differently and the merge silently concatenated rather than conflicted at the semantic level. flip_halt_arming.rs's own module docs already record the previous instance ("Keeping the cluster in one file is what makes that clobber a merge conflict instead of a silent deletion"). Duplicate definitions do at least fail the compiler — but only once something compiles them, and a dead branch never does.
Refs #1787, #1975, #1982, #1970, #1971.
Problem
The branch
unbreak-main-pipelineis orphaned and non-compiling, and it holds the only copy of a merged PR.State as observed:
main.c9d7b6e6. So a merged PR's content lives only here.main(git merge-base --is-ancestor origin/unbreak-main-pipeline origin/main→ false).It does not compile. The merge of
maininto it concatenated two independently-written fixes for the same breaks (its own5f634483/8d33e257versus the unbreaks that actually landed, #1970 and #1971), leaving duplicate definitions:struct PassingShell— twice, incrates/stella-pipeline/src/pipeline/tests/verification_hardening/flip_halt_arming.rsfn shell_call_result— twice, same fileasync fn a_revision_halts_at_the_step_where_the_tracked_test_flips— twice, same fileModelCallRole::Research— in two match arms incrates/stella-pipeline/src/management_prompt/tests.rs(unreachable pattern)Why it is not urgent, and why it is still worth closing out
mainis unaffected — the breakage is not reachable from it, and #1787's fix has been landed onmainseparately (see the PR that references this issue). So nothing is broken for users today. The hazard is latent: the branch looks like a legitimate in-flight unbreak, and anyone who revives it, or opens a PR based on it, inherits a non-compiling tree and a stale duplicate of work that already shipped.Repro
Definition of done
One of:
evidence.rschange, which is onmainvia the PR referencing this issue. Verify that first (git show origin/main:crates/stella-pipeline/src/pipeline/evidence.rs | rg MAX_ORACLE_TRACE_OBSERVATIONS), thengit push origin --delete unbreak-main-pipeline. Note this leaves PR fix(stella-pipeline): bound the oracle trace at the verifier-prompt ingress (#1787) #1982 pointing at a deleted branch, which is cosmetic.main's copies of the three colliding files (flip_halt_arming.rs,management_prompt/tests.rs,scope_stage.rs) and confirmingcargo test -p stella-pipelineis green — only worth doing if something on it is still wanted.Whichever is chosen, add a comment on the closed #1975 and on #1982 saying where their content ended up, so the trail is not a dead end for the next reader.
Constraint worth recording
This is the second time in this round that two PRs fixed the same break differently and the merge silently concatenated rather than conflicted at the semantic level.
flip_halt_arming.rs's own module docs already record the previous instance ("Keeping the cluster in one file is what makes that clobber a merge conflict instead of a silent deletion"). Duplicate definitions do at least fail the compiler — but only once something compiles them, and a dead branch never does.Refs #1787, #1975, #1982, #1970, #1971.