One wave (W12), twenty-five releases, D-213 … D-242, one capability: a branch
forks by writing ONE row and copying nothing, reads its ancestry as of the fork
point, writes its own rows beside its parent's rather than over them, answers
diff(a, b) against another lineage, and is abandoned in one transaction that
takes its links, its concepts, its log entries and its own register row.
Merge is refused, in writing: Doctrine III has no neutral answer to which
assertion supersedes which.
Schema v11 -> v15 over four rungs. Snapshot payload v3 -> v4 under an unchanged
v3 header. DbError 33 -> 41 variants. Public surface 1,313 -> 1,624 items.
MSRV 1.88 unchanged.
The shape of the cycle is that the plan's own sentences were the thing most
often refuted, and every refutation is a measurement rather than a rewrite.
Three of the nine acceptance criteria in §17 are RESTATED rather than ticked,
each restatement a register entry rather than an edit.
§14.1's carry table is closed. C-1 at 0.14.2 (D-218), C-2 at 0.14.23 (D-240),
C-4 at 0.14.24 (D-241), C-3 at 0.14.25 (D-242). C-5 (cargo-semver-checks) is at
1.0 by decision, because it wants a released baseline to diff against. None of
the four closed the way its row predicted.
Verified for this commit:
637 Rust across 51 targets - 618 with --no-default-features across 50 -
559 Python passed / 2 skipped - mypy --strict clean - clippy clean under
-D warnings on three target sets - rustdoc clean - public API gate at 1,624
items, unchanged - fmt clean.
CI is green on this SHA across all eight jobs, and the property arm was read
rather than glanced at (D-234): `completed`, 660 passed, zero named failures.
See docs/releases/v0.15.0.md.