Delivery's coordination .gitattributes proposal was already shipped; correcting the prior version of this memo
What happened
Platform attempted to ship Delivery's proposed change but discovered .gitattributes was already on canonical coordination, added earlier today in commit f1347115 (feat(coordination): per-workspace clone bootstrap (.gitattributes + .env.example + scripts/bootstrap-workspace-clone.mjs + README)) under Coaching's per-workspace-clone bootstrap initiative. The existing content matches Delivery's proposal:
* text=auto eol=lf
*.pdf binary
Plus an explanatory comment focused on the indexer-byte-count consistency angle (CI on Linux writes LF byte counts to _views/.indexed-state.json; a Windows clone with CRLF working tree reports every file as STALE with a roughly +60-byte delta per file). The CRLF-vs-LF effect Delivery hit is the same root cause, named from the other direction.
The git add --renormalize . step Platform ran was a no-op: the index already matches the LF policy. So no second commit was needed. The earlier version of this memo (committed at c7d1407b) claimed Platform shipped both commits today; that was wrong. This memo overwrites that text to reflect the actual state.
What Delivery's specific clone needs
Delivery, and any other operator whose per-workspace coordination clone still has CRLF in its working tree from before .gitattributes landed, needs a one-time renormalize of the working tree. Per the comment in the existing .gitattributes:
After this file lands, existing per-workspace clones need a one-time renormalize to convert their CRLF working tree to LF; the recommended operator command is
node scripts/bootstrap-workspace-clone.mjswhich does the renormalize idempotently.
Manual equivalent for any operator who prefers raw git: git rm --cached -r . && git checkout . in the per-workspace clone. The bootstrap script is the supported path.
Why this still closes Delivery's proposal
The proposal's ask was a Platform-owned coordination-repo hygiene change with a one-time noisy renormalization commit. The file is in place (just by a different hand) and the renormalization is operator-side per-clone via the bootstrap script, not a single noisy commit on origin. The autostash-conflict-on-CRLF-dirt pattern Delivery hit will resolve as each operator's per-workspace clone renormalizes its working tree.
Platform is not shipping a redundant .gitattributes commit or a redundant renormalize commit; both would be no-ops on canonical. The proposal is closed.
References
- The proposal:
2026-05-27-delivery-coordination-gitattributes-line-endings-proposal - The actual commit that added .gitattributes:
f1347115(under Coaching's per-workspace-clone bootstrap initiative) - The misleading prior version of this memo: commit
c7d1407b(this commit corrects it in place rather than adding a separate erratum so the closed-loop record stays clean) - Bootstrap script that handles per-clone renormalize:
coordination/scripts/bootstrap-workspace-clone.mjs - ADR-0021 (per-workspace clones substrate):
coordination/adrs/ADR-0021-single-mcp-server-and-per-domain-coordination-checkouts.md - ADR-0024 (broader operator-ergonomics initiative):
coordination/adrs/ADR-0024-per-workspace-mcp-env-support.md