Skip to content

feat(dsl): land dsl/std/compute_fabric.dag (Worksheet A §6) - #4105

Merged
briansrls merged 5 commits into
mainfrom
session/sharp-wolf-compute-fabric-impl
May 31, 2026
Merged

briansrls merged 5 commits into
mainfrom
session/sharp-wolf-compute-fabric-impl

Conversation

@briansrls

@briansrls briansrls commented May 31, 2026 •

Copy link
Copy Markdown
Contributor

Worksheet A implementation dispatch (post-#4095 merge): lands dsl/std/compute_fabric.dag per docs/planning/v4-elastic-compute-fabric-worksheet-2026-05-30.md §6. Includes post-merge worksheet patch (ArtifactKindId on ArtifactLocalityRequirement for P2 alignment with Worksheet B).

Prerequisites met: #4095 merged to main (b87ef6715); Worksheet A §8 CLOSED; no cache_interface import.

Worker attestation

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why.
  • Tests run: cargo run --bin gunbc -- compile --source-root dsl/std --output-dir /tmp/out --target dag — compute_fabric.dag has no parse errors (full std root has pre-existing float/unicode diagnostics unrelated to this module).
  • If this closes a work item, the body contains a Closes #N directive.
  • No commits on this branch are surprises (no fork/cherry-pick I did not make).
  • No secrets / credentials / large binaries staged.

Summary

First substrate landing for elastic compute fabric (exploration §4.0f Worksheet A, cases 1–8): demand/supply types, receipts, ingress stubs, ArtifactKindId/ComputeArtifactLocality boundary discipline. Worksheet B (cache_interface.dag) is a separate follow-on PR.

Test plan

  • gunbc compile --source-root dsl/std — no diagnostics in dsl/std/compute_fabric.dag
  • CI (scheduled after ready)

briansrls and others added 3 commits May 31, 2026 07:26
Worksheet A and compute_fabric.dag use ArtifactKindId on
ArtifactLocalityRequirement so demand identity aligns with Worksheet B
ArtifactIdentity (P2; not bare NonEmptyStr).

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls

Copy link
Copy Markdown
Contributor Author

Addressed cursor REQUEST_CHANGES on merged #4095 worksheet (review 22802): ArtifactLocalityRequirement.artifact_kind is now ArtifactKindId (forward reference, same brand as Worksheet B ArtifactIdentity) in both docs/planning/v4-elastic-compute-fabric-worksheet-2026-05-30.md and dsl/std/compute_fabric.dag.

Also fixed compute_fabric.dag parse blockers (cost-model placeholders, generic ArtifactRef<T> on WorkUnit inputs); module parses clean in gunbc compile --source-root dsl/std.

@briansrls

Copy link
Copy Markdown
Contributor Author

Already addressed on HEAD a63e5d8e3: Worksheet A and dsl/std/compute_fabric.dag both use ArtifactKindId on ArtifactLocalityRequirement; no further change for review 22802.

— sent from sharp-wolf-824

@briansrls
briansrls marked this pull request as ready for review May 31, 2026 07:47
@briansrls briansrls changed the title Modeling DFS — fractal compute fabric + cache substrate (PR #4091 §4.0f §4.0g acceptance) feat(dsl): land dsl/std/compute_fabric.dag (Worksheet A §6) May 31, 2026
briansrls and others added 2 commits May 31, 2026 07:53
Claude review 22820: align ProcessorCostModel placeholders with sibling
P-CF-* dissolution markers (Worksheet A §2).

Co-authored-by: Cursor <cursoragent@cursor.com>
machine_view_label reads surface.os.distro_or_product; host identity
stays on MachineView.host (review 22824).

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls merged commit 8c01c15 into main May 31, 2026
10 checks passed
briansrls added a commit that referenced this pull request May 31, 2026
…uthor positive-Y CiUpsertStep row in ci.dag consuming Upsert/ci-schema + #4105/#4107 substrate at composition edges; retire scripts/v4-testclaim-corpus-gate.sh + remove paired ci.yml step; assert receipt parity with existing T-22 (#4115)

* WIP: P5 structural-bridge implementation per #4114 worksheet (7ab2d28) — aut

* WIP: P5 structural-bridge implementation per #4114 worksheet (7ab2d28) — aut

* WIP: P5 structural-bridge implementation per #4114 worksheet (7ab2d28) — aut

* chore: apply cargo fmt for PR #4115 smoke-test assertions

Co-authored-by: Cursor <cursoragent@cursor.com>

* fix(ci): address P5 bridge review — bootstrap if parity, carveout, notice text

- Run v4_bootstrap_compile (and resolve/gate-result) when workflow_policy
  is affected so corpus eval always has upstream dag artifacts (P3/F3).
- Document workflow-local bootstrap consumption in ci_always_run_carveouts
  per worksheet §1.2 until v4_bootstrap_dag_emit_ci_job lands.
- Retire forbidden "T-22 TestClaim corpus structural bridge" notice wording.
- Extend smoke tests for carveout + YAML grep F5.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 31, 2026
…cement) — +184 delta vs #4086

Per PM dispatch 2026-05-31: re-run full-tree M1 probe + per-class delta vs
PR #4086 baseline. Substrate landings since #4086: #4099 SG-1b worksheet,
#4100 SG-RC worksheet, #4102 R3-internal, #4105 + #4107 substrate
(compute_fabric + cache_interface), #4115 P5 bridge replacement.

Headline (origin/main at d015b76):
- v2 emit diagnostics: 0 (SG-7 stays closed; confirms #4115 didn't regress)
- .rs files emitted: 345 (was 335; +10 substrate growth)
- rustc errors: 7175 (was 6991; +184 / +2.6%)
- E0423 (SG-1 closure check): 0 (stays closed across all 6 substrate PRs)

Delta concentration:
- E0107 (SG-2): +125 — biggest single delta; new compute_fabric/cache_interface
  carriers need type-arg projection; SG-2 worksheet path #3962 absorbs without
  shape change.
- E0308 (mixed): +43 — SG-1-FOLLOWON +13 (1317 → 1330 'expected String, found
  Symbol') + SG-RC-LAYERING +24 on TestClaim row + minor others.
- Other codes: ±0 to +6 each; long tail completely pinned.

No new SG-class signatures emerged. P3-D elastic core count UNCHANGED from
#4086: 8 active receipt-producing classes + 2 closed. All routing from
proud-pike-680 (msg_6db2dc9e) absorbs the delta:
- SG-1b worksheet #4099 absorbs the +13 SG-1-FOLLOWON.
- SG-RC-LAYERING worksheet #4100 absorbs the +80 SG-RC.
- SG-COLLECTION-PROJECTION (~170, no Δ) stays on SG-5/SG-6 amendment plan.
- SG-2 / SG-8 / SG-3-CASCADE: existing worksheet routings.

§6 includes a spot-correction of #4086's SG-3-CASCADE arithmetic (was
1191; actual sum is 761).

§7 explicit reads: P5 bridge replacement (#4115) did NOT regress v2 emit;
this catalog's 0-diagnostic line is the implicit non-regression receipt.

§8 NOT-list: not a worker dispatch (proud-pike's routing surface); not a
SG-1/SG-7 reopening; not a P5 bridge receipt (#4097 owns that); not a P1/
MW-D8 amendment.

Two files: catalog + raw probe summary verbatim.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 31, 2026
…4086 (no new SG classes) (#4122)

* WIP: Close/Receipt Manager — authority over close predicates, two-axis dispos

* docs(close/receipt): fresh M1 rustc probe post-#4115 (P5 bridge replacement) — +184 delta vs #4086

Per PM dispatch 2026-05-31: re-run full-tree M1 probe + per-class delta vs
PR #4086 baseline. Substrate landings since #4086: #4099 SG-1b worksheet,
#4100 SG-RC worksheet, #4102 R3-internal, #4105 + #4107 substrate
(compute_fabric + cache_interface), #4115 P5 bridge replacement.

Headline (origin/main at d015b76):
- v2 emit diagnostics: 0 (SG-7 stays closed; confirms #4115 didn't regress)
- .rs files emitted: 345 (was 335; +10 substrate growth)
- rustc errors: 7175 (was 6991; +184 / +2.6%)
- E0423 (SG-1 closure check): 0 (stays closed across all 6 substrate PRs)

Delta concentration:
- E0107 (SG-2): +125 — biggest single delta; new compute_fabric/cache_interface
  carriers need type-arg projection; SG-2 worksheet path #3962 absorbs without
  shape change.
- E0308 (mixed): +43 — SG-1-FOLLOWON +13 (1317 → 1330 'expected String, found
  Symbol') + SG-RC-LAYERING +24 on TestClaim row + minor others.
- Other codes: ±0 to +6 each; long tail completely pinned.

No new SG-class signatures emerged. P3-D elastic core count UNCHANGED from
#4086: 8 active receipt-producing classes + 2 closed. All routing from
proud-pike-680 (msg_6db2dc9e) absorbs the delta:
- SG-1b worksheet #4099 absorbs the +13 SG-1-FOLLOWON.
- SG-RC-LAYERING worksheet #4100 absorbs the +80 SG-RC.
- SG-COLLECTION-PROJECTION (~170, no Δ) stays on SG-5/SG-6 amendment plan.
- SG-2 / SG-8 / SG-3-CASCADE: existing worksheet routings.

§6 includes a spot-correction of #4086's SG-3-CASCADE arithmetic (was
1191; actual sum is 761).

§7 explicit reads: P5 bridge replacement (#4115) did NOT regress v2 emit;
this catalog's 0-diagnostic line is the implicit non-regression receipt.

§8 NOT-list: not a worker dispatch (proud-pike's routing surface); not a
SG-1/SG-7 reopening; not a P5 bridge receipt (#4097 owns that); not a P1/
MW-D8 amendment.

Two files: catalog + raw probe summary verbatim.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs(close/receipt): #4122 — fix §6 arithmetic per openai-pro (long-tail 58 → 115; SG-3-CASCADE includes E0308 mop-up)

openai-pro found that §6 published a contradictory long-tail count:
§2 already lists E0391=29, E0599=28, other=58 separately, but §6's
'Long tail (E0391 / E0599 / + 12 other codes)' said 58 — should be
29+28+58 = 115. Separately, SG-3-CASCADE row totaled only
E0277+E0573+E0560+E0369+E0121 (765), omitting the E0308 mop-up that
the cascade definition is supposed to soak up by construction.

Fixes:
- Long tail row: 58 → 115 (E0391 + E0599 + other 12 codes, sum verified).
- SG-3-CASCADE row: 765 → ~1,390 (adds unclassified-E0308 mop-up
  ~625 = 2905 total E0308 minus SG-1-FOLLOWON 1330 minus SG-RC-LAYERING
  ~780 minus SG-COLLECTION-PROJECTION ~170).
- Added an explicit arithmetic-reconciliation sub-table showing each
  bucket × code coverage × count, summing to ~7,175 ± 1 rounding band.
- Footnote on the probe-summary top-25 histogram summing to 7,174 vs §1's
  7,175 — single error in a code beyond top-25 (probe script truncates
  display at top-25; rustc log carries full population).

Catalog now publishes a single self-consistent residual count usable as
the live ratchet meter.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* WIP: Close/Receipt Manager — authority over close predicates, two-axis dispos

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 31, 2026
…-driven, not "zero Δ" (openai-pro #4126)

§1 claimed the SG-3 named bands are "pinned (zero Δ)" and "the only motion is
residual-E0308," contradicting the adjacent table's E0560 +4 / named-subtotal +4.
Corrected: 4 of 5 named bands are zero-Δ; E0560 ticked +4, and that tick is
itself primary-driven (new SG-2 field-projection sites from #4105/#4107
substrate, per §2) — not independent SG-3 growth, which strengthens the
cascade-only thesis rather than weakening it. The −46 total is net of the +4
E0560 tick. No count changed; wording made internally faithful.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 31, 2026
…ksheet (per #4086) (#4126)

* docs(receipt): SG-3-CASCADE cascade-only determination — no §10.0 worksheet (per #4086)

SG-3-CASCADE (trait/field/binary mop-up: E0277/E0573/E0560/E0369/E0121 +
residual-E0308) carries no independent missing modeled fact. Each band is the
rustc-visible consequence of a fact already owned by a primary class
(SG-1-FOLLOWON #4099, SG-2 #3962, SG-RC-LAYERING #4100, SG-8, SG-COLLECTION-
PROJECTION). A §10.0 worksheet's DFS-path / canonical-home fields would be empty
or duplicate a primary's — so no worksheet is warranted; authoring one would
invent substrate work that does not exist.

- New: docs/audit/v4-sg3-cascade-only-receipt-2026-05-31.md
  §0 determination, §2 per-band traceability (each → owning primary/worksheet),
  §4 falsifiable monotonic-dissolution criterion for the next post-primary probe.
- Resolves predicate-dependency-graph §3.3 ambiguity: SG-3-CASCADE row was
  "extend existing worksheet" (unnamed); now "retired (no worksheet)" — bands
  fan across five primaries, no single host to extend.

Docs-only; no code/substrate/.dag touched. Grounded in the committed #4122 live
ratchet meter (SG-3 bands pinned, zero-Δ vs #4086); no re-probe (would regenerate
identical numbers).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* WIP: SG-3-CASCADE §10.0 worksheet or cascade-only receipt — trait/field/binar

* docs(receipt): fix §1 measurement-basis wording — E0560 +4 is primary-driven, not "zero Δ" (openai-pro #4126)

§1 claimed the SG-3 named bands are "pinned (zero Δ)" and "the only motion is
residual-E0308," contradicting the adjacent table's E0560 +4 / named-subtotal +4.
Corrected: 4 of 5 named bands are zero-Δ; E0560 ticked +4, and that tick is
itself primary-driven (new SG-2 field-projection sites from #4105/#4107
substrate, per §2) — not independent SG-3 growth, which strengthens the
cascade-only thesis rather than weakening it. The −46 total is net of the +4
E0560 tick. No count changed; wording made internally faithful.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 31, 2026
…4126 (#4130)

* docs(receipt): SG-3-CASCADE cascade-only determination — no §10.0 worksheet (per #4086)

SG-3-CASCADE (trait/field/binary mop-up: E0277/E0573/E0560/E0369/E0121 +
residual-E0308) carries no independent missing modeled fact. Each band is the
rustc-visible consequence of a fact already owned by a primary class
(SG-1-FOLLOWON #4099, SG-2 #3962, SG-RC-LAYERING #4100, SG-8, SG-COLLECTION-
PROJECTION). A §10.0 worksheet's DFS-path / canonical-home fields would be empty
or duplicate a primary's — so no worksheet is warranted; authoring one would
invent substrate work that does not exist.

- New: docs/audit/v4-sg3-cascade-only-receipt-2026-05-31.md
  §0 determination, §2 per-band traceability (each → owning primary/worksheet),
  §4 falsifiable monotonic-dissolution criterion for the next post-primary probe.
- Resolves predicate-dependency-graph §3.3 ambiguity: SG-3-CASCADE row was
  "extend existing worksheet" (unnamed); now "retired (no worksheet)" — bands
  fan across five primaries, no single host to extend.

Docs-only; no code/substrate/.dag touched. Grounded in the committed #4122 live
ratchet meter (SG-3 bands pinned, zero-Δ vs #4086); no re-probe (would regenerate
identical numbers).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* WIP: SG-3-CASCADE §10.0 worksheet or cascade-only receipt — trait/field/binar

* docs(receipt): fix §1 measurement-basis wording — E0560 +4 is primary-driven, not "zero Δ" (openai-pro #4126)

§1 claimed the SG-3 named bands are "pinned (zero Δ)" and "the only motion is
residual-E0308," contradicting the adjacent table's E0560 +4 / named-subtotal +4.
Corrected: 4 of 5 named bands are zero-Δ; E0560 ticked +4, and that tick is
itself primary-driven (new SG-2 field-projection sites from #4105/#4107
substrate, per §2) — not independent SG-3 growth, which strengthens the
cascade-only thesis rather than weakening it. The −46 total is net of the +4
E0560 tick. No count changed; wording made internally faithful.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(planning): purge SG-3 single-authority conflict — retire it across all dispatch/count surfaces (codex + inline RC on #4126)

#4126 retired SG-3-CASCADE as cascade-only but only updated the §3.3 row +
state legend, leaving SG-3 still represented as dispatchable elsewhere in the
same planning artifact — two authorities for "is SG-3 dispatchable" (INVARIANTS
P2 single-authority). Resolved across all surfaces:

- §Path C (line 98): dropped SG-3 from "Workers extend ..." dispatch list;
  added explicit "SG-3 is NOT a dispatch target — retired cascade-only" note.
- Count surfaces (§P3 row line 11, §2 #4086 entry line 21, §3.3 header line 44,
  §3.3 footnote line 60): "8 active receipt-producing classes routed" →
  "8 receipt-producing classes — 7 dispatchable + SG-3-CASCADE cascade-residual."
  Keeps the #4086-catalog reconciliation (still 8 receipt-producing) while
  removing the dispatchability contradiction.

Follow-up to merged #4126; receipt unchanged. Docs-only — no code/substrate/.dag.

Closes #4086
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* docs(planning): "7 dispatchable" → "7 active across routing states" — precise count (openai-pro RC on #4130)

openai-pro flagged that "7 dispatchable" introduced a new dispatch-count
contradiction: of the 7 non-SG-3 classes, several are not worker-dispatchable
under the table's own legend (SG-1b=worksheet-needed, SG-RC-LAYERING=authoring,
SG-COLLECTION-PROJECTION=route-pending). Reworded all four count surfaces
(§P3 row, §2 #4086 entry, §3.3 header, §3.3 footnote) to "7 active across
routing states + SG-3-CASCADE retired cascade-residual" — the only binary
fact the count asserts is retired-vs-active, which matches the per-row state
column exactly. No claim that all 7 are dispatchable.

Docs-only — no code/substrate/.dag.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant