The capstone's recovery rehearsal (Part F) is unrunnable as written, for two compounding reasons:
No sync after the forge merge. Part E step 9 squash-merges the feature PR on the forge. There is no git switch main && git pull afterward, so the squash commit exists only on the remote — local main is behind. Part F then cuts a throwaway branch off the still-local feature branch and tries to revert a <merge-sha> that isn't in local history → git revert fails with a bad-revision error.
-m 1 on a squash commit. Even with the SHA present, a squash-merge produces a single-parent commit, so git revert -m 1 <merge-sha> errors with "mainline was specified but commit … is not a merge", and "find the merge commit" is impossible. Module 12 ties -m 1 to two-parent merge commits and uses git merge --no-ff in its own lab precisely to make -m 1 valid. AGENTS.md mandates squash-merge.
Evidence
capstone/README.md: step 9 squash-merge (~line 214); Part F step 11 (~lines 233-235) "Find the merge commit … git revert -m 1 <merge-sha>"; the "If it goes wrong (M12)" prose (~line 117). Part A (~lines 149-153) shows the correct git switch main && git pull pattern that is missing after step 9. AGENTS.md line 52 mandates squash-merge.
Why it matters
This is the capstone's "recovery you rehearsed" payoff in the course's culminating deliverable; a copy-paste-runnable lab that errors twice breaks the finale and the honesty/runnable-lab promises.
Proposed change
Insert a sync step at the end of Part E (or start of Part F): git switch main && git pull, then git log --oneline -1 to capture the squash commit SHA. Cut the throwaway branch from the updated main.
Change recovery to plain git revert <squash-sha> (no -m), and drop "find the merge commit". Keep squash-merge (do not switch the capstone to --no-ff, which would contradict step 9 and AGENTS.md). Module 12 teaches plain git revert <commit>, so the chain holds.
Apply the same fix to the line-117 "If it goes wrong" prose so both references agree.
Acceptance criteria
After the forge squash-merge, the lab syncs local main and shows how to find the squash SHA.
Recovery uses plain git revert <squash-sha>; no -m 1 and no "find the merge commit" anywhere in the capstone.
Both Part F step 11 and the line-117 prose are consistent and runnable.
Affected files
capstone/README.md
References
Merged source findings F7 + F47 (each realVotes 3/3) — same broken Part F block. Module 12 precedes the capstone and teaches plain git revert.
Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.
## Problem
The capstone's recovery rehearsal (Part F) is unrunnable as written, for two compounding reasons:
1. **No sync after the forge merge.** Part E step 9 squash-merges the feature PR on the forge. There is no `git switch main && git pull` afterward, so the squash commit exists only on the remote — local `main` is behind. Part F then cuts a throwaway branch off the still-local feature branch and tries to revert a `<merge-sha>` that isn't in local history → `git revert` fails with a bad-revision error.
2. **`-m 1` on a squash commit.** Even with the SHA present, a squash-merge produces a single-parent commit, so `git revert -m 1 <merge-sha>` errors with "mainline was specified but commit … is not a merge", and "find the merge commit" is impossible. Module 12 ties `-m 1` to two-parent merge commits and uses `git merge --no-ff` in its own lab precisely to make `-m 1` valid. AGENTS.md mandates squash-merge.
## Evidence
`capstone/README.md`: step 9 squash-merge (~line 214); Part F step 11 (~lines 233-235) "Find the merge commit … `git revert -m 1 <merge-sha>`"; the "If it goes wrong (M12)" prose (~line 117). Part A (~lines 149-153) shows the correct `git switch main && git pull` pattern that is missing after step 9. AGENTS.md line 52 mandates squash-merge.
## Why it matters
This is the capstone's "recovery you rehearsed" payoff in the course's culminating deliverable; a copy-paste-runnable lab that errors twice breaks the finale and the honesty/runnable-lab promises.
## Proposed change
1. Insert a sync step at the end of Part E (or start of Part F): `git switch main && git pull`, then `git log --oneline -1` to capture the squash commit SHA. Cut the throwaway branch from the updated `main`.
2. Change recovery to plain `git revert <squash-sha>` (no `-m`), and drop "find the merge commit". Keep squash-merge (do not switch the capstone to `--no-ff`, which would contradict step 9 and AGENTS.md). Module 12 teaches plain `git revert <commit>`, so the chain holds.
3. Apply the same fix to the line-117 "If it goes wrong" prose so both references agree.
## Acceptance criteria
- [ ] After the forge squash-merge, the lab syncs local `main` and shows how to find the squash SHA.
- [ ] Recovery uses plain `git revert <squash-sha>`; no `-m 1` and no "find the merge commit" anywhere in the capstone.
- [ ] Both Part F step 11 and the line-117 prose are consistent and runnable.
## Affected files
- `capstone/README.md`
## References
Merged source findings F7 + F47 (each realVotes 3/3) — same broken Part F block. Module 12 precedes the capstone and teaches plain `git revert`.
---
*Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.*
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The capstone's recovery rehearsal (Part F) is unrunnable as written, for two compounding reasons:
git switch main && git pullafterward, so the squash commit exists only on the remote — localmainis behind. Part F then cuts a throwaway branch off the still-local feature branch and tries to revert a<merge-sha>that isn't in local history →git revertfails with a bad-revision error.-m 1on a squash commit. Even with the SHA present, a squash-merge produces a single-parent commit, sogit revert -m 1 <merge-sha>errors with "mainline was specified but commit … is not a merge", and "find the merge commit" is impossible. Module 12 ties-m 1to two-parent merge commits and usesgit merge --no-ffin its own lab precisely to make-m 1valid. AGENTS.md mandates squash-merge.Evidence
capstone/README.md: step 9 squash-merge (~line 214); Part F step 11 (~lines 233-235) "Find the merge commit …git revert -m 1 <merge-sha>"; the "If it goes wrong (M12)" prose (~line 117). Part A (~lines 149-153) shows the correctgit switch main && git pullpattern that is missing after step 9. AGENTS.md line 52 mandates squash-merge.Why it matters
This is the capstone's "recovery you rehearsed" payoff in the course's culminating deliverable; a copy-paste-runnable lab that errors twice breaks the finale and the honesty/runnable-lab promises.
Proposed change
git switch main && git pull, thengit log --oneline -1to capture the squash commit SHA. Cut the throwaway branch from the updatedmain.git revert <squash-sha>(no-m), and drop "find the merge commit". Keep squash-merge (do not switch the capstone to--no-ff, which would contradict step 9 and AGENTS.md). Module 12 teaches plaingit revert <commit>, so the chain holds.Acceptance criteria
mainand shows how to find the squash SHA.git revert <squash-sha>; no-m 1and no "find the merge commit" anywhere in the capstone.Affected files
capstone/README.mdReferences
Merged source findings F7 + F47 (each realVotes 3/3) — same broken Part F block. Module 12 precedes the capstone and teaches plain
git revert.Filed from an adversarial multi-agent course review (217 raw findings → 54 adversarially-verified survivors). Scoped for manual review; intentionally not auto-assigned to an agent.