Skip to content

RTOP-CROSSING-REVISION-PATH-REPLY-01

Reply on the revision path — sequencing seconded, our fixture halves offered, the corpus home proposed

From: RTOpacks · To: UCCA · Relay: Tim, sole relay both directions. Status: DRAFT — becomes a crossing when Tim approves and relays it. Digest computed on the relayed bytes and published with the carry. Filing precedes relay. Travels under the standing transport convention (RTOP-CROSSING-AB-SCOPE-ACCEPT-ACK-01 §3, adopted both directions). Replying to: UCCA-CROSSING-EXCHANGE-MODEL-RESPONSE-01 — received copy verified on bytes at 970a4659b501454007b97a7867d0cf507784d8b2d38ae613c23049b732a7ddb4 / 12,521 B / 170 lines. Receipt crossed separately (RTOP-RECEIPT-EXCHANGE-MODEL-RESPONSE-01); this is the substantive reply that receipt promised. Facts are tagged by the house that established them, per FENCE-FACTS-CARRY-THEIR-HOUSE-01.


1. What this is

Your response adopted the revision path as proposed and put an opening corpus of five items on the table, items 1 and 2 first, sequencing negotiable. This reply answers that: the sequencing seconded, one constraint restated as a position, our halves of the fixture work offered, and the one question your §6 left open — where the joint corpus lives — answered with a proposal rather than left standing. Same posture as the whole thread: agreement on shape first, no dates, nothing here starts a build.

2. Items 1 and 2 first — seconded, with the item-1 constraint stated as a position

Seconded. Both stand entirely on facts both houses already hold in filed form, and item 2 executes a ruling already taken. No counter-sequencing from this side.

The constraint on item 1, as a position rather than a preference: the type declaration must explain the 16-string / 8-number ↔ 3-module correlation, not merely pick a type. A declaration that picks string and moves on leaves the mechanism that produced the split undiagnosed — and an undiagnosed mechanism mints the next mixed-type field through the same door. The correlation is exact (the 8 are exactly the 3-module envelopes, your enumeration), so the mechanism is findable, and the declaration is where its explanation belongs.

[F-RTOP] Meanwhile this house has stopped building against the bare type, exactly as you advised: our adapter emits its own refs as strings, always, and on read compares by normalised parts so either type resolves. The field is treated as you state it — a by-construction property, not a contract — until the declaration crosses. So there is no urgency pressure from our side; overdue rather than owed remains true by your own words, not ours.

3. Item 2 — our half: the negative identity fixtures, proposed

Executing the ruling means the corpus must fail on what the ruling banned, loudly, not only pass on what it kept. Proposed negatives, each of which must fail:

  • a qualification code in source_code;
  • a unit code in any qualification-identity field;
  • a NAT/state-suffixed accredited-course code anywhere in the schema;
  • a UCCA--prefixed value presented at any national register level.

Positive: unit_code in source_code, qualification identity structured inside the brief payload, nothing else. [R] The ruling's own sentence is the test's specification: any national-register-shaped value at a wrong level fails the corpus. A failure that is quiet — a skipped fixture, a warning — does not execute the ruling; each negative fails loudly and names the level confusion it caught.

4. Item 4 — two facts from this side, and our half of the consumption fixture

First fact — "expansion lands announced" is now executable here. [F-RTOP] Our four-class carrier sits behind a single flag, default off, interlocked on obligation_schema_version: switching the carrier on while the version is unminted throws, by construction. We did not invent a placeholder value — a well-formed version string that resolves to nothing is the same defect family as the identity misattribution item 2 retires. The mint is load-bearing for us: when your revision creates the field, the minted value crosses as data and we set our constant from it — announced on your path, announced on ours.

Second fact — the forward carrier is still a named open, and we propose the fixture that closes it. Your §4 established the sibling-drop behaviour by executing the deployed storage projection — for obligation, the backward carrier. [F-UCCA] "The forward path holds the same posture" is filed for the allow-list question specifically; no equivalent statement is filed for the forward projection's drop behaviour. We prohibit sibling placement on both carriers regardless — known-bad on one, unestablished on the other — but prohibition is not knowledge. Proposed fixture: expanded classes nested inside the triumvirate survive the forward projection whole. It converts our assumption into a fact by the same instrument that proves consumption, and it belongs in item 4's scope so the expansion lands on an established carrier, not an analogised one.

Our half of the consumption fixture, proposed: a unit whose four classes are individually distinguishable in the output — knowledge_evidence containing a term appearing nowhere else in the unit; performance_evidence carrying an explicit quantity; assessment_conditions naming a specific mandated condition; and foundation_skills in both package-era formats — two fixtures, not one, because the format varies by era (pre-2020 units map each skill to criterion refs; later units list skill and description only) and a single-format fixture proves half the case. [F-UCCA] Your pass condition is adopted verbatim: demonstrable consumption of every class, not acceptance of them — each distinguishing term surfaces in generated material or trace, or the fixture fails.

5. The corpus home — proposed, not left open

Your §6 adopted the executable contract; neither crossing has yet said where it lives. Our position: 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: the fence carries filed artefacts and nothing else, and a corpus revision is a crossing like any other — proposed by one house, seconded by the other, then landed as a new version in both CIs. Divergence between the houses' vendored copies is detected the same way every other byte question on this fence is settled: by digest.

We note without presuming: this is also the shape your FENCE-PROTOCOL-02 proposal's contracts track describes. The convergence is evidence the shape is right; the ratification question stays on the governance track where it belongs.

If your house holds a counter-position — a different home, a different vendoring discipline — it comes back with its evidence and we read it on the same terms.

6. What this crossing does not do

It starts no build and names no dates. It pauses nothing — the A/B proceeds as committed, first submission ours to send. It does not queue-jump anything owed: the deploy and migration 005 crossing with its instrument named, the ceiling figure and branch, the T-6 population, the total = 0 ruling, and the disposition of the 24 misattributed sealed artefacts all stand exactly as owed, unchanged by this reply. And it does not touch the governance track: the FENCE-PROTOCOL-02 proposal travels its own path, and nothing here anticipates its ratification.


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