From 714026bdfe9607cbd0309527f5791bd82b4841be Mon Sep 17 00:00:00 2001 From: Matt Spinola Date: Mon, 3 Aug 2026 21:58:39 -0400 Subject: [PATCH] docs: close C28, the equity spec's UC-2 is fixed crucible-stack #21 (merge 3efc36f) applies the correction C28 reasoned about but deliberately did not make, since that file is a shared working tree in another repo. Recorded so C28 does not read as an open item. A "not edited" section with no outcome is the stale marker that invites a second, divergent fix, which is the trap the swap-dealer handoff hit earlier today. The outcome block also records two things C28 got wrong, both from reasoning about a sibling document rather than reading it: It missed the section 7 preamble, which promised "stops that survive", one screen above the use case it was sent to. It assumed the widening trade-off had nowhere to point, because it reasoned from this repo where the classification is A.10. The equity spec already had UC-6, "Classifying a drawdown while it is happening", so the fix routes the decision there rather than merely naming two outcomes. That is better than what C28 proposed. Docs only, no test added or removed, so the four skip counts do not move. Co-Authored-By: Claude Opus 5 --- docs/design/amendments-2026-08-03.md | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/docs/design/amendments-2026-08-03.md b/docs/design/amendments-2026-08-03.md index 0332cd0..dc91222 100644 --- a/docs/design/amendments-2026-08-03.md +++ b/docs/design/amendments-2026-08-03.md @@ -1568,3 +1568,34 @@ not deliver in the one regime the document was written about. **No reproducer.** Nothing here is measured. The claim is internal inconsistency in two documents, checkable by reading them. + +### CLOSED 2026-08-03. Fixed in `crucible-stack`, and this section missed two things + +`crucible-stack` **#21**, merge `3efc36f`, on their `main`. Recorded here so §C28 does not +read as an open item: a section that says "not edited" with no outcome is exactly the stale +marker that invites a second, divergent fix, which is the trap the swap-dealer handoff hit +on 2026-08-03. + +All three of the changes this section asked for landed: defined-risk protection now leads +(it was already present, offered second as the alternative), widening is demoted to a +trade-off with both sides named, and "a stop is a trigger, not a guarantee" is stated +outright. + +**Two things this section got wrong by not looking hard enough at the file it was judging.** + +- **It missed the §7 preamble**, which promised "stops that survive". That is the same claim + in miniature, one screen above the use case, and reading only UC-1 and UC-2 did not reach + it. Also fixed in #21. The lesson is narrow and practical: when a claim is wrong, grep the + document for the claim rather than fixing the passage you happened to be sent to. +- **It assumed the trade-off had nowhere to point.** This section said the fix would need + "both sides named" and stopped there, because it reasoned from *this* repo, where the + classification lives in `§A.10`. The equity spec already had its own: **UC-6, "Classifying + a drawdown while it is happening"**, with a two-row signature table separating a + positioning unwind (mean-reverts) from a fundamental repricing (does not). So the fix + routes the widening decision to UC-6 rather than merely naming two outcomes, which is + strictly better than what was proposed here. + +**The direction of the error is worth noting.** Reasoning about a sibling document from +memory of *our* structure produced a fix proposal that was correct but thinner than the +target document could support. The measure-do-not-assume rule has an obvious extension: read +the whole of the document you are correcting, not the paragraph you were pointed at.