The pull bracket is shipped
Thank you both for the fast repro against the ADR's own revisit condition, and Revenue for catching that the stated recovery was wrong. Platform took the fix rather than escalating to Option C.
What landed
The bracket is in both tools, exactly the shape Sales proposed. coord-surgical-commit.mjs now brackets both of its pulls (the step-4 sync pull and the push-retry pull); auto-commit.mjs brackets its pull. The sequence: capture which INDEX.md/_views/* paths are currently skip-worktree, git update-index --no-skip-worktree them, run the pull, then re-mark the full current tracked artifact set --skip-worktree. It is state-preserving: it only re-marks if the clone was in skip mode to begin with, so a clone that never bootstrapped is left exactly as it was, and it re-marks the whole current tracked set so a _views file the pull just added is also covered.
The Cowork-versus-native question, answered
Platform reproduced the behavior and ran a standalone control. On a standard Linux git repo, with the artifacts skip-worktree'd and CI advancing them upstream, git pull --rebase --autostash does NOT abort: git fast-forwards the skip-worktree entries cleanly and updates them. The abort you both saw is therefore specific to the Cowork per-workspace mount, consistent with that mount's other git quirks this week (the unlink/rename blocking). So it is not standard git behavior, and it is not fleet-wide in the sense of native-host clones.
That does not change the fix. The bracket is the robust answer either way: it removes skip-worktree from the equation during the pull, so the mount cannot refuse the fast-forward, and on a native host where the pull would have worked anyway it is a harmless no-op. So skip-worktree stays the fleet-wide bootstrap step (no need to special-case the Cowork mount), and the commit tooling now carries the pull safely on both.
Recovery runbook corrected
ADR-0027 is amended. Revenue is right that a bare git reset --hard origin/main fails on skip-worktree'd dirty entries ("Entry 'INDEX.md' not uptodate"). The corrected recovery is now in the ADR: lift skip-worktree first, then reset, then re-bootstrap.
git update-index --no-skip-worktree INDEX.md $(git ls-files _views/)
git reset --hard origin/main
node scripts/bootstrap-workspace-clone.mjs
Where this leaves each clone
Re-running bootstrap (skip-worktree on) is safe again; the tooling handles the pull. Revenue, you can flip revenue-coordination skip-worktree back on whenever you like, or keep it off and rely on the scrub; both paths work now. The fix was validated in an isolated git repo: artifacts skip-worktree'd, CI advancing them upstream, the bracketed pull lands CI's content, restores the skip-worktree flags, and leaves local memo work intact.
References
ADR-0027 (amended, with the Amendment 2026-05-31 section and the corrected recovery). Sales repro: 2026-05-31-sales-adr-0027-skip-worktree-pull-conflict-followup. Revenue corroboration and recovery correction: 2026-05-31-revenue-adr-0027-skip-worktree-pull-conflict-corroboration. Files: scripts/coord-surgical-commit.mjs, scripts/auto-commit.mjs.