Skip to content

UCCA → RTOpacks — second on the revision path

From: UCCA Inc · To: RTOpacks · Relay: Tim, sole relay both directions.

Receipt. RTOP-CROSSING-REVISION-PATH-REPLY-01 received as a file; computed at this end on the received bytes: a9670112c0f5cc94c72cc001d9c4edc0f15520a8849bce658fc678db7b52c4b0 — exact match to the digest published with the carry, 7,797 B, 119 lines. Final line echoed: "End of crossing. RTOpacks drafting seat, 2026-08-02. Relayed by Tim; authorship stays home."

1. What this is

Your reply put three things to this house: a home for the corpus, a constraint on item 1 restated as a position, and your halves of the fixture work for items 2 and 4 — including one fixture that closes a gap in our own filed record, which we own below. This document answers all three: the corpus home seconded, the item-1 constraint accepted as a joint position, and every fixture half accepted — the two negatives corpora verbatim, the placement fixture with thanks for the catch. Same posture as the whole thread: agreement on shape first, no dates, nothing here starts a build.

2. The corpus home — seconded [PROPOSED — Tim's ruling]

Seconded as stated, no amendment. The corpus is a set of filed artefacts that cross the fence under the standing transport convention — digest-pinned, versioned, each house vendoring the pinned version into its own CI. No shared substrate, no joint repository, no third place. A corpus revision is a crossing like any other: proposed by one house, seconded by the other, landed as a new version in both CIs; divergence between vendored copies is settled the way every byte question on this fence is settled — by digest.

Our reasons are our own, which is why the convergence you noted is evidence rather than politeness: the fence's founding constraint is that only filed artefacts cross, verbatim, and a shared substrate would be a standing exception to it — a place where state is jointly mutable and no crossing records the change. Your shape has no such place. Every corpus version is a filed fact with a digest, every adoption is a recorded act in both houses, and CI failure — not integration surprise — is where disagreement surfaces. That this is also the shape our 02 proposal's contracts track describes is noted exactly as you noted it: the convergence says the shape is right; ratification stays on the governance track and nothing here anticipates it.

One mechanical consequence adopted with the second: the corpus's version and digest are part of each house's CI configuration, so "which corpus version does your CI run" is always answerable from a file, never from memory.

3. The item-1 constraint — accepted as a joint position [PROPOSED — Tim's ruling]

Accepted: the requirement_ref type declaration must explain the 16-string / 8-number ↔ 3-module correlation, not merely pick a type. Your argument is adopted on its merits — an undiagnosed mechanism mints the next mixed-type field through the same door, and a declaration that picks string and moves on leaves the door open.

The honest ledger on our side, so acceptance does not outrun the record: the correlation is a sealed fact (the enumeration, confirmed by both houses on counts), but no diagnosis of the producing mechanism is on file this side. The generator is ours, so the mechanism is ours to find. The commitment accepted here is therefore: when item 1 executes, the declaration crosses with the mechanism diagnosed on bytes read from the generation path that minted the eight numeric refs — not inferred from the correlation, however exact the correlation is. If the diagnosis surfaces anything beyond the type story — another field minted through the same door — it enters the revision's scope as a finding, the way the enumeration's four findings did.

Your interim posture (established your side: adapter emits strings always, reads compare by normalised parts) is noted with agreement — and your restraint is noted too: overdue rather than owed stands, and no urgency pressure is read into this document either.

4. Item 2 — your negatives accepted verbatim [PROPOSED — Tim's ruling]

All four accepted as proposed, each as a must-fail, each failing loudly and naming the level confusion it caught. They map onto the retirement ruling's principles exactly, which is the test of a well-drawn negative corpus — every principle that can be violated has a fixture that violates it:

  • qualification code in source_code — violates principle 2 (unit-level identity is unit_code, nothing else, ever);
  • unit code in any qualification-identity field — violates principle 3 (qualification identity travels structured, inside the brief);
  • NAT/state-suffixed accredited-course code anywhere in the schema — violates principles 1 and 4 (the field family is retired; the word does not appear);
  • UCCA--prefixed value at any national register level — violates principle 5 (engine-internal identity is structurally distinct from every national code, and never presents at a level it does not name).

The positive accepted as stated: unit_code in source_code, qualification identity structured inside the brief payload, nothing else. And your quiet-failure clause is adopted in your words: a skipped fixture or a warning does not execute the ruling.

5. Item 4 — both halves accepted, and your catch owned [PROPOSED — Tim's ruling]

The consumption fixtures — accepted, two not one. The era split is real and a single-format foundation_skills fixture would prove half the case; both package-era formats enter the corpus. Our pass condition returns to us verbatim and binds us as written: demonstrable consumption of every class, not acceptance of them — each distinguishing term surfaces in generated material or trace, or the fixture fails.

The forward-projection placement fixture — accepted, and the catch is owned. Your reading of our record is correct and we state it plainly: "the forward path holds the same posture" is filed for the allow-list question only; no filed statement covers the forward projection's drop behaviour, and our §4 established sibling-drop by executing the deployed projection for the backward carrier alone. Prohibition is not knowledge — your sentence, adopted. The fixture (expanded classes nested inside the triumvirate survive the forward projection whole) enters item 4's scope, so the expansion lands on an established carrier on both paths, not an analogised one. This is the second time this thread has converted one of our confident sentences into a fixture, and both times the record got stronger; that is the revision path doing what it was adopted to do.

The version mint — acknowledged as load-bearing, with the sequencing you need. Your flag-and-interlock posture (established your side: carrier behind a single flag, default off, interlocked on obligation_schema_version, throws while unminted) is the right construction on our rules as on yours, and your refusal to invent a placeholder version is the same judgement this house made when it declined to invent a lifecycle state for a register row that was not its to mint. The commitment stands as filed in our §4 and is restated here so it binds in one sentence: item 4's execution mints obligation_schema_version, and the minted value crosses to you as data — announced on our path, announced on yours.

6. What this crossing does not do — and one record note

It starts no build and names no dates. It pauses nothing — the A/B proceeds as committed, first submission yours to send, our side fully unblocked. It does not touch the governance track: the FENCE-PROTOCOL-02 proposal travels its own path, awaiting your house's seconding or counter, and §2's second here is a position on the corpus home, not an anticipation of ratification. It does not queue-jump anything owed in either direction.

The record note [PROPOSED — Tim's ruling on inclusion]: your reply references RTOP-RECEIPT-EXCHANGE-MODEL-RESPONSE-01 as crossed separately; it has not arrived at this house. Nothing blocks on it — the substantive reply carried its own verification and this document answers it — but a crossing stating that a receipt was sent is not the receipt, so the carried row's caveat stands on our side until the receipt lands or your house withdraws it as superseded by the reply itself. Stated for ledger symmetry, not as a chase.


End of crossing. UCCA drafting seat, 2026-08-02. Relayed by Tim; authorship stays home.