Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
515ed5d
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
51117fc
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
3847a49
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
cf60431
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
ba2e866
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
8a39733
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
aa517a7
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
eee1f40
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
09a83ca
Align parallelism diagnostic projection
briansrls May 12, 2026
a729411
Format parallelism lens call
briansrls May 12, 2026
7a0b87b
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
8289486
Refresh parallelism bootstrap snapshots
briansrls May 12, 2026
3f36485
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
1e7318e
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
1c4a51e
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
4347dbc
Document parallelism lens helper receipts
briansrls May 12, 2026
66fb6bb
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
61f0712
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
5d13054
Keep parallelism primitive helper off lens surface
briansrls May 12, 2026
7329c2c
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
67b9c6d
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
79bfd20
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 12, 2026
2106016
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 12, 2026
f8b4013
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
7244247
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
cae0205
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
b36c289
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
dbfec3b
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
f72901d
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
4794650
Classify parallelism helper carriers in ratchet
briansrls May 13, 2026
75d3af0
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
4d42197
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
23d399d
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
bc8a0b9
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
f97ea6e
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
a16e5ad
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
4c069cd
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
6ec2a25
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 2026
ee570df
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
4eeb7b5
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
ace1645
WIP: T-Cluster-F-α S1 #81 parallelism walker port (src/v3/compiler/sr…
briansrls May 13, 2026
72c073f
Merge remote-tracking branch 'origin/main' into session/swift-ferret-696
briansrls May 13, 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
2 changes: 1 addition & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -438,7 +438,7 @@ Tracked debt not dispatched with the 2026-04-21 lane wave (Lane 1e P3.0, SG-2c-4
- **CI ratchet architecture — PARTIAL (T-Receipts W1 second bundle)**: surfaced during the 2026-04-21 reflective analysis (`53b3110..ae8825a` range). Commits `37cd6128`, `4898983e`, `f84ed355` hardened the ratchet against CI-log instability, but `2d8396df` widened the exemption list. `scripts/slow-test-exemptions.txt` currently has **41** active non-comment exemptions (per `scripts/check-test-timeout.sh`’s sed-based count: non-empty lines with inline `#` comments stripped); `scripts/check-test-timeout.sh` meta-ratchet default `TEST_TIMEOUT_MAX_EXEMPTIONS` matches that count. **PR #1856 receipt:** the 41↔41 alignment was re-established by **removing a duplicate** `t_demo_fixture_test::t_demo_canonical_suites_are_runner_visible` exemption row (it had pushed `exempt_count` to **42** vs the default-**41** ratchet floor). **Landed partial:** classification audit [docs/debt/ci-ratchet-exemption-audit-2026-04-24.md](docs/debt/ci-ratchet-exemption-audit-2026-04-24.md) (2026-04-24 baseline) plus follow-up routing audit [docs/debt/ci-ratchet-exemption-audit-2026-05-02.md](docs/debt/ci-ratchet-exemption-audit-2026-05-02.md) (bounded scope — not a completed Phase 1 per-test timing pass). **Still open:** fresh CI-shaped per-test timing audit, stale exemption deletion if any entries measure under 2s, and per-exempt duration budgets once fresh timings exist. Dispatch brief: `docs/briefs/ci-ratchet-architecture-audit.md`.
- **`IntegrationRsScan` / `integration_rs_active_line_contains` in `src/v3/compiler/tests/integration/common/mod.rs` — PARTIAL (T-Receipts; char/byte-char literal widening **PR #1856**).** Historical context (#686 / #705): the scanner was narrow enough that authors on its scan path avoided `b'\\'` / `b'"'` in favor of numeric byte constants. **Landed in #1856:** explicit `ByteCharLiteral` / `CharLiteral` states with escape-aware skipping plus lifetime vs `'…'` disambiguation and focused unit tests — byte-char and character literals no longer false-green Band-C `#[path` / `mod` needles. (Earlier ROADMAP text cited **PR #1791** for partial CI / row hygiene only; **#1856** is the live implementation receipt for the widening in `common/mod.rs`.) **Residual:** raw strings (`r#"…"#`) and byte strings (`b"…"`, `br#"…"#`) are still intentionally loud via the existing opener probe (panic in `Code`). Dissolution for that remainder: widen `IntegrationRsScan` for those forms **or** replace this scan with a structural reader. Owner: unassigned; P2 Boundary Discipline / T-Receipts bundle.
- **Stale-receipt sweep in `docs/briefs/` — PARTIAL (T-Receipts W1).** The cited `DeclarationLookup` cleanup brief now carries a historical-receipt banner stating the lane is closed by SG-4b-1-fix and that `DeclarationLookup` / `find_declaration` are gone from `src/v3/lenses/variant_payload.dag`; its stale INVARIANTS refs were also updated to stable anchors. Remaining broad `docs/briefs/` sweep stays open for later post-wave stale claims. **Include:** `docs/design-pure-bootstrap.md`'s hand-maintained count ("78 hand-maintained .rs files") was stale vs. the SG-0 census — **CLOSED in this R1 PR**: all five occurrences (lines 7, 49, 82, 105, 242 of the design doc) now point at the live census, reframed as deltas against the illustrative 78-file baseline, or scoped to the non-test + TESTING residual framing. No frozen absolute count remains.
- **Compiler–`std/` consolidation program — specific migrations**: end-state defined in [docs/thesis/compiler-std-consolidation.md](docs/thesis/compiler-std-consolidation.md). Each of the migrations below is a standalone lane; together they collapse the compiler-specific type surface toward the positive definition (pipeline + regen + lens-specific return-type carriers + accessor). **Ratchet:** count of `type` declarations in `src/v3/compiler/*.dag` AND `src/v3/lenses/*.dag` that are NOT in the positive-def set AND NOT exempted → 0. Positive-def: pipeline/regen types + lens-API return carriers (`Origin`, `UnusedParameter`, `ComplexitySummary`, `VariantPayloadShapeLookup` 3-variant, `TemplateArgumentBinding` semantic carrier, etc.). Exempted: `parse_tables.dag` (7 types, pending SG-2c-proper per-row classification). In-ratchet: **workaround-shaped infer-helper coproducts with named dissolution triggers (`TemplateArgumentsMatch`, `TemplateArgumentCursor`, `NormalizedInstantiationArgs`)** — Lookup-pattern carriers on lens surfaces import `v3.std.lookup::Lookup` (`complexity`, `cost`, `infer_helpers`). Primary count: 3. See thesis doc table for per-file disposition.
- **Compiler–`std/` consolidation program — specific migrations**: end-state defined in [docs/thesis/compiler-std-consolidation.md](docs/thesis/compiler-std-consolidation.md). Each of the migrations below is a standalone lane; together they collapse the compiler-specific type surface toward the positive definition (pipeline + regen + lens-specific return-type carriers + accessor). **Ratchet:** count of `type` declarations in `src/v3/compiler/*.dag` AND `src/v3/lenses/*.dag` that are NOT in the positive-def set AND NOT exempted → 0. Positive-def: pipeline/regen types + lens-API return carriers (`Origin`, `UnusedParameter`, `ComplexitySummary`, `VariantPayloadShapeLookup` 3-variant, `TemplateArgumentBinding` semantic carrier, `LinearBranchesLookup` terminal lens-private control-flow carrier, etc.). Exempted: `parse_tables.dag` (7 types, pending SG-2c-proper per-row classification). In-ratchet: **workaround/scaffold-shaped lens coproducts with named dissolution triggers (`TemplateArgumentsMatch`, `TemplateArgumentCursor`, `NormalizedInstantiationArgs`, `NonCommutingPairLookup`)** — Lookup-pattern carriers on lens surfaces import `v3.std.lookup::Lookup` (`complexity`, `cost`, `infer_helpers`); `NonCommutingPairLookup` dissolves when typed pairwise non-commute evidence lands on `WorkflowParallelismReport`. Primary count: 4. See thesis doc table for per-file disposition.
- **`tokenize.dag` → `std/tokenize.dag`** — landed: `Token`, `TokenKind`, `KeywordTokenKind`, `PunctTokenKind`, `LocalPunctSpec`, `StringEscapeSpec` now live in `src/v3/std/tokenize.dag`; compiler-local duplicates deleted. Ratchet drop: 25 → 19.
- **`runtime_mirrors.dag` → `src/v3/std/parse_surface.dag` (tranche 2)** — landed: `DagDifference`, `Surface*`, and related carriers (~14 types) now live in `v3.std.parse_surface`; `runtime_mirrors.dag` deleted. Ratchet drop: 19 → 5. Parse-rule/fragment dissolution triggers (`parse_parser_body.txt`, SG-2b/SG-3f) unchanged.
- **`parse_tables.dag`** — decide per-type whether `BinaryOpLevel` / `BinaryOpRow` / `TopLevelItemKwRow` / `SoftKeywordIdentRow` / `BracketRow` / `PrimaryPrefixRow` / `PrimaryAtomRow` stay compiler-API (dispatch-row shapes) or move to `std/syntax.dag` (language-level precedence/dispatch facts). Owner: whoever picks up **SG-2c proper** parser cutover; migration-gate: SG-2c proper completion (the `.dag` parser reveals which rows it dispatches on vs which are pure data). Precedent rule: if any individual row needs to move before SG-2c proper lands, the mover-lane sets the classification and the rest follow the same rule when touched.
Expand Down
6 changes: 3 additions & 3 deletions docs/thesis/compiler-std-consolidation.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ Exempted (pending named trigger, not counted either direction):
Ratchet-tracked (**migrates to `std/`, counted against the baseline**):
- Compiler-side types that duplicate user-facing concepts (tokenize types moved; parse-surface family moved — remaining debt is lens Lookup/coproduct scaffolds listed in the inventory)
- Strict 2-variant `Missing | Found(T)` Lookup-pattern carriers declared **in** `src/v3/lenses/*.dag` — **none** on the tracked lens/compiler DAG surfaces (`complexity`, `cost`, and `infer_helpers` import `v3.std.lookup::Lookup`). Carriers with additional semantic variants (e.g., `VariantPayloadShapeLookup`'s `NotPayloadProduct`, `TemplateArgumentBinding = Conflict | NoOp | Append`) are lens-API, not in-ratchet.
- Lens-local workaround-shaped coproducts with named dissolution triggers (today: `TemplateArgumentsMatch`, `TemplateArgumentCursor` in `infer_helpers.dag`) also count against the ratchet; these are implementation scaffolds, not genuine lens-API carriers.
- Lens-local workaround-shaped coproducts with named dissolution triggers (today: `TemplateArgumentsMatch`, `TemplateArgumentCursor`, `NormalizedInstantiationArgs` in `infer_helpers.dag`, plus `NonCommutingPairLookup` in `parallelism.dag`) also count against the ratchet; these are implementation scaffolds, not genuine lens-API carriers.

Baseline (2026-04-22, measured via `grep -cE "^type [A-Z]"` after the tokenizer migration; **primary ratchet updated 2026-04-22 — consolidation tranche 2** after `parse_surface` migration):

Expand All @@ -145,13 +145,13 @@ Baseline (2026-04-22, measured via `grep -cE "^type [A-Z]"` after the tokenizer
| `src/v3/lenses/idempotency.dag` | 0 | — |
| `src/v3/lenses/infer_helpers.dag` | 4 | 3 in-ratchet (`TemplateArgumentsMatch`, `TemplateArgumentCursor`, `NormalizedInstantiationArgs` — workaround-shaped coproduct scaffolds with named dissolution triggers) + 1 positive-def (`TemplateArgumentBinding = Conflict \| NoOp \| Append \| ReplaceAt` — semantic carrier); template-argument presence uses imported `Lookup<DeclarationId>` |
| `src/v3/lenses/lower_helpers.dag` | 0 | — |
| `src/v3/lenses/parallelism.dag` | 0 | — |
| `src/v3/lenses/parallelism.dag` | 2 | 1 positive-def (`LinearBranchesLookup` — terminal lens-private branch extraction control-flow helper, not a dissolving scaffold) + 1 in-ratchet (`NonCommutingPairLookup` — scaffolded pair-evidence carrier until `WorkflowParallelismReport` grows typed non-commute evidence) |
| `src/v3/lenses/provenance.dag` | 1 | positive-def (`Origin` — provenance-specific) |
| `src/v3/lenses/structural_resolution.dag` | 2 | both positive-def (`UnresolvedArrowBody` and `NameKeyedReference` — both are lens-API record types carrying the lens's findings, not Lookup patterns) |
| `src/v3/lenses/unused_parameters.dag` | 1 | positive-def (`UnusedParameter`) |
| `src/v3/lenses/variant_payload.dag` | 2 | both positive-def (`VariantPayloadShape` domain type + `VariantPayloadShapeLookup` — 3-variant carrier with `NotPayloadProduct` semantic distinction, not generic Lookup) |

**Primary ratchet count today: 3** (0 strict 2-variant Lookup-pattern carriers on lens surfaces — `complexity`, `cost`, and `infer_helpers` import `v3.std.lookup::Lookup` + 3 workaround-shaped infer-helper coproducts: `TemplateArgumentsMatch`, `TemplateArgumentCursor`, `NormalizedInstantiationArgs`). The tokenizer migration removed 6 compiler-local type declarations by moving them to `src/v3/std/tokenize.dag` (25 → 19). Consolidation tranche 2 removed 14 by moving the parse-surface family to `src/v3/std/parse_surface.dag` (19 → 5). The SG-4b callable-instantiation normalization cluster adds `NormalizedInstantiationArgs` as a tracked workaround carrier (Option-as-enum, paired to dissolve alongside `TemplateArgumentsMatch` when the lens→Rust emitter lands verified `T?` / `Bool` return mappings). The complexity lens completion slice widens the positive-def API from the old `CostEntry` row to `Certainty`, `ComplexitySummary`, `ComplexityEntry`, `DominanceOutcome`, and `ComplexityEnforcedApplication` while keeping the generic presence carrier imported from `v3.std.lookup`. All lens-local types now classified — `structural_resolution.dag`'s two record types (`UnresolvedArrowBody`, `NameKeyedReference`) are positive-def lens-API carrying the lens's findings.
**Primary ratchet count today: 4** (0 strict 2-variant Lookup-pattern carriers on lens surfaces — `complexity`, `cost`, and `infer_helpers` import `v3.std.lookup::Lookup` + 3 workaround-shaped infer-helper coproducts: `TemplateArgumentsMatch`, `TemplateArgumentCursor`, `NormalizedInstantiationArgs` + 1 parallelism scaffold coproduct: `NonCommutingPairLookup`). The tokenizer migration removed 6 compiler-local type declarations by moving them to `src/v3/std/tokenize.dag` (25 → 19). Consolidation tranche 2 removed 14 by moving the parse-surface family to `src/v3/std/parse_surface.dag` (19 → 5). The SG-4b callable-instantiation normalization cluster adds `NormalizedInstantiationArgs` as a tracked workaround carrier (Option-as-enum, paired to dissolve alongside `TemplateArgumentsMatch` when the lens→Rust emitter lands verified `T?` / `Bool` return mappings). The parallelism walker port adds `LinearBranchesLookup` as a terminal private branch-extraction control-flow helper and `NonCommutingPairLookup` as a scaffold that dissolves when typed pairwise non-commute evidence lands on `WorkflowParallelismReport`. The complexity lens completion slice widens the positive-def API from the old `CostEntry` row to `Certainty`, `ComplexitySummary`, `ComplexityEntry`, `DominanceOutcome`, and `ComplexityEnforcedApplication` while keeping the generic presence carrier imported from `v3.std.lookup`. All lens-local types now classified — `structural_resolution.dag`'s two record types (`UnresolvedArrowBody`, `NameKeyedReference`) are positive-def lens-API carrying the lens's findings.

End state: 0. Each migration lane reduces the count; positive-definition types track growth separately and are not bounded downward by this ratchet.

Expand Down
Loading
Loading