Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
131 commits
Select commit Hold shift + click to select a range
2b9d172
WIP: R3 Substrate
briansrls May 5, 2026
e53a442
WIP: R3 Substrate
briansrls May 5, 2026
b97d427
WIP: R3 Substrate
briansrls May 5, 2026
78985da
WIP: R3 Substrate
briansrls May 5, 2026
5881c11
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 5, 2026
e1b78bf
WIP: R3 Substrate
briansrls May 5, 2026
215f08b
WIP: R3 Substrate
briansrls May 5, 2026
e538196
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 5, 2026
6ec6ca5
WIP: R3 Substrate
briansrls May 5, 2026
feabbf1
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 5, 2026
259ea06
WIP: R3 Substrate
briansrls May 5, 2026
24431bb
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 5, 2026
69d7a17
WIP: R3 Substrate
briansrls May 5, 2026
ebb2df1
WIP: R3 Substrate
briansrls May 5, 2026
e685b4b
WIP: R3 Substrate
briansrls May 5, 2026
7b77052
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 5, 2026
84aebd9
WIP: R3 Substrate
briansrls May 5, 2026
38e2c64
WIP: R3 Substrate
briansrls May 5, 2026
be17445
WIP: R3 Substrate
briansrls May 5, 2026
bfa3c79
WIP: R3 Substrate
briansrls May 5, 2026
adc5ed1
WIP: R3 Substrate
briansrls May 5, 2026
6329eff
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 5, 2026
c2512cd
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
e875116
fix(briefs): retire INVARIANTS.md line-number cites in r3-426 brief
briansrls May 6, 2026
2072b98
fix(briefs): correct L6 type count + r3-435 dual-path retirement receipt
briansrls May 6, 2026
6282a07
fix(briefs): L6 second 'five types' site + T-E-P lookup-gate authority
briansrls May 6, 2026
d924594
fix(briefs): strengthen L6 ratchet from count-parity to per-row bijec…
briansrls May 6, 2026
946d331
fix(briefs): split L6 ratchet into slice-active vs deferred-activatio…
briansrls May 6, 2026
0536b12
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
4a9f682
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
b913e2f
fix(briefs): require L6 bootstrap enrollment to honor P2 facts-flow-f…
briansrls May 6, 2026
f2666e4
WIP: R3 Substrate
briansrls May 6, 2026
2614217
WIP: R3 Substrate
briansrls May 6, 2026
9db003d
docs(briefs): normalize Practice 4 citation in S3 brief per codex review
briansrls May 6, 2026
2dc92f3
docs(briefs): sweep stale Practice 4 citations corpus-wide
briansrls May 6, 2026
0ecd481
docs(briefs): add Practice 4 citation discipline note to authoring ch…
briansrls May 6, 2026
811de21
docs(r3): cascade work post-Director ratification — S1 worker, R4 rou…
briansrls May 6, 2026
71cd4d5
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
b4cae52
docs(briefs): citation-discipline fix-forward — anchors/quotes, not l…
briansrls May 6, 2026
6ab9ef8
docs(briefs): fix unfaithful Int=AbelianGroup<Nat> + sweep stale 'Ste…
briansrls May 6, 2026
5f22fd0
docs(briefs): Q-Unit-1..5 RATIFIED — apply Scale.Unit→One rename + ra…
briansrls May 6, 2026
a462f00
docs(briefs): Unit/Quantity carrier worker brief — Q-Unit-1..5 RATIFIED
briansrls May 6, 2026
617858b
docs(briefs): S9 Phase-1 reframed — Int landed at #1466; UInt-only mi…
briansrls May 6, 2026
5be1c99
docs(briefs): fix two BLOCKING citation drift items per codex review
briansrls May 6, 2026
127287a
docs(briefs): sweep bare .md:NNN citations in Substrate-Mgr-authored …
briansrls May 6, 2026
8242bb4
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
6e5a548
docs(briefs): fix BLOCKING + NON-BLOCKING items per openai-pro review…
briansrls May 6, 2026
1d9ddba
docs(briefs): codex BLOCKING review fixes — Practice 4 source-level +…
briansrls May 6, 2026
e0cbb6e
docs(briefs): absorb Q-MachineConstraint + Q-Unit-1-Recanvas ratifica…
briansrls May 6, 2026
471a54a
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
74a7b4c
docs(briefs): S11 Slice C worker brief — ROADMAP :425 retirement post…
briansrls May 6, 2026
8d57053
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
ffec7aa
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
6f6e270
docs(briefs): Q-Refined-Phantom-Composition (c) RATIFIED — defer lite…
briansrls May 6, 2026
007ef33
docs(briefs): S12 F2 + F8 doc-sharpening worker brief — post-#1820 ca…
briansrls May 6, 2026
32541a5
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
1bce041
docs(briefs): S9 brief — UInt landed via #1818; algebra label correct…
briansrls May 6, 2026
84fe32d
docs(briefs): fix contradictory (c) guidance in Unit/Quantity worker …
briansrls May 6, 2026
28dea10
docs(briefs): name predicate authority + concretize ratification ID —…
briansrls May 6, 2026
a43cafd
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
566dab9
docs(briefs): S12 RETIRED per Director option (2) ratification
briansrls May 6, 2026
1804447
docs(briefs): S7 PR-F (BoundDeclaration consumer + ReferenceModel<T>)…
briansrls May 6, 2026
cac650c
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
2f07e57
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
2afad12
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
7f2d100
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
237d2c1
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
d34a3f3
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
47b6e1c
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
3cf8309
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
2d23094
docs(briefs): S9 Slice 2.5 — predicate-registry + PB-1 shim retiremen…
briansrls May 6, 2026
a12e970
docs(briefs): Slice 2.5 audit receipt — Mgr independent grep parallel…
briansrls May 6, 2026
ebf6ac1
docs(briefs): Slice 2.5 brief — Int extensibility scope-bound; lower.…
briansrls May 6, 2026
f970077
WIP: R3 Substrate
briansrls May 6, 2026
08f2de8
docs(briefs): Slice 2.5 brief — audit-receipt cites converted to decl…
briansrls May 6, 2026
3d5d8f2
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
5158196
docs(briefs): Slice 2.5 brief — Path (a) RATIFIED carrier+argument co…
briansrls May 6, 2026
dab9a73
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
35786d6
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
da0d0ea
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
f133c15
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
ec6819e
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
4c77773
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
804265f
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
a0b0d14
docs(briefs): Slice 2.5 brief — Path 2 RATIFIED (Gap 1 discharge + Q-…
briansrls May 6, 2026
da6b716
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
77d59ec
docs(briefs): S9 Phase-1 Step 3 emission entries — Tier-1 brief autho…
briansrls May 6, 2026
ec609b4
docs(briefs): S3 Phase-2 parser-grammar surface — Tier-1 brief 2/5
briansrls May 6, 2026
9deb1eb
docs(briefs): S3 Phase-2 brief — fix internal contradiction on Class …
briansrls May 6, 2026
572694d
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
d3f6413
briefs: cite Q-MachineConstraint sub-decision 6 supersession of T-V2-…
briansrls May 6, 2026
f35679f
slice-2.5 brief: mark pattern/format/content Path 2 acceptance pendin…
briansrls May 6, 2026
900bcf4
slice-2.5 brief: reconcile PB-1 retirement shape with Options A/B/C g…
briansrls May 6, 2026
4502717
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
51dc5f8
briefs: tier-1 3/5 — S9 Phase-2 Float emission coordination worker brief
briansrls May 6, 2026
a35287a
briefs: ledger advancement honesty (PRODUCER_LANDED not CONSUMER_LAND…
briansrls May 6, 2026
982dcb2
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
94292e4
slice-2.5 brief: absorb Director Option A revised RATIFICATION (final…
briansrls May 6, 2026
302ea2d
s3-phase-2 brief: absorb Q-MC sub-decision 3 ratification (grammar sh…
briansrls May 6, 2026
e9b8d84
briefs: remove truncated issuecomment-4392... stub from S9 Phase-1 St…
briansrls May 6, 2026
e0cc09c
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
2b49b30
briefs: tier-1 4/5 + 5/5 — T-LBP complexity + cost lens cementing-tes…
briansrls May 6, 2026
3bc4869
canvas: emission-provenance substrate shape disposition (supersedes P…
briansrls May 6, 2026
684947a
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
0316a88
briefs: reconcile Compose<...> slot-1 spellings to algebraic-concept …
briansrls May 6, 2026
14afdd6
s9-p1-s3 brief: scope Deliverable 4 to producer-side verification (de…
briansrls May 6, 2026
b09eaf7
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
86aa457
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
3ded98a
briefs: pre-author T-Rule-Enumeration substrate-fact-introduction wor…
briansrls May 6, 2026
8e11ecb
t-rule-enumeration: align gate name + status to Director ratification…
briansrls May 6, 2026
f36e120
emission-provenance lens brief: revise per Director Q1 (a) RATIFICATION
briansrls May 6, 2026
2ed1046
briefs: bundled Rust-primitive-full-coverage substrate-prerequisite w…
briansrls May 6, 2026
9d175bc
briefs: align Practice 4 classifications to GREEN/YELLOW rubric + add…
briansrls May 6, 2026
e9b22df
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
9d1d8f4
briefs: Practice 4 terminal receipt for EmissionOrigin + bound for β …
briansrls May 6, 2026
09628ff
WIP: R3 Substrate
briansrls May 6, 2026
088263a
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 6, 2026
98507c4
briefs: address codex BLOCKING bundle (sha 2ed1046e) — record-form pr…
briansrls May 6, 2026
4229cd0
rust-primitive-full-coverage: codex inline confirms TargetIntegerInha…
briansrls May 6, 2026
e406b6e
emission-provenance lane: T-Rule-Enumeration RETIRED + Lens brief rev…
briansrls May 7, 2026
8e96d84
emission-provenance lens brief: absorb codex BLOCKING bundle (sha 422…
briansrls May 7, 2026
57ae434
rust-primitive-full-coverage: revert to Option (ii) — Mgr ratificatio…
briansrls May 7, 2026
14f68b6
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 7, 2026
dc307ae
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 7, 2026
2754582
rust-primitive-full-coverage: align Acceptance + Phase ordering + STO…
briansrls May 7, 2026
812602b
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 7, 2026
4d735e7
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 7, 2026
b04725c
lens brief: narrow Deliverable 3 verification step 4 to Behavior-attr…
briansrls May 7, 2026
d05decb
briefs: pre-author IntPlatform/UIntPlatform substrate-fact-introducti…
briansrls May 7, 2026
ff003aa
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 7, 2026
f4f38fa
Merge remote-tracking branch 'origin/main' into session/quick-crab-830
briansrls May 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 19 additions & 8 deletions docs/briefs/r3-substrate-emission-provenance-lens-worker.md
Original file line number Diff line number Diff line change
Expand Up @@ -151,9 +151,14 @@ Author cementing test that:
reuses T-CostLens cementing-test source corpus)
2. Emits target-language output (Rust acceptance target)
3. Runs `Lens<List<EmissionProvenance>>` over the same source
4. **Verifies**: every emitted line has a corresponding
`EmissionProvenance` entry in the per-Behavior aggregate; flatten
to per-line view matches emitted-line numbering
4. **Verifies (scoped to Behavior-attributable lines only)**: every
emitted line that traces to a Behavior in the source `.dag` has a
corresponding `EmissionProvenance` entry in the per-Behavior
aggregate; flatten to per-Behavior-attributable-line view matches
the emitted-line subset. Declarations + program scaffold
(prelude / function / main-wrapper sections) are OUT-OF-SCOPE per
codex Finding #2 at sha 4229cd09 — separate substrate cascade if
needed
5. **Verifies field population**: every entry's `rule` field-path
resolves to a real `*SyntaxBinding`/`*OpsBinding` field
(round-trip: emitter writes field-path → lens recovers same
Expand Down Expand Up @@ -189,11 +194,15 @@ Phase ordering (PR-internal):
- `Lens<List<EmissionProvenance>>` instance landed per 6-field
Director-locked shape; T-CostLens-Composition precedent verified for
shape parity
- Cementing test landed: per-Behavior fold output flattens to per-line
view matching emitted-line numbering; ≥1 entry with span-Some + ≥1
entry with span-None; field-path round-trip verified (every
`rule` field-path resolves to a real `*SyntaxBinding`/`*OpsBinding`
field at HEAD)
- Cementing test landed (scope = **Behavior-attributable lines only**;

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BLOCKING: The new Behavior-only acceptance scope contradicts the still-present Deliverable 3 requirement that every emitted line have provenance, so the worker has two incompatible boundary contracts for the cementing test (P2 boundary discipline).

declarations + program scaffold OUT-OF-SCOPE per codex Finding #2
at sha 4229cd09 — separate substrate cascade if needed): per-Behavior
fold output flattens to per-Behavior-attributable-line view; ≥1
Behavior-attributable entry with span-Some + ≥1 Behavior-attributable
entry with span-None; field-path round-trip verified (every `rule`
field-path resolves to a real `*SyntaxBinding`/`*OpsBinding` field at
HEAD; STOP if field-path threading requires substrate cascade per
codex Finding #1)
- §1.8 row `emission_provenance_lens_landed` advances DECLARED →
PRODUCER_LANDED (Grounding-consumer for visualization wiring is a
separate downstream brief if needed; not bundled per Director
Expand All @@ -208,6 +217,8 @@ Phase ordering (PR-internal):
## STOP-AND-ESCALATE

- **`*SyntaxBinding` / `*OpsBinding` field set materially differs from Reading C catalog at HEAD** (e.g., heavy refactor renamed the structs): STOP — substrate-state-divergence; surface to Substrate Mgr; brief absorbs corrected field-path enumeration before authoring
- **Field-path identity not threadable through emission runtime** (per codex BLOCKING at PR #1910 sha 4229cd09 Finding #1, post-merge): the `render_named_template(...)` call site receives a template *value* extracted from the binding struct field — the field-path that names the rule may not be carried alongside the value at emission time. If lens `read` cannot recover field-path from runtime emission state without structural threading (typed template-with-rule-path or DeclarationRef carrier wrapping the template), STOP and surface — that's a substrate-fact-introduction cascade (separate brief; thread rule-path through binding carrier before lens consumes). Worker DFS at dispatch confirms whether field-path threading is structurally possible OR requires substrate cascade
- **Non-Behavior emission coverage gap** (per codex BLOCKING at PR #1910 sha 4229cd09 Finding #2): `Lens<C>.read: fn(Dag, Behavior) -> Witness<List<EmissionProvenance>>` is per-Behavior; emitted output also includes declarations + program scaffold (e.g., `pub mod`, file headers, `#[derive(...)]` on declared types). Brief Acceptance scope is **Behavior-attributable lines only** — declarations and program scaffold are out-of-scope for this slice. If cementing test surfaces emitted lines unattributable to any Behavior (i.e., the per-Behavior fold doesn't see them), STOP and surface — declared-provenance / scaffold-provenance is separate substrate-fact-introduction (different lens or per-Declaration extension). Acceptance bullet narrowed below to "≥1 Behavior-attributable span-Some + ≥1 Behavior-attributable span-None" rather than full-emission coverage
- **`iterate` identity assumption breaks** (body emitted multiple times
per LoopBound, NOT once): STOP — surface to Substrate Mgr; lens
iterate field shape may need rework
Expand Down
149 changes: 149 additions & 0 deletions docs/briefs/r3-substrate-int-platform-uint-platform-worker.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
---
status: pre-authored per pre-authored-brief-queue discipline; dispatchable post-PR-#1914 close (valiant-ibex-312 freed-pool)
authority parent: R3 Substrate Manager (#1739)
ratification: Director Q1 + Q2 + Q3 + Q4 RATIFIED at gunbc#1739 #issuecomment-4393248961 (zesty-bear-812, 2026-05-07). Naming: IntPlatform/UIntPlatform per `feedback_reason_not_label`. Algebra: `Compose<Int, MachineWidth<Platform>>` + `Compose<UInt, MachineWidth<Platform>>` with Platform as substrate token (target-dependent at grounding). Substrate-concept layer (NOT target-only). Worker pin valiant-ibex-312.
roadmap row: §1.8 ledger row TBD slot — gate `int_platform_uint_platform_substrate_landed` (or canonical equivalent at PR-authoring time)
authority docs:
- gunbc#1739 #issuecomment-4393248961 (Director Q1+Q2+Q3+Q4 RATIFICATION)
- gunbc#1761 #issuecomment-4393222862 (valiant-ibex-312 STOP surfacing the substrate gap from Phase B)
- gunbc#828 #issuecomment-4385530115 (Q-MachineConstraint sub-decision 3 — Compose<Algebra, MachineWidth<N>> shape; this brief extends N with substrate-token Platform)
- dsl/std/integer.dag (consumer site for IntPlatform/UIntPlatform declarations)
- src/v3/std/machine_constraints.dag (existing MachineWidth<bits> carrier; this brief extends to MachineWidth<Platform>)
- PR #1914 (T-Interval-Representation; closes at partial coverage; this brief is the follow-on enabling isize/usize row population)
gates:
- `int_platform_uint_platform_substrate_landed` (proposed §1.8 row)
worker pin: valiant-ibex-312 (freed-pool post-PR-#1914 close; freshest substrate context from BigInt widening + Phase B coverage)
---

# R3 Substrate — `IntPlatform` / `UIntPlatform` substrate-fact-introduction worker brief

## Context

Per Director RATIFICATION at gunbc#1739 #issuecomment-4393248961 (Q1+Q2+Q3+Q4):

PR #1914 (T-Interval-Representation; bundled Rust-primitive-full-coverage) closes at u128 + Phase A coverage; isize/usize rows in `src/v3/spec/rust.dag` deferred to this follow-on. Substrate gap surfaced by valiant-ibex-312 STOP at gunbc#1761 #issuecomment-4393222862:

`TargetIntegerTypeInhabitance.kernel_integer: DeclarationRef` requires a std integer type. Existing rows reference `UInt32` / `Int32` / `Int` / `Int128` / `UInt128`. **`dsl/std/integer.dag` has no platform-sized integer carrier** (no IntPlatform / UIntPlatform / equivalent).

This brief lands the substrate concepts.

### Director ratifications absorbed

- **Q1 — Naming: `IntPlatform` / `UIntPlatform`** per `feedback_reason_not_label` ("encode the stable reason"). Platform-dependence is the structural distinction; size alone doesn't distinguish (Int<32> also has size).
- **Q2 — Algebra: same Int / UInt; platform-axis on MachineConstraint**:
- `IntPlatform` = `Compose<Int, MachineWidth<Platform>>` where `Int = AbelianGroup<GroupCompletion<Nat>>` (per Slice 3 #1466)
- `UIntPlatform` = `Compose<UInt, MachineWidth<Platform>>` where `UInt = CommutativeSemiring<Nat>` (per #1818)
- `Platform` is itself a substrate token (NOT a fixed numeric width); targets ground at emit time
- **Q3 — Substrate-concept layer (NOT target-only)** per `feedback_target_agnostic_ir`. Multiple targets have platform-sized integers; modeling them at substrate-concept layer keeps substrate target-agnostic
- **Q4 — Worker pin valiant-ibex-312** post-PR-#1914 close

## Scope

### Deliverable 1 — `Platform` substrate token

Author `Platform` substrate token in `src/v3/std/machine_constraints.dag` (or canonical adjacent location — worker greps for existing convention). Shape: substrate token consumed by `MachineWidth<Platform>` similarly to existing `MachineWidth<bits>` form for fixed widths.

Two structural shapes worker DFS-decides at dispatch:

- **Option α (sum type)**: `type Platform = Pointer | TargetSpecific(String)` or similar enumeration of platform-axis classes
- **Option β (opaque token)**: `type Platform` (uninhabited or single-witness) — used purely as type-level marker; targets project to specific width at emit time
- **Option γ (typed parameter)**: `MachineWidth<Platform>` parameterized over a Platform type-parameter that's bound by target spec at grounding

**Mgr recommendation**: γ (typed parameter) if the existing `MachineWidth<N>` shape parameterizes over numeric N — adds Platform as a sibling-shape kind alongside numeric. β if simpler / matches existing token discipline. α only if explicit platform-axis enumeration carries structural meaning.

Worker DFS catalogs current `MachineWidth<...>` parameterization shape at HEAD; chooses α/β/γ per existing convention.

### Deliverable 2 — `IntPlatform` / `UIntPlatform` declarations

Author in `dsl/std/integer.dag`:

```dag
type IntPlatform = Compose<Int, MachineWidth<Platform>>
type UIntPlatform = Compose<UInt, MachineWidth<Platform>>
```

Practice 4 classification: N/A — these are type aliases over existing `Compose<...>` carrier, not new sum types or coproducts. Worker confirms no new variant introduction.

### Deliverable 3 — `src/v3/spec/rust.dag` isize/usize rows + TargetIntegerTypeInhabitance population

Add rows:
- `rust_integer_inhabit_isize_platform`: `TargetIntegerTypeInhabitance` referencing `IntPlatform` via `kernel_integer` DeclarationRef + `bound: PlatformDependentFact`
- `rust_integer_inhabit_usize_platform`: parallel for `UIntPlatform`

Existing `TypeRealization` rows for `rust_isize` / `rust_usize` co-author per `spec/rust.dag` row population convention.

### Deliverable 4 — Cross-target signal (informational, not in-scope authoring)

Targets without native platform-sized integers (Python's arbitrary-precision `int`, etc.) handle ground-time via target-conditioned **lowering** — NOT target-conditioned substrate. Per Director Q3 ratification: substrate stays clean; Grounding-lane handles target-side projection.

This brief produces the substrate concepts; cross-target consumer wiring (Python / Go / etc.) is separate Grounding-tier work.

### Deliverable 5 — §1.8 ledger row receipt

Add `int_platform_uint_platform_substrate_landed` to §1.8 ledger; advance DECLARED → CONSUMER_LANDED on merge (consumer = Rust-target row population in same PR via Deliverable 3). Cluster: T-Numeric-Construction-adjacent (or new T-Platform-Integer cluster — Mgr discretion at PR-authoring time).

Co-receipt: PR #1914's `rust_primitive_full_coverage` gate advances PARTIAL → CONSUMER_LANDED on this PR's merge (full Rust integer primitive coverage closed via this slice's isize/usize rows).

## Slice — single PR

Phase ordering (PR-internal):
1. DFS-catalog `MachineWidth<...>` parameterization at HEAD; choose α/β/γ for `Platform` token
2. Author `Platform` substrate token (Deliverable 1)
3. Author `IntPlatform` / `UIntPlatform` declarations (Deliverable 2)
4. Author `src/v3/spec/rust.dag` isize/usize TargetIntegerTypeInhabitance rows + TypeRealization rows (Deliverable 3)
5. Bootstrap snapshot regen + parse corpus manifest refresh; integer-row ratchet update (10 → 12 in `int_literal_ranges.rs`)
6. §1.8 ledger row receipt (Deliverable 5) + co-receipt for `rust_primitive_full_coverage` gate advancement
7. Cross-program handoff receipt to Grounding Mgr (#1745) for G2 Phase 2 isize/usize-coverage dispatch unblock

## Acceptance

- `Platform` substrate token landed in `src/v3/std/machine_constraints.dag` (or canonical equivalent) per α/β/γ shape worker chooses
- `IntPlatform` / `UIntPlatform` declarations landed in `dsl/std/integer.dag` consuming `Compose<Int|UInt, MachineWidth<Platform>>` shape per Director Q2 ratification
- `src/v3/spec/rust.dag` has isize/usize TargetIntegerTypeInhabitance rows + TypeRealization rows; bound: PlatformDependentFact (existing variant per PR #1914 carrier-shape verification)
- Integer-row ratchet at `int_literal_ranges.rs` updated 10 → 12 rows (post-PR-#1914 baseline)
- Bootstrap snapshot + parse corpus manifest hold (semantic equivalence on existing 10 rows; 2 new rows added)
- §1.8 row `int_platform_uint_platform_substrate_landed` advances DECLARED → CONSUMER_LANDED upon merge
- Co-receipt: PR #1914's `rust_primitive_full_coverage` gate advances PARTIAL → CONSUMER_LANDED on this PR's merge
- Cross-program handoff receipt to Grounding Mgr (#1745) — G2 Phase 2 isize/usize coverage unblocked
- `cargo test --workspace --exclude v2-compiler-tests` green (3 pre-existing v2-compiler --lib failures verified unrelated)
- `cargo test -p v2-compiler-tests` green; strict-compile diagnostic ratchet at 0
- `cargo clippy --all-targets -- -D warnings` clean
- `cargo fmt --all --check` clean
- Citation discipline per `docs/briefs/brief-authoring-checklist.md`
- 5-question authority audit in PR body
- P1 substrate-fact-introduction receipt:
- DFS-of-concept-DAG (no parallel platform-integer carrier already exists at HEAD)
- Named consumer demand (Rust-target isize/usize rows; Grounding G2 Phase 2 partial-coverage cascade)
- Carrier-shape rationale (α/β/γ decision)

## STOP-AND-ESCALATE

- **`MachineWidth<...>` parameterization shape doesn't accept `Platform` token** (e.g., parser blocks non-numeric type arguments in second slot): STOP — surface to Substrate Mgr; parser/lowerer extension may be needed OR β opaque-token form needed instead of γ typed-parameter
- **`Compose<...>` interaction syntax encoding doesn't accept the proposed `IntPlatform` / `UIntPlatform` shape**: STOP — surface; parallel concern to S3 Phase-2 parser-grammar work; coordinate with valiant-ant-72 if relevant
- **Bootstrap snapshot drift** during Platform/IntPlatform/UIntPlatform/spec-rust-row authoring: root-cause; do NOT bridge with placeholder
- **Cross-target Grounding-lane consumers surface unforeseen blockers** (e.g., Python target requires substrate-side decision rather than Grounding-side projection): STOP — surface; Director Q3 ratified substrate-clean; if breaks, re-ratify
- **Bundled-scope drift**: do NOT bundle Grounding G2 Phase 2 lowering rules / emit verification into this PR. Per Director bundled-scope ratification at gunbc#1739 #issuecomment-4392225548 — parallel infrastructure DISALLOWED. This brief produces substrate; Grounding consumes follow-on

## Authority audit receipt

1. **Substrate exists?** At brief-author time:
- `Compose<Algebra, MachineConstraint>` carrier landed (PR #1856) ✓
- `MachineWidth<bits>` carrier landed (PR #1856) ✓ — for fixed numeric widths
- `Int` / `UInt` algebraic-concept carriers landed (#1466 / #1818) ✓
- `TargetIntegerInhabitanceBound::PlatformDependentFact` variant exists on origin/main HEAD (per PR #1914 Phase B ratification-state-grep) ✓
- `Platform` substrate token does NOT yet exist — this brief is producer
- `IntPlatform` / `UIntPlatform` carriers do NOT yet exist — this brief is producer
2. **Existing brief?** No prior brief on this axis. PR #1914 (T-Interval-Representation; partial coverage) is the upstream brief that surfaced the gap; this brief is the named follow-on
3. **Design-doc match?** Director Q1+Q2+Q3+Q4 RATIFIED at gunbc#1739 #issuecomment-4393248961 + Q-MC sub-decision 3 (gunbc#828 #issuecomment-4385530115) name the shape verbatim
4. **Citations live?** Worker re-verifies at dispatch (post-PR-#1914 close)
5. **Carrier dissolves the bridge?** Yes — `Platform` substrate token + `IntPlatform`/`UIntPlatform` declarations together dissolve the "isize/usize have no representable substrate concept" bridge. Substrate stays target-agnostic per `feedback_target_agnostic_ir`; targets ground at emit time

## Provenance

Drafted 2026-05-07 by Substrate Mgr (quick-crab-830) per Director Q1+Q2+Q3+Q4 RATIFICATION at gunbc#1739 #issuecomment-4393248961. Pre-authored per pre-authored-brief-queue discipline; dispatch fires post-PR-#1914 close (valiant-ibex-312 freed-pool from T-Interval-Representation; freshest context for follow-on per Director Q4).

Cross-references:
- PR #1914 (T-Interval-Representation partial-coverage; this brief is named follow-on)
- Q-MC sub-decision 3 (`Compose<Algebra, MachineWidth<N>>` shape; this brief extends N with substrate-token Platform)
- Grounding G2 Phase 2 (consumer; isize/usize coverage unblocks on this brief's PR merge)
- S3 Phase-2 parser-grammar (potential coordination point if `MachineWidth<Platform>` non-numeric parameterization surfaces parser concerns)
Loading
Loading