From 22a550bad445d3692cfc582ed9dbc2eecc621f36 Mon Sep 17 00:00:00 2001 From: Cryptskii <47649969+cryptskii@users.noreply.github.com> Date: Wed, 9 Sep 2026 15:55:33 -0400 Subject: [PATCH] docs(plan): Step 3 tells an implementer to build a class that belongs to 2c-D MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step 3 says "Then build TA_B (0x0011, ...)". The CCB object registry lists 0x0011 TraderAcceptance as "blocked — 2c-D" and states plainly that ownership of 0x0011 is 2c-D's, that 2c-B disclaims it, and that TA_B verification moves with its field table. 2c-C4 gives the reason in its charter note: an amendment cannot specify the verification of an object whose fields another amendment defines. So anyone following Step 3 literally would set out to build a class that is not yet defined, and would discover that only after writing the surrounding machinery. Recorded alongside it is the thing that makes 5c-2 startable anyway. 2c-C4 rules the state the market may reach in the meantime: "After C4 and before 2c-D: accepted-successor verification may succeed and validated economic admission may succeed — and a market fold remains PartialPendingRealization. It MUST NOT be promoted to realized from correspondence alone." That means Step 2/3 may lift the emission refusal and carry a market trade as far as bound-but-unrealized, with realization, fence release, receipt publication and TA_B all waiting for 2c-D. The refusal does not have to wait for 2c-D; only the second half of the lifecycle does. That distinction is the difference between 5c-2 being blocked and 5c-2 being startable, and it was not written down anywhere. Added to the existing second status block rather than as a third block, and the plan body is still not rewritten. Markdown only; neither pre-push gate reads markdown. --- ...5c-2-market-realization-acceptance-artifact.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/docs/plans/2026-09-07-5c-2-market-realization-acceptance-artifact.md b/docs/plans/2026-09-07-5c-2-market-realization-acceptance-artifact.md index 5c583242..d065bf62 100644 --- a/docs/plans/2026-09-07-5c-2-market-realization-acceptance-artifact.md +++ b/docs/plans/2026-09-07-5c-2-market-realization-acceptance-artifact.md @@ -40,6 +40,21 @@ > | the advancement gate reads as a wiring residue | `trader_fence::permits_successor` and its SDK wrapper `active_verdict` have **zero non-test callers**, and the bilateral advance path consults no fence at all. TWO producers are owed, not one: the gate, and the release event, which has no production emitter either | > | the fence keys the trade | The ONLY production `bind_settlement` call (`dlv_routes.rs:2897`) passes `vault_id` as `trader_chain_id`, so production writes **vault-keyed** rows. Step 3's `FenceKey` move is load-bearing, not cosmetic: one row cannot serve both the vault and trader coordinate systems | > +> **Step 3's `TA_B` half is NOT 5c-2's to build.** Step 3 says "Then build `TA_B` (`0x0011`, …)". +> The registry lists `0x0011` `TraderAcceptance` as **blocked — 2c-D**, and states that "Ownership +> of `0x0011` itself is 2c-D's — 2c-B disclaims it, and 2c-C4 records that `TA_B` verification moves +> with its field table." 2c-C4 says the same in its charter note: an amendment cannot specify the +> verification of an object whose fields another amendment defines. So an implementer following +> Step 3 literally would try to build a class that is not yet defined. +> +> **What 5c-2 CAN reach without 2c-D is exactly one state, and it is ruled.** 2c-C4: "After C4 and +> before 2c-D: accepted-successor verification may succeed and validated economic admission may +> succeed — and a market fold remains `PartialPendingRealization`. It **MUST NOT** be promoted to +> realized from correspondence alone." So Step 2/3 may lift the emission refusal and carry a market +> trade as far as BOUND-BUT-UNREALIZED. Realization, fence release, receipt publication and `TA_B` +> all wait for 2c-D. That is the designed lifecycle, not a shortfall — and it means the refusal can +> be lifted before 2c-D ships, provided nothing downstream reads a bound fold as realized. +> > **Ruling V3 outranks any reading in which the advance releases the fence.** 2c-C4 §7 gates fence > release on `may_certify()`, and Ruling V3 records that market fence release is unreachable until > 2c-D *by construction*. A committed fence therefore STAYS in `CommittedAwaitingAcceptance` — that