The paper agrees with the code — guide v11, README, DESIGN re-rulings, and the adjudicated sweep

Step 7 of strategy/01-git-excision.md, the companions. The agent guide bumps to v11: the Git section teaches repo-resident etiquette alone (stage only your own paths, commit your own changes, leave app-maintained files to the app) — existing boards heal to the new text on next open. README re-anchors: the four git feature bullets out, tiers say the complete Mac experience is free, and one bullet states the format's git-friendliness promise. The changelog drops the never-shipped git entries. DESIGN re-rules: 06 retired with Undo routing migrated to 13 (now the sole substrate's doc, seam kept open), 07 retired as written pending the ops-service workstream, 14 retired as superseded record, 12 carries the second pivot note, the index reflects all of it; the charter gets a pointer note (the anchors' full re-ruling stays with the user). InertGitTests renames to GitAgnosticStorageTests — the excision restores its original claim app-wide. And the sweep: ~70 comment sites across 36 files adjudicated against the keeper list, every present-tense description of the excised machinery made past tense or repointed, keepers untouched. 2,707 tests green.

Claude-Session: https://claude.ai/code/session_014PtZdPwqZuqEDLc6wZMtEy
This commit is contained in:
2026-08-08 12:31:27 -04:00
parent 8cf1457814
commit 445d035a83
50 changed files with 397 additions and 313 deletions
+11 -10
View File
@@ -195,12 +195,13 @@ final class CardWindowSession: CardSessionFlushing {
func endSession() async {
guard !hasEnded else { return }
hasEnded = true
// pro-m1: this is the boundary the auto-committer coalesces on one commit per Edit
// session, "never per save tick" (06-history-undo.md Rules Auto-commit). The debounced
// saves inside the session are ordinary bracketed writes; what makes them one commit is that
// the committer's own debounce outlives them and this call is where the session is known to
// be over. It is also where the body's *last* fine step joins this window's stack, which is
// why it has to precede the fold below.
// Once the boundary the auto-committer coalesced on too "one commit per Edit session,
// never per save tick" (06-history-undo.md Rules Auto-commit, retired with app-managed
// git, `strategy/01-git-excision.md`, 2026-08-08). What is left is native undo's own version
// of the same idea: the debounced saves inside the session are ordinary bracketed writes, and
// what makes them one step is that `endEditSession` registers exactly one (13-native-undo.md
// Rules) once the session is known to be over. It is also where the body's *last* fine step
// joins this window's stack, which is why it has to precede the fold below.
body.endEditSession()
// **The saves, in the order the comments build fixed**: the inline session's flush, then the
// draft's (`CardComments.endSession`). Both may register their own last fine step, so both
@@ -212,10 +213,10 @@ final class CardWindowSession: CardSessionFlushing {
// This is the one place that knows both halves: the window's stack, which is the session's
// net effect, and the `comments/.trash/` purge, which must not run while a board step's undo
// still restores comments out of it. Registering answers whether the step took the purge on
// and a board whose substrate keeps no steps has already run it by the time that answer comes
// back, which is how a git board keeps purging at the close flush without a word about tiers
// here (and there is none to say since 12-editions.md PIVOT 2026-08-07 the substrate is
// the board's mode, not a subscription).
// and a board whose substrate declines to keep a step (`registerCardSession`'s three `false`
// cases above) has already run the purge by the time that answer comes back. The seam stays
// nil-safe on purpose for whatever substrate registers next (`strategy/01-git-excision.md`
// Reversibility); today the native stack is the only one that ever says yes.
//
// **This window stops owning its card's comment trash first** (ruled 2026-08-06 the
// open-window carve-out). While the window is open the store defers every purge of this