Skip to content

Registry externs deletion - #100

Closed
briansrls wants to merge 20 commits into
mainfrom
cursor/registry-externs-deletion-cf18
Closed

briansrls wants to merge 20 commits into
mainfrom
cursor/registry-externs-deletion-cf18

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Migrate manual registries and extern definitions to DSL files, deleting associated Rust code to centralize configuration and reduce Rust boilerplate.

This PR completes the Worker B lane, moving various configuration and registry data (e.g., gitignore categories, resources, makegen registries) into .dag DSL files and removing their hardcoded Rust implementations. It also refactored extern resolution, deleting wrapper modules and extern_impls.rs, replacing them with explicit DSL-driven extern operations. A critical part of this work involved implementing proper lowering of extern function signatures in the compiler, which was essential for correct runtime wiring of these new DSL-defined extern calls.


Open in Web Open in Cursor 

cursoragent and others added 18 commits February 28, 2026 17:20
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
@cursor

cursor Bot commented Feb 28, 2026

Copy link
Copy Markdown

Cursor Agent can help with this pull request. Just @cursor in comments and I'll start working on changes in this branch.
Learn more about Cursor Agents

cursoragent and others added 2 commits February 28, 2026 19:11
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
Co-authored-by: Brian Searls <briansrls@users.noreply.github.com>
@briansrls briansrls closed this Feb 28, 2026
briansrls added a commit that referenced this pull request May 12, 2026
… cascade (warm-wolf-698 PR #2749 commit 575eb7e; SELF_HOSTING.md:609 name collision)

Cascade sister-PR rename: PR #2744 branch carries the scope-doc + brief
renames in commit 70a49ac; this commit carries the ledger / structure
gate-ID renames.

warm-wolf-698 surfaced a DECISIVE name-collision finding at PR #2749:666
/ :672 (briansrls operator BLOCKING 2026-05-12T09:26:49Z): the canvas
EmissionTarget sum-type collides with the canonical Shape-A carrier
declared at `src/v3/SELF_HOSTING.md:609`:

  type EmissionTarget {
    language: LanguageSpec       // what's valid (required)
    rendering: RenderingSpec?    // how to format (optional)
  }

This is the SELF_HOSTING.md emitter-composition authority — INVARIANTS
P2 violation. warm-wolf-698 pushed rename to WorkflowRuntime in PR
#2749 commit 575eb7e (48 occurrences). All OTHER ratified elements
stand per feedback_pre_compaction_framings_self_supersede.

This commit cascades the rename through PR #2750 branch:

- docs/r3-program-plan.md §1.8 row #99:
  gate ID emission_target_open_enum_landed → workflow_runtime_open_enum_landed
  (also EmissionTarget references in row description)
- docs/r3-program-plan.md §1.8 row #100:
  EmissionTarget references in project_github_actions signature
- docs/r3-structure.md line 41 (T-WAD lane summary):
  EmissionTarget references + gate-ID rename in the multi-gate reference
- docs/r3-structure.md §Acceptance T-Workflow-As-Data bullets:
  gate-ID emission_target_open_enum_landed → workflow_runtime_open_enum_landed
  EmissionTarget references in `project_github_actions_landed` description
- docs/r3-structure.md §Lane structure T-WAD row:
  EmissionTarget references in scope expansion text

Variant names unchanged (YamlStatic / BinaryShim / PythonShim). Gate
descriptions retain full substantive content; only the type-name and
gate-ID identifiers are renamed.

Cascade trail across in-flight PRs:
- PR #2749 (warm-wolf-698): 575eb7e — substrate canvas rename
- PR #2751 (warm-wolf-698): expression-substrate canvas rename (in flight)
- PR #2744 (mine): 70a49ac — scope-doc + WI-1 + WI-2 brief rename
- PR #2750 (mine): THIS COMMIT — ledger + structure rename
- PR #2745 (cool-carp-720): surfaced; WI-2 implementation needs realign
- PR #2746 (MERGED): docs/design-ci-workflow-emitter-dispatch.md needs
  follow-on rename PR (post-cascade-clear)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 12, 2026
…2744 §1 (#2750)

* docs(r3): T-WAD FULL R3 §1.8 ledger sync — +6 gates (#98–#103) per PR #2744 §1

**Authority**: PM scoping doc PR #2744 §1 (T-WAD FULL R3 elevation per operator
directive 2026-05-12 + Director ratification msg_5cbdad24 + msg_f9fd669e + (b)
ledger-sync disposition msg_2a68a4b5 — follow-up sync PR pattern).

**Sync disposition rationale** (per Director msg_2a68a4b5): option (a) bundles too
much into PR #2744 mid-review; (c) bakes parallel-authority into scope doc as
"temporary" PROPOSED state which calcifies. (b) is operationally clean if sync
PR queues for atomic-merge-sequencing alongside PR #2744 — gap window bounded
to merge-clock seconds.

**6 new §1.8 gate rows** (all T-Workflow-As-Data, NEW 2026-05-12):

- **#98** `ci_yml_hand_authority_dissolved` (state-check) — hand-authority NOT
  file-deletion; (a) absent / (b) emission-artifact / (c) thin-shim per
  briansrls BLOCKING #PR2744 fix
- **#99** `emission_target_open_enum_landed` (substrate-shape) — EmissionTarget
  sum-type per (c-refined) shape at PR #2749 §7
- **#100** `project_github_actions_landed` (substrate-shape) — projection
  function declaration in gunbc namespace; consumes extdeps.github.actions.Workflow
  as codomain + CIWorkflowDag (PR #2736 carrier) as input domain
- **#101** `test_cost_dimension_landed` (substrate-shape) — Cost dimension on
  TEST NODES (distinct from existing compiler-internal cost gates
  #37/#39/#40/#70/#80 which are about SymbolicCost as the compiler's cost lens;
  this gate is about Cost-as-Dimension applied to test nodes so slow-test
  ratchet derives structurally)
- **#102** `slow_test_exemptions_dissolved` (state-check) — scripts/slow-test-
  exemptions.txt deleted; sibling of #101 per kernel-modeling discipline split
- **#103** `ci_uses_affected_set_selection` (state-check) — BinaryShim emitter
  consumes affected-set lens output from PR #2713; Layer 2 path-regex `if:`
  gates removed; cross-tier co-owned with clever-tern-670 Slice 7

**Count updates** (was 97 enumerated / 96 R3-load-bearing; now 103/102):

- §1.5 total enumeration: 97 → 103
- §1.5 R3-load-bearing arithmetic: 96 → 102 (= 103 - 1 canvas-deferred {#11})
- §1.5 composition tally: T-Workflow-As-Data 4 → 10 (+6 NEW)
- §1.5 prose: R3 close target 96 → 102
- §1.5 R4-carved-dissolved framing: target 96 → 102
- §1.7 status-taxonomy lead: 96 → 102 R3-load-bearing
- §1.8 standing-program note: 96 → 102 load-bearing
- §0 R3 close criteria: 97/96 → 103/102
- §1 plan-declared count: 97 → 103
- §1.6 acceptance criteria: 97/96 → 103/102
- §1.8 §1.8 single-canonical-view: 97 → 103
- §1.8 row #11 canvas-deferral arithmetic: 97 → 103
- §Q1 table: 97 → 103 + history pointer

**Sequencing discipline** (per Director msg_2a68a4b5):
1. This sync PR sits ready-to-merge until PR #2744 lands
2. As soon as PR #2744 squash-merges, fire this sync PR squash-merge immediately
3. Gap window: bounded to merge-clock seconds (atomic-as-possible without bundle)
4. If reviewer delay accumulates here, fold into PR #2744 retroactively (option (a)
   escalation path)

**Cost-dim distinction note** (per Director verification flag): existing gates
#37/#39/#40/#70/#80 are about compiler-internal SymbolicCost (cost lens reading
target programs). #101 is structurally distinct — Cost dimension on TEST NODES
for slow-test ratchet derivation. Not a duplicate.

**§1.9 acceptance-aggregator pilot row** (`t_ci_wad_full_r3_close`): remains in
PR #2744 §9 with gate-name references per `feedback_no_snapshot_integers_in_briefs`
discipline. No row added to this sync PR per Director msg_2a68a4b5 ("EITHER PR
#2744 §9 OR sync PR — your call; either works").

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

* docs(r3): cross-doc authority sync — add 6 NEW T-WAD gates to r3-structure.md §Acceptance

Per codex BLOCKING review on PR #2750 (2026-05-12T07:34:59Z): scope doc lines
13 and 84 claim r3-structure.md was "updated in this PR" + reference 103-gate
total per r3-structure.md §Acceptance, but the PR only changed r3-program-plan.md
— r3-structure.md still had no #98–#103 rows. That violated INVARIANTS.md P2 /
modeling-discipline.md Practice 5 (single-authority metadata) — the closure
ledger became internally inconsistent at the canonical-source level.

Fix: add the 6 NEW gate bullets to r3-structure.md §Acceptance T-Workflow-As-Data
section (after `ci_workflow_modeled_as_dag`), mirroring r3-program-plan.md §1.8
rows #98–#103. Each bullet carries the full Pass-condition body (single-source
authority for Pass conditions per the r3-program-plan.md convention).

Now both docs land the same gate set atomically in this PR:
- r3-program-plan.md §1.8 rows #98–#103 (commit ef9a140, prior)
- r3-structure.md §Acceptance T-WAD bullets (this commit) — matching content

The "Documentation Describes Live State" rule + single-authority discipline
restored.

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

* docs(r3): briansrls BLOCKING fix — propagate 103/102 counts through full plan

Per briansrls BLOCKING inline review on PR #2750 at line 84 (2026-05-12T07:50:26Z):
"The new 103/102 canonical count is not propagated through the full plan,
leaving later close criteria at 96/97 and creating competing R3 thresholds
(INVARIANTS P2 single authority)."

Three stale references found in re-grep + fixed:

- Line 114 (§1.7 two-Pass-surfaces context): "**96** R3-load-bearing gates
  green" → "**102** R3-load-bearing gates green" (post-carve-promotion +
  T-WAD FULL R3 elevation)
- Line 623 (§5.2 R3 close definition): "**96** load-bearing post-carve-
  promotion" → "**102** load-bearing post-carve-promotion + T-WAD FULL R3
  elevation"
- Line 1001 (§10 dependency-graph mirror): "lane TestClaim gates (97 total)"
  → "lane TestClaim gates (103 total; 102 R3-load-bearing post-T-WAD-FULL-
  R3-elevation 2026-05-12)"

Initial sync (commit ef9a140) updated §0 + §1.5 + §1.6 + §1.7 + §1.8 + Q1
table; this commit completes propagation through §1.7 two-Pass-surfaces /
§5.2 R3 close definition / §10 dependency-graph mirror.

Single-authority discipline (INVARIANTS P2) now consistently asserts 103/102
across the full plan; no competing R3 thresholds remain.

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

* docs(r3): InlineGunbc DESIGN-ONLY alignment — cross-doc consistency with PR #2744 openai-pro BLOCKING fix

Per openai-pro BLOCKING fix on PR #2744 (commit e43aba3): WI-1 / WI-2 briefs
+ scope doc §2 type sketch all align on InlineGunbc as DESIGN-ONLY (NOT in
initial enum, lands when runtime consumer exists). The §1.8 gate bodies in
r3-program-plan.md row #99 + r3-structure.md §Acceptance bullet for
emission_target_open_enum_landed were stale relative to that alignment.

Fix in this sync PR:
- r3-program-plan.md §1.8 row #99: "(YamlStatic | BinaryShim | PythonShim |
  InlineGunbc | ...)" → "3 initial arms (...)" + InlineGunbc DESIGN-ONLY note
  with PR #2746 §5.4 + openai-pro BLOCKING cross-references
- r3-structure.md §Acceptance T-WAD bullet for emission_target_open_enum_landed:
  same change pattern

Single-authority across:
- PR #2744 scope doc §0 / §1 gate row / §2 type sketch
- PR #2744 WI-1 brief DESIGN-ONLY discipline
- PR #2744 WI-2 brief Output / DO-DON'T / Acceptance gates
- PR #2750 (this PR) §1.8 ledger row + §Acceptance archive
- PR #2746 §5.4 canonical DESIGN-ONLY framing

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

* docs(r3): T-WAD ledger sync — lane-definition gate lists pointer-only + scope-doc cross-ref qualifier (codex BLOCKING + non-blocking on PR #2750)

Two findings from codex review #10042 on commit 0c08f77 (T-WAD ledger
sync PR head):

BLOCKING — "T-WAD ledger sync updated the Acceptance archive but skipped
the lane-definition gate lists → update those T-Workflow-As-Data gate
lists to include #98–#103 or make them pointer-only."

The PR #2750 cascade landed the 6 NEW T-WAD FULL gates (#98–#103) in:
- r3-structure.md §Acceptance T-Workflow-As-Data bullets (lines 172-177)
- r3-program-plan.md §1.8 ledger rows
- r3-program-plan.md count propagation (§0/§1.5/§1.6/§1.7/§5.2/§10/§Q1)

But the cascade missed two lane-DEFINITION gate lists in r3-structure.md
that ALSO enumerate T-WAD closure gates:
- Line 41 (numbered lane list, T-WAD entry)
- Line 222 (T-WAD row in §"Lane structure" table)

Both listed only the original 4 pre-FULL gates
(workflow_substrate_carriers_landed / timing_lens_carrier_landed /
ci_workflow_modeled_as_dag /
shared_external_attachment_pattern_documented). Reviewers reading
either list would not see the 6 NEW gates — INVARIANTS P2
single-authority gap.

Fix: convert both lane-definition lists to pointer-only references back
to §Acceptance T-WAD as the canonical gate list. Rationale: §Acceptance
is the authority anchor (per INVARIANTS P2 + sister r3-program-plan.md
§1.8); duplication in lane-definition lists would re-introduce drift
the cascade is closing. Also augmented both lane-definition entries
with FULL R3-close elevation 2026-05-12 framing + multi-Mgr ownership
(Substrate Mgr Slices 4-5/8 + Verification Mgr Slice 7 affected-set +
Debt-Paydown Mgr Slice 6 sub-component).

Non-blocking — "Line 172 cites
docs/r3-t-workflow-as-data-full-r3-close-scope.md, but git
ls-tree origin/main returned no blob → replace with existing receipt
or land the scope doc."

The scope doc exists on PR #2744's branch (in flight) but not on
origin/main yet. Codex correctly notes the dangling cross-reference
against current main. Fix: add explicit "(scope doc landing via
in-flight PR #2744)" qualifier so future readers know the citation
is forward-referencing a known in-flight PR rather than a typo or
missing doc.

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

* docs(r3): T-WAD ledger sync — remove dangling file refs (briansrls BLOCKING + codex INVARIANTS P2/P5 escalation on PR #2750)

briansrls inline BLOCKING at r3-structure.md:172 (2026-05-12T09:28:04Z)
escalated the prior non-blocking scope-doc citation issue to BLOCKING:

  "The new gate cites docs/r3-t-workflow-as-data-full-r3-close-scope.md
   section 1, but git ls-tree origin/main produced no blob and the
   reconstructed PR-head test returned 1, so the cited T-WAD scope
   authority is absent (INVARIANTS P2/P5)."

The earlier qualifier fix ("scope doc landing via in-flight PR #2744")
acknowledged the dangling reference but didn't resolve the structural
P2/P5 violation — the gate description still CITED an authority that
doesn't exist on origin/main, which is the merge target.

Audit: grepped both docs for refs to files that don't exist on
origin/main:
- docs/r3-structure.md:172 — `docs/r3-t-workflow-as-data-full-r3-close-scope.md` (PR #2744)
- docs/r3-program-plan.md:326 — `docs/briefs/r3-t-wad-full-r3-cidag-scaffold-worker.md` (PR #2744)

Fix: replace both file-path references with PR-number anchors. PR
numbers are stable references; file paths become valid only post-merge.
Gate descriptions are self-contained without the cross-references
(the (a)/(b)/(c) enumeration + supporting framing already conveys the
gate's substance).

- r3-structure.md:172: "per `docs/r3-t-workflow-as-data-full-r3-close-scope.md` §1 — scope doc landing via in-flight PR #2744" → "in-flight scope authority at PR #2744 §1"
- r3-program-plan.md:326: "WI-2 implementation: `docs/briefs/r3-t-wad-full-r3-cidag-scaffold-worker.md`" → "WI-2 implementation: in-flight via PR #2744 (brief lands with the scope-doc)"

Both gates retain full substantive content; only the file-path crutches
are removed. When PR #2744 merges and the files exist on main, future
authors may re-add file refs cleanly — but the gate descriptions never
needed them as load-bearing authority.

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

* docs(r3): T-WAD ledger sync — EmissionTarget → WorkflowRuntime rename cascade (warm-wolf-698 PR #2749 commit 575eb7e; SELF_HOSTING.md:609 name collision)

Cascade sister-PR rename: PR #2744 branch carries the scope-doc + brief
renames in commit 70a49ac; this commit carries the ledger / structure
gate-ID renames.

warm-wolf-698 surfaced a DECISIVE name-collision finding at PR #2749:666
/ :672 (briansrls operator BLOCKING 2026-05-12T09:26:49Z): the canvas
EmissionTarget sum-type collides with the canonical Shape-A carrier
declared at `src/v3/SELF_HOSTING.md:609`:

  type EmissionTarget {
    language: LanguageSpec       // what's valid (required)
    rendering: RenderingSpec?    // how to format (optional)
  }

This is the SELF_HOSTING.md emitter-composition authority — INVARIANTS
P2 violation. warm-wolf-698 pushed rename to WorkflowRuntime in PR
#2749 commit 575eb7e (48 occurrences). All OTHER ratified elements
stand per feedback_pre_compaction_framings_self_supersede.

This commit cascades the rename through PR #2750 branch:

- docs/r3-program-plan.md §1.8 row #99:
  gate ID emission_target_open_enum_landed → workflow_runtime_open_enum_landed
  (also EmissionTarget references in row description)
- docs/r3-program-plan.md §1.8 row #100:
  EmissionTarget references in project_github_actions signature
- docs/r3-structure.md line 41 (T-WAD lane summary):
  EmissionTarget references + gate-ID rename in the multi-gate reference
- docs/r3-structure.md §Acceptance T-Workflow-As-Data bullets:
  gate-ID emission_target_open_enum_landed → workflow_runtime_open_enum_landed
  EmissionTarget references in `project_github_actions_landed` description
- docs/r3-structure.md §Lane structure T-WAD row:
  EmissionTarget references in scope expansion text

Variant names unchanged (YamlStatic / BinaryShim / PythonShim). Gate
descriptions retain full substantive content; only the type-name and
gate-ID identifiers are renamed.

Cascade trail across in-flight PRs:
- PR #2749 (warm-wolf-698): 575eb7e — substrate canvas rename
- PR #2751 (warm-wolf-698): expression-substrate canvas rename (in flight)
- PR #2744 (mine): 70a49ac — scope-doc + WI-1 + WI-2 brief rename
- PR #2750 (mine): THIS COMMIT — ledger + structure rename
- PR #2745 (cool-carp-720): surfaced; WI-2 implementation needs realign
- PR #2746 (MERGED): docs/design-ci-workflow-emitter-dispatch.md needs
  follow-on rename PR (post-cascade-clear)

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
…or revised)

Director SUPERSEDED prior Q1=B disposition (msg_4b13e93f) with revised
Q1=A (msg_804cdc93, relayed PM msg_1e52a61b). Rationale: the 5 sibling
failures have their own §1.8 ledger homes:
- row #99 workflow_runtime_open_enum_landed (BinaryShim/PythonShim arms)
- row #100 project_github_actions_landed (CIWorkflowDag-unresolved +
  concurrency type mismatch + substrate-compiles failures)

Closing gate #63 via Candidate A does NOT hide substrate-debt because
rows #99/#100 carry that debt explicitly with their own DECLARED →
CONSUMER_LANDED arcs.

Worker brief rewritten as administrative closure:
- Phase A: remove #[ignore] at t_ci_workflow_as_data_demo_test.rs:581
- Phase B: audit doc mapping 5 sibling failures to rows #99/#100
- Phase C: §1.8 row #63 status flip DECLARED → CONSUMER_LANDED + PASSING

5 anti-patterns + NEW Director-ratified anti-pattern (scope-broadening to
absorb sibling-test debt with own ledger rows). 5 STOP conditions
including scope-creep guard.

Director's discipline lessons cited:
- feedback_canvas_recommendations_are_preliminary (Mgr)
- feedback_grep_substrate_before_naming_ratification (Director self-cite)

Cost-of-change: ~30 LOC across 1-3 files vs the 10-20-file B-shape rewrite.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
Operator BLOCKING worker.md:81: Phase C made §4.4 carrier-mapping + test
pass the full §1.8 closure receipt, but §1.4 / §4 require conjunctive
predicate — (a) representative gap-test pass AND (b) systematic Class 4
bridge inventory with count=0 (or explicit Director allocation per §7.2
STRUCTURAL exception). Sample-of-class is not closure-of-class.

Fix-forward: split Phase B into B.1 + B.2:
- §4.1 Phase B.1: systematic grep of src/v3/ for Class 4 bridge sites;
  classify each as pass-through / allocated-survivor / unallocated-
  survivor; STOP if any unallocated. Receipt asserts unallocated-count=0.
- §4.2 Phase B.2: 5 sibling failures from snappy-bear-502 enumerated as
  Director-allocated to rows #99/#100 (the STRUCTURAL exception
  mechanism per §7.2 — Director msg_804cdc93 IS the allocation citation,
  not Mgr self-classification).
- §4.3: STRUCTURAL exception clause cites §7.2 + §3.A of debt-sweep doc.

§6 STOP conditions extended with #6 (unallocated-survivor STOP).
§8 Verification splits predicate (a) and (b) receipts.
PR body cite list adds §1.4 conjunctive receipt assertion.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
Codex BLOCKING inline at worker:59: Phase B.1 grep regex omitted actual
Class 4 authority names — would falsely assert unallocated-survivor
count=0 because the search couldn't see surviving bridge sites.

Missing terms: project_github_actions (row #100 identifier),
github_actions_workflow / ci_github_actions / ci_emission (file-name
stems), workflow_scheduling (gate #63 row identifier), MatrixStrategy /
RunnerSpec / RunnerLabel (HEAD-canonical types per §5 mapping table —
the prior regex used the §4.4-sketch names WorkflowMatrix /
RunnerResource which don't appear at HEAD), concurrency (GitHub Actions
scheduling primitive).

Fix-forward: broaden regex + add explanatory rationale block citing
each term family ((a) §4.4-sketch carriers, (b) HEAD-canonical types,
(c) §1.8 ledger-row identifiers, (d) file-name stems, (e) scheduling
primitives). YAML scoping (.github/workflows/*.yml) noted explicitly.

INVARIANTS P2 + "Facts flow forward" restored.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
Codex REQUEST_CHANGES 10947 (worker:132): anti-pattern #4 phrased the
demo+test pass as if it satisfied the broader criterion text "CI workflow
modeled as .dag data executes through evaluator". A synthetic demo is
strictly broader than the criterion's CI-workflow authority — implicit
"demo IS production" claim was a semantic dilution.

Fix-forward: #4 now explicitly acknowledges the broader criterion AND
frames Q1=A as Director-ratified scope-narrowing (msg_804cdc93). The
demo is the Director-allocated receipt instrument for gate #63;
residual broader production-CI-workflow scope is Director-allocated to
rows #99 + #100 per Phase B.2 STRUCTURAL allocation doc + §7.2 /
debt-sweep §3.A. PR body MUST cite msg_804cdc93 as the explicit
narrowing-ratification anchor.

No implicit "demo IS production" claim — narrowing is an explicit
Director scope decision, not a Mgr semantic move.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
Cursor APPROVE_WITH_COMMENTS 11010 — 2 internal-consistency + 1 exploratory:

1. §3 L96 carrier count: "All 6" contradicted 7-row mapping table.
   Corrected to "All 7 mapping-table rows (6 §4.4 substrate carriers +
   CIWorkflowDag canonical composing carrier)".

2. §10 L211 phase label drift: "Worker brief Phase D" → "Worker brief
   Phase B.2" (matches worker §4.2 dispatchable location); cleaned up
   tense + cites Director msg_804cdc93 + rows #99/#100 explicitly.

3. Exploratory L78 alignment with worker §4.1: canvas Candidate A
   description said "grep src/v3/" while worker is two-pass YAML-
   structural. Updated to mirror worker §4.1 two-pass framing (Pass 1
   authority-surface enumeration + all-lines/YAML-structural + Pass 2
   keyword cross-check); worker §4.1 cited as authoritative.

INVARIANTS P2 single-authority bookkeeping aligned across canvas +
worker; dispatch ambiguity removed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
…sibling failure)

Openai-pro REQUEST_CHANGES 11242 (highest-weight reviewer) — substantive
P2/P5 finding: canvas §1 sibling-failure inventory lists
`ci_workflow_as_data_demo_pins_*` topology/command tests as a sibling
failure, but worker §2 ledger-mapping table only mapped 5 of the 6
items. A worker faithfully following the brief could omit the
pins/topology/command failures from the allocation receipt, leaving
known Class 4 bridge survivors unallocated and violating the predicate
(b) discipline.

Fix-forward:
- Worker §2 ledger-mapping table: NEW row for `ci_workflow_as_data_demo_pins_*`
  topology/command failures → #99 (workflow-runtime topology/command
  emission arms) + #100 (Actions-projection topology dispatch).
- "5 sibling failures" → "6 sibling failures" across canvas + worker
  (§0, §1, §2, §6 STOP #4, §7 #5, §8 verification, §13 cite, §14
  out-of-scope, §16 BuildBuddy reference).
- Worker §4 cost-of-change: prior "no existing-file edits beyond
  #[ignore]" framing missed the Phase C §1.8 ledger edit. Corrected
  to acknowledge ledger edit + #[ignore] removal + new audit-doc file
  as the three deliverables.

PM-intent narrowing ("demo receipt + explicit residual allocation")
restored to closure-receipt completeness.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
* docs(r3): gate #63 workflow_scheduling closure-scope canvas

snappy-bear-502 audit msg_140d9bc7 surfaced STOP condition: substrate
is modeled but not closed-loop. Integration evaluator receipt at
t_ci_workflow_as_data_demo_test.rs:582 exists but #[ignore] at :581
masks 5 failures (BuildBuddy invocation 2e1d435a-a6fe...) including
unresolved CIWorkflowDag types, opaque shim bodies, concurrency
field mismatch.

Three closure-scope candidates routed to Director:
- A: minimal demo repair (~3-5 files; smallest blast)
- B: full CIWorkflowDag/projection path execution (Mgr-rec with
  PythonShim carve-out)
- C: defer to T-Lens-Self-Application lane

Mgr-recommendation: Q1=B (production-grade per criterion text);
Q2=OR-semantics on lane coupling; Q3 defer to Director (#[ignore]
history); Q4 substrate-lane-owned with cross-Mgr informational.

4 Mgr-derived anti-patterns encoded (most load-bearing: closure
declared without #[ignore] removal = fail-closed-discipline).

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

* WIP: R3 Substrate Mgr — lane through R3 close

* docs(r3): gate #63 canvas — correct §2 + §3.A + §10 per snappy-bear-502 msg_cef1340b

Worker surfaced load-bearing correction before stand-down: the
specific gate-criterion test
ci_workflow_as_data_demo_timing_dimension_report_evaluates_via_evaluator
PASSES in isolation (BuildBuddy 9f22cbce-66ff-...). The 5 failures
from --include-ignored are sibling-test substrate-debt, NOT the
gate-criterion test itself.

Materially shifts:
- §2 state inventory: gate-criterion test is already passing; #[ignore]
  masks a passing receipt, not a failing one
- §3 Candidate A: scope shrinks to single #[ignore] removal + ledger;
  no substrate authoring needed
- §10 Mgr-rec: REVISED A (with sibling-debt receipt), not B —
  Candidate B would re-author already-working substrate which is
  feedback_no_short_term_solutions inverted

Sibling-debt note: 5 failures preserved as separately-scoped Mgr-tier
follow-on triage; not gate-63 closure-blockers.

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

* docs(r3): gate #63 workflow_scheduling worker brief (Q1=B ratified)

Director ratified Candidate B with PythonShim carve-out per PM msg_dbc2e5e0
relaying msg_4b13e93f. Director overruled revised Mgr-rec A — snappy-bear-502
isolation-pass finding is structurally insufficient; criterion requires
substrate-validity-of-CIWorkflowDag, not just one passing test.

Worker brief encodes ratified shape:
- Phase A: diagnose + fix 4-5 in-scope substrate-compile failures (distinguish
  YamlStatic/BinaryShim in-scope from PythonShim out-of-scope)
- Phase B: real (non-demo) CI workflow evaluator receipt → DimensionReport
- Phase C: #[ignore] removal at t_ci_workflow_as_data_demo_test.rs:581 (the
  closure receipt per Director-verified anchor commit 73969f4)
- Phase D: §1.8 row #63 ledger update with PythonShim carve-out documented
- Phase E: cross-Mgr informational notice to swift-deer-459 (Mgr-owned)

4 Director-ratified anti-patterns + 6 STOP conditions encoded.

Dispatch gates on PR #2831 (canvas) merge.

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

* docs(r3): gate #63 worker brief REWRITE — Q1=A administrative (Director revised)

Director SUPERSEDED prior Q1=B disposition (msg_4b13e93f) with revised
Q1=A (msg_804cdc93, relayed PM msg_1e52a61b). Rationale: the 5 sibling
failures have their own §1.8 ledger homes:
- row #99 workflow_runtime_open_enum_landed (BinaryShim/PythonShim arms)
- row #100 project_github_actions_landed (CIWorkflowDag-unresolved +
  concurrency type mismatch + substrate-compiles failures)

Closing gate #63 via Candidate A does NOT hide substrate-debt because
rows #99/#100 carry that debt explicitly with their own DECLARED →
CONSUMER_LANDED arcs.

Worker brief rewritten as administrative closure:
- Phase A: remove #[ignore] at t_ci_workflow_as_data_demo_test.rs:581
- Phase B: audit doc mapping 5 sibling failures to rows #99/#100
- Phase C: §1.8 row #63 status flip DECLARED → CONSUMER_LANDED + PASSING

5 anti-patterns + NEW Director-ratified anti-pattern (scope-broadening to
absorb sibling-test debt with own ledger rows). 5 STOP conditions
including scope-creep guard.

Director's discipline lessons cited:
- feedback_canvas_recommendations_are_preliminary (Mgr)
- feedback_grep_substrate_before_naming_ratification (Director self-cite)

Cost-of-change: ~30 LOC across 1-3 files vs the 10-20-file B-shape rewrite.

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

* docs(r3): gate #63 canvas — fix §7 Candidate A row to match revised scope

cursor APPROVE_WITH_COMMENTS (review 10733) caught real INVARIANTS P1
"documentation describes live state" issue: §7 row for Candidate A still
said "~3-5 (fix 5 specific failures + remove #[ignore])" from the initial
canvas framing, but §2/§3.A/§10 had been revised to administrative
un-ignore + sibling-debt-as-separately-scoped per snappy-bear-502
isolation-pass finding.

Row updated: "~1-3 (single #[ignore] removal + ledger row + sibling-debt
audit doc)". Now aligned with revised scope across all sections.

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

* docs(r3): gate #63 canvas — address cursor APPROVE exploratory observations

cursor review 10752 noted two non-blocking exploratory observations:
1. §9 read as "open questions" while §10 + worker brief reflect settled
   Director path — clarified §9 as RATIFIED audit-trail; lists Q1-Q4 final
   dispositions inline with Director msg_804cdc93 + 73969f4 anchor cites
2. §8 anti-pattern #2 "(§P5 atomic-migration violation)" phrasing didn't
   match anything literally named "atomic-migration" in INVARIANTS.md —
   clarified to "violates INVARIANTS.md P5 'Progress Is Dissolution / Pure
   Bootstrap'; atomic-migration discipline per feedback_load_bearing_
   ratchet_preservation"

No semantic changes; both are documentation polish.

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

* docs(r3): gate #63 worker brief — Phase C adds §4.4 substrate-prereq reconciliation per operator BLOCKING worker.md:62

Operator BLOCKING surfaced INVARIANTS P2/P5 dual-closure-authority concern:
worker brief flips row #63 to CONSUMER_LANDED + PASSING on un-ignore receipt
but §4.4 enumerates additional substrate-prereq carriers (WorkflowTrigger,
WorkflowStep, WorkflowMatrix, WorkflowSecret, RunnerResource, Workflow<...>)
required for Class 4 closure.

Verification at HEAD: all 6 §4.4 prereq carriers EXIST, but under different
paths/names than §4.4 originally sketched:
- Workflow → dsl/extdeps/github/actions.dag:29
- WorkflowTrigger → :51
- WorkflowStep → :222 (type Step)
- WorkflowMatrix → :300 (type MatrixStrategy)
- WorkflowSecret → :114
- RunnerResource → :205 (RunnerSpec) + :211 (RunnerLabel)
- CIWorkflowDag (canonical workflow-as-dag) → dsl/gunbc/ci.dag:120-125,191-200

Phase C extended: worker MUST update §4.4 carrier-enumeration with explicit
"substrate-prereqs satisfied at HEAD; landing paths differ from §4.4 sketch"
footnote + carrier-mapping table cite to this PR. This dissolves the
dual-closure-authority concern by making the §4.4 enumeration and the §1.8
row #63 closure receipt explicitly consistent.

Director-ratified Q1=A disposition preserved (closure shape unchanged);
operator concern addressed via explicit reconciliation in worker brief.

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

* docs(r3): gate #63 canvas — §4.4 substrate-prereq reconciliation in Candidate A per codex BLOCKING 67dfd2d

codex BLOCKING flagged that canvas treats representative gap-test text
as the full closure criterion without reconciling against §1.4/§4.4
substrate-prereq enumeration (INVARIANTS P2/P5 dual-closure-authority).
Same root concern as operator BLOCKING worker:62 (addressed in worker
brief commit 723a64b).

Canvas Candidate A section extended with the §4.4 carrier-mapping table:
- All 6 §4.4 prereq carriers EXIST under different paths/names at HEAD
  (dsl/extdeps/github/actions.dag for github-actions-specific carriers;
   dsl/gunbc/ci.dag for the canonical CIWorkflowDag)
- Worker brief Phase C performs the explicit reconciliation atomic with
  the §1.8 row #63 status flip — single closure authority, multi-receipt
  evidence

Director-ratified Q1=A disposition preserved.

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

* docs(r3): gate #63 canvas — cursor review precision fixes

- §10 Q3: replaced stale "defer to Director" with RESOLVED planned-deferral
  (matches §9 ratified state; eliminates P2 single-authority contradiction)
- §8 #4: corrected P3 → P2 (boundary/duplicate-fact; P3 is Fail-Closed)
- §8 #2: tightened P5 cite to "Progress Is Dissolution" (drop folded
  "Pure Bootstrap" — adjacent program goal, not the same invariant line)

Per cursor/composer-2 review on PR #2831 (review artifact 10790).

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

* chore: remove stray empty file accidentally committed

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

* docs(r3): gate #63 worker — add §1.4 (b) systematic bridge inventory

Operator BLOCKING worker.md:81: Phase C made §4.4 carrier-mapping + test
pass the full §1.8 closure receipt, but §1.4 / §4 require conjunctive
predicate — (a) representative gap-test pass AND (b) systematic Class 4
bridge inventory with count=0 (or explicit Director allocation per §7.2
STRUCTURAL exception). Sample-of-class is not closure-of-class.

Fix-forward: split Phase B into B.1 + B.2:
- §4.1 Phase B.1: systematic grep of src/v3/ for Class 4 bridge sites;
  classify each as pass-through / allocated-survivor / unallocated-
  survivor; STOP if any unallocated. Receipt asserts unallocated-count=0.
- §4.2 Phase B.2: 5 sibling failures from snappy-bear-502 enumerated as
  Director-allocated to rows #99/#100 (the STRUCTURAL exception
  mechanism per §7.2 — Director msg_804cdc93 IS the allocation citation,
  not Mgr self-classification).
- §4.3: STRUCTURAL exception clause cites §7.2 + §3.A of debt-sweep doc.

§6 STOP conditions extended with #6 (unallocated-survivor STOP).
§8 Verification splits predicate (a) and (b) receipts.
PR body cite list adds §1.4 conjunctive receipt assertion.

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

* docs(r3): gate #63 canvas — add §1.4 (b) receipt to Candidate A

Codex BLOCKING 36bb823: Canvas Candidate A reconciled §4.4 substrate
prereqs but didn't carry the §1.4 conjunctive bridge-enumeration
receipt before the row #63 status flip. Same root cause as the inline
BLOCKING at worker:81 already fixed in 4dfefc4; canvas guidance now
catches up.

Candidate A description reframed: receipt list now explicitly carries
(a) Phase A test-pass receipt + (b) Phase B.1 bridge-inventory
unallocated-count=0 receipt + Phase B.2 STRUCTURAL allocation doc per
Director msg_804cdc93 / §7.2. Sample-of-class disqualified.

Canvas + worker brief now jointly encode §1.4 conjunctive predicate.

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

* docs(r3): gate #63 worker — Phase B.1 grep across all Class 4 surfaces

Codex BLOCKING review 10885: Phase B.1 systematic Class 4 bridge
inventory grep was confined to src/v3/, which by construction cannot
see Class 4 authority surfaces under dsl/ (ci_emission.dag,
ci_github_actions_workflow.dag, extdeps/github/actions.dag) or
.github/workflows/ — the partial search would certify closure while
missing surviving bridge sites the brief itself cites at §5.

Fix-forward: expand grep scope to src/v3/ + dsl/ + .github/workflows/
and broaden regex to include CIWorkflowDag / WorkflowTrigger /
WorkflowStep / WorkflowMatrix / WorkflowSecret / RunnerResource (the
explicit §4.4 substrate-prereq carriers). Receipt now structurally
satisfies the §1.4 (b) "systematic enumeration" requirement.

INVARIANTS P2 + "Facts flow forward" discipline restored.

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

* docs(r3): gate #63 worker — broaden Phase B.1 regex (codex worker:59)

Codex BLOCKING inline at worker:59: Phase B.1 grep regex omitted actual
Class 4 authority names — would falsely assert unallocated-survivor
count=0 because the search couldn't see surviving bridge sites.

Missing terms: project_github_actions (row #100 identifier),
github_actions_workflow / ci_github_actions / ci_emission (file-name
stems), workflow_scheduling (gate #63 row identifier), MatrixStrategy /
RunnerSpec / RunnerLabel (HEAD-canonical types per §5 mapping table —
the prior regex used the §4.4-sketch names WorkflowMatrix /
RunnerResource which don't appear at HEAD), concurrency (GitHub Actions
scheduling primitive).

Fix-forward: broaden regex + add explanatory rationale block citing
each term family ((a) §4.4-sketch carriers, (b) HEAD-canonical types,
(c) §1.8 ledger-row identifiers, (d) file-name stems, (e) scheduling
primitives). YAML scoping (.github/workflows/*.yml) noted explicitly.

INVARIANTS P2 + "Facts flow forward" restored.

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

* docs(r3): gate #63 worker — anti-pattern #4 narrowing reconciliation

Codex REQUEST_CHANGES 10947 (worker:132): anti-pattern #4 phrased the
demo+test pass as if it satisfied the broader criterion text "CI workflow
modeled as .dag data executes through evaluator". A synthetic demo is
strictly broader than the criterion's CI-workflow authority — implicit
"demo IS production" claim was a semantic dilution.

Fix-forward: #4 now explicitly acknowledges the broader criterion AND
frames Q1=A as Director-ratified scope-narrowing (msg_804cdc93). The
demo is the Director-allocated receipt instrument for gate #63;
residual broader production-CI-workflow scope is Director-allocated to
rows #99 + #100 per Phase B.2 STRUCTURAL allocation doc + §7.2 /
debt-sweep §3.A. PR body MUST cite msg_804cdc93 as the explicit
narrowing-ratification anchor.

No implicit "demo IS production" claim — narrowing is an explicit
Director scope decision, not a Mgr semantic move.

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

* docs(r3): gate #63 worker — Phase B.1 two-pass YAML-structural audit (codex e9143f6)

Codex BLOCKING e9143f6: content-keyword grep alone is insufficient for
§1.4 (b) systematic enumeration — YAML workflow files contain
workflow/scheduling FACTS that may not contain any keyword token, so a
keyword-filtered receipt can falsely assert unallocated-count=0.

Fix-forward: Phase B.1 restructured as two-pass audit:

Pass 1 — authority-surface enumeration (closed file list) + all-lines /
YAML-structural classification. Every Class 4 file is enumerated as a
named surface; every YAML top-level + job-level key is a Class 4 fact
requiring classification. NOT keyword-filtered.

Pass 2 — content-keyword scan retained as cross-check only; keyword
hits OUTSIDE Pass-1 surfaces are themselves discoveries (potential
survivors missed at scoping time) and MUST be added to the surface
list and re-classified before the receipt closes.

Surface table enumerates 8 known Class 4 authority surfaces with their
audit mode (per-type classification for .dag, per-#[test] for Rust,
all-lines/YAML-structural for .yml/.yaml).

INVARIANTS P2 + "Facts flow forward" restored at the structural level,
not just the keyword-alternation level.

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

* docs(r3): gate #63 canvas — cursor 11010 consistency tweaks

Cursor APPROVE_WITH_COMMENTS 11010 — 2 internal-consistency + 1 exploratory:

1. §3 L96 carrier count: "All 6" contradicted 7-row mapping table.
   Corrected to "All 7 mapping-table rows (6 §4.4 substrate carriers +
   CIWorkflowDag canonical composing carrier)".

2. §10 L211 phase label drift: "Worker brief Phase D" → "Worker brief
   Phase B.2" (matches worker §4.2 dispatchable location); cleaned up
   tense + cites Director msg_804cdc93 + rows #99/#100 explicitly.

3. Exploratory L78 alignment with worker §4.1: canvas Candidate A
   description said "grep src/v3/" while worker is two-pass YAML-
   structural. Updated to mirror worker §4.1 two-pass framing (Pass 1
   authority-surface enumeration + all-lines/YAML-structural + Pass 2
   keyword cross-check); worker §4.1 cited as authoritative.

INVARIANTS P2 single-authority bookkeeping aligned across canvas +
worker; dispatch ambiguity removed.

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

* docs(r3): gate #63 — cursor 11019 cross-ref + anti-pattern alignment

Cursor APPROVE_WITH_COMMENTS 11019 — 3 small editorial fixes:

1. canvas L167 broken §3.A pointer: §3 has Candidate A/B/C subsections,
   no §3.A anchor. Reworded to "§2 + §3 (Candidate A) + §10".

2. canvas §8 anti-patterns 4-item list vs worker §7 5-item list:
   added Mgr anti-pattern #5 (scope-broadening absorbs sibling-debt
   with own ledger rows; Director-ratified per msg_804cdc93) +
   tightened #4 framing on demo-vs-production narrowing. Enforcement
   checklist now aligned.

3. worker L156 "bridge-inventory grep receipt" misframed: §4.1 stresses
   grep cannot be sole receipt. Reworded to "two-pass bridge-inventory
   receipt (Pass-1 authority-surface enumeration + all-lines / YAML-
   structural classification authoritative; Pass-2 keyword grep
   cross-check only — see §4.1)".

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

* docs(r3): gate #63 worker — add CI-referenced scripts surface (codex 05e37ce)

Codex BLOCKING 05e37ce: Pass-1 authority-surface enumeration was
path-whitelisted to src/v3/ + dsl/ + .github/workflows/ but missed
CI-referenced shell scripts under scripts/. A script invoked from a
workflow YAML `run:` block can encode workflow/scheduling logic
(e.g., timing dispatch, matrix expansion, concurrency control) that
falls outside the keyword regex AND outside the explicit YAML keys.

Fix-forward:
- Pass-1 surface table: NEW row for CI-referenced shell scripts —
  discovery procedure parses every workflow YAML's
  jobs.*.steps[*].run + jobs.*.steps[*].uses to derive the closed
  script-set, then per-script classification (pass-through /
  allocated-survivor / unallocated-survivor). Script-encoded Class 4
  facts must either be pass-through-clean or Director-allocated to a
  §1.8 row.
- Pass-2 grep scope: scripts/ added to path list as cross-check.

INVARIANTS P2 + "Facts flow forward" extended to script surface.

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

* docs(r3): gate #63 — close openai-pro REQUEST_CHANGES 11242 (missing sibling failure)

Openai-pro REQUEST_CHANGES 11242 (highest-weight reviewer) — substantive
P2/P5 finding: canvas §1 sibling-failure inventory lists
`ci_workflow_as_data_demo_pins_*` topology/command tests as a sibling
failure, but worker §2 ledger-mapping table only mapped 5 of the 6
items. A worker faithfully following the brief could omit the
pins/topology/command failures from the allocation receipt, leaving
known Class 4 bridge survivors unallocated and violating the predicate
(b) discipline.

Fix-forward:
- Worker §2 ledger-mapping table: NEW row for `ci_workflow_as_data_demo_pins_*`
  topology/command failures → #99 (workflow-runtime topology/command
  emission arms) + #100 (Actions-projection topology dispatch).
- "5 sibling failures" → "6 sibling failures" across canvas + worker
  (§0, §1, §2, §6 STOP #4, §7 #5, §8 verification, §13 cite, §14
  out-of-scope, §16 BuildBuddy reference).
- Worker §4 cost-of-change: prior "no existing-file edits beyond
  #[ignore]" framing missed the Phase C §1.8 ledger edit. Corrected
  to acknowledge ledger edit + #[ignore] removal + new audit-doc file
  as the three deliverables.

PM-intent narrowing ("demo receipt + explicit residual allocation")
restored to closure-receipt completeness.

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
…s predicate-execution; fix #99/#100 consumer-test citations

(1) Audit doc: revert #99/#100/#101 rows to NOT_EXECUTED. The
`r3-close-predicate-execution-2026-05-13.md` table tracks close-ceremony
predicate execution sweep status, NOT §1.8 ledger status. Conflating the
two surfaces collapsed a deliberate distinction; ledger status now lives
solely in `docs/r3-program-plan.md` §1.8 (pointed at from the
"pending close-ceremony sweep" note in each row).

(2) §1.8 row #99: replace `gunbc_ci_github_actions_workflow_dag_matches_yaml_generator_output`
(:783, YAML→DAG byte-drift guard) with `gunbc_ci_emission_substrate_compiles`
(:818) as the substrate-compile consumer. The :783 test docstring
(`t_ci_workflow_as_data_demo_test.rs:781`) explicitly states it is NOT the
emit-back consumer of `project_github_actions`.

(3) §1.8 row #100: drop "byte-for-byte pins projection codomain" claim.
The :783 drift guard does not exercise the .dag-authoritative
projection surface. Replace with :818 `gunbc_ci_emission_substrate_compiles`
type-check of the projection signature; explicitly note the :783 guard
is YAML-authority ratchet, not projection emit-back. Per-arm body
completion remains follow-on under #98.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
…3023)

* docs(r3): Ratify §1.8 gates #99 #100 #101 — T-WAD Slice 8 substrate completion

Flip three T-WAD substrate-shape gates from DECLARED → CONSUMER_LANDED + PASSING
in `docs/r3-program-plan.md` §1.8, with merged-PR receipts and consumer-test
citations. Mirror the status in the predicate-execution audit doc and the
remaining-work dependency graph note (which previously carried stale
"CLOSED-ish" / "see audit caveat" prose).

Substrate landed at HEAD (verified via git grep + ls):

- #99 `workflow_runtime_open_enum_landed` — `WorkflowRuntime = YamlStatic |
  BinaryShim | PythonShim` at `dsl/gunbc/ci_emission.dag:27`; PR #2774
  (proud-dove-838, merged 2026-05-12T23:39:42Z). Consumer: drift-guard
  integration test `gunbc_ci_github_actions_workflow_dag_matches_yaml_generator_output`
  at `t_ci_workflow_as_data_demo_test.rs:783`.

- #100 `project_github_actions_landed` — `fn project_github_actions(dag:
  CIWorkflowDag, runtime: WorkflowRuntime) -> Workflow` at `ci_emission.dag:87`
  with pinned binding `gunbc_ci_yml_workflow` at :95; PR #2774.

- #101 `test_cost_dimension_landed` — `type TestNodeCostDimension` at
  `src/v3/std/verification.dag:578` and `dsl/std/verification.dag:75`; PR
  #2761 (eager-crane-176, merged 2026-05-12T18:07:31Z). P5 hand-Rust
  receipt `test_cost_dimension_landed_on_test_node` at
  `test_runner_test.rs:287`.

Scope (per `docs/r3-actual-close-plan.md:281` Gap 7 cascade item 5 + T-WAD
scope doc): Slice 8 substrate-completion ratifications ONLY. Sibling
gates #98 (`ci_yml_hand_authority_dissolved`) and #103
(`ci_uses_affected_set_selection`) remain DECLARED — separate slices.

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

* docs(r3): Address codex BLOCKING #1-3 on PR #3023 — separate ledger vs predicate-execution; fix #99/#100 consumer-test citations

(1) Audit doc: revert #99/#100/#101 rows to NOT_EXECUTED. The
`r3-close-predicate-execution-2026-05-13.md` table tracks close-ceremony
predicate execution sweep status, NOT §1.8 ledger status. Conflating the
two surfaces collapsed a deliberate distinction; ledger status now lives
solely in `docs/r3-program-plan.md` §1.8 (pointed at from the
"pending close-ceremony sweep" note in each row).

(2) §1.8 row #99: replace `gunbc_ci_github_actions_workflow_dag_matches_yaml_generator_output`
(:783, YAML→DAG byte-drift guard) with `gunbc_ci_emission_substrate_compiles`
(:818) as the substrate-compile consumer. The :783 test docstring
(`t_ci_workflow_as_data_demo_test.rs:781`) explicitly states it is NOT the
emit-back consumer of `project_github_actions`.

(3) §1.8 row #100: drop "byte-for-byte pins projection codomain" claim.
The :783 drift guard does not exercise the .dag-authoritative
projection surface. Replace with :818 `gunbc_ci_emission_substrate_compiles`
type-check of the projection signature; explicitly note the :783 guard
is YAML-authority ratchet, not projection emit-back. Per-arm body
completion remains follow-on under #98.

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 13, 2026
…LARED, row #100 PASSING→DECLARED+TEXT-RATCHETED; re-anchor to main 4b491e4

Addresses codex non-blocking finding on PR #3024 (status-bucket hygiene):
- Row #11 `tc1_eta_equivalence_executable`: per §1.8 the cell starts with
  "**DECLARED through R3**" (canvas-deferred past R3 per Path-A); prior
  parser priority matched the in-cell phrase "R3-load-bearing per §1.5"
  before the leading "DECLARED" keyword. Row is now DECLARED.
- Row #100 `project_github_actions_landed`: amended on main to
  "**DECLARED + TEXT-RATCHETED**" (post-merge ledger evolution beyond
  prior CONSUMER_LANDED + PASSING shape). Row is now DECLARED.

Re-derivation against current main (`4b491e46f`):
- PASSING 45→44 (row #100 demoted)
- DECLARED 30→32 (rows #11 + #100 added)
- R3-LOAD-BEARING 4→3 (row #11 removed)
- Other buckets unchanged.
- Total 106 (parity preserved).
- HARNESS_NAMED 48→47; N/A_NOT_PASSING 58→59.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 14, 2026
…3024)

* docs(r3): R3 close predicate-execution log — Phase 2 fill (45 EXECUTED / 61 N/A_NOT_PASSING)

Populates docs/audit/r3-close-predicate-execution-2026-05-13.md (skeleton merged
via PR #3019) per Gap 10 Phase 2 of docs/r3-actual-close-plan.md.

For every §1.8 row at HEAD a2a7a88:
- Status = PASSING / SATISFIED-BY-CONSTRUCTION (45 rows) → predicate execution
  status EXECUTED; close-time harness = workspace ratchet batch (cargo fmt /
  clippy --all-targets -D warnings / cargo test --workspace) with per-row ratchet
  cited under §1.8 row Notes; result pointer → §Workspace batch receipt.
- Status = CONSUMER_LANDED / DECLARED / R3-LOAD-BEARING (decl-stage) /
  INTEGRATION_RECEIPT / CANVAS_RATIFIED (61 rows) → predicate execution status
  N/A_NOT_PASSING; per r3-close-interrogation.md §8 the predicate-execution
  requirement attaches only to PASSING gates.

Adds row #106 show_correct_code_diagnostic_coverage (merged PR #3020 / Gap 9) so
table mirrors §1.8 ledger one-for-one at HEAD (parity grep `grep -cE '^\\| [0-9]+ \\| `'
yields 106 on both surfaces).

Workspace batch receipt records cargo fmt --all --check exit 0 and clippy
--all-targets -D warnings exit 0; cargo test --workspace --exclude
gunbc-dag-tests is initiated and the §10 close-ceremony audit doc records the
final 24h-of-close re-sweep with the merge-commit SHA.

Overall verdict remains PENDING (61 gates not at PASSING at HEAD; close ceremony
not opened).

Authority: merged PR gunbc/gunbc#3013 Gap 10 close criterion; PR #3019 skeleton;
PR #3020 row #106; docs/r3-close-interrogation.md §8;
docs/r3-actual-close-plan.md Gap 10.

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

* docs(r3): weaken predicate-execution-log claims — Phase 2 = harness-naming, not execution receipt

Addresses codex/codex-default REQUEST_CHANGES on PR #3024
(/api/reviews/11316/artifacts/stdout.log, 2026-05-13T20:35:21Z):

1. Per-row status `EXECUTED` (45 rows) → `HARNESS_NAMED`. The Phase 2 PR
   names the close-time harness per PASSING / SATISFIED-BY-CONSTRUCTION
   gate so the §10 close-ceremony 24h workspace re-sweep has a
   mechanical command to run; it does NOT assert an execution receipt.
   Execution receipts (PASS/FAIL per gate, log pointers, merge-commit
   SHA) are produced by the §10 close-ceremony artifact
   `docs/audit/r3-close-YYYY-MM-DD.md`, not by this Phase 2 PR.
   This eliminates the conflation between "harness identification" and
   "execution receipt" flagged at lines 26/174/180.

2. SHA anchor: explicit "Ledger-snapshot anchor" section clarifies that
   `a2a7a8825` is the §1.8 ledger snapshot at this PR's base commit
   (`git merge-base HEAD main`), and that this PR adds only the audit
   doc — it does not modify §1.8 or any authority surface. The
   derivation is valid for any HEAD that includes `a2a7a8825` with no
   subsequent §1.8 edits. Resolves the "HEAD a98cbc5 vs claimed
   a2a7a88" single-authority/live-state mismatch (INVARIANTS P1/P2).

3. Workspace batch receipt: only `cargo fmt --all --check` and
   `cargo clippy --all-targets -- -D warnings` are recorded as Phase 2
   partial receipts (both clean against base commit `a2a7a8825`).
   `cargo test` is explicitly marked NOT_EXECUTED_BY_THIS_PR and
   anchored to §10 close-ceremony per r3-close-interrogation.md §8 +
   INVARIANTS.md P3 fail-closed/live-state discipline.

Status-bucket distribution table and verdict text updated consistently.

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

* docs(r3): fix 61→58 verdict count drift — bucket table is authority (PR #3024 cursor APPROVE_WITH_COMMENTS)

Addresses cursor/composer-2 review at 2026-05-13T21:09Z: line 28 verdict said 'remaining 61 gates' but Status-bucket table (20+30+4+3+1=58) is the mechanical authority. 48+58=106. Aligns narrative with single-authority / live-state discipline (INVARIANTS P1/P2).

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

* docs(r3): fix INVARIANTS P1→P2 label drift per openai-pro APPROVE_WITH_COMMENTS

§Ledger-snapshot anchor heading and References list incorrectly labeled the
single-authority / no-parallel-authority rule as P1 (Modeling Faithfulness).
The correct invariant is P2 Boundary Discipline (INVARIANTS.md:144). P3
Fail-Closed reference is unchanged.

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

* docs(r3): rebalance §1.8 status buckets — row #11 R3-LOAD-BEARING→DECLARED, row #100 PASSING→DECLARED+TEXT-RATCHETED; re-anchor to main 4b491e4

Addresses codex non-blocking finding on PR #3024 (status-bucket hygiene):
- Row #11 `tc1_eta_equivalence_executable`: per §1.8 the cell starts with
  "**DECLARED through R3**" (canvas-deferred past R3 per Path-A); prior
  parser priority matched the in-cell phrase "R3-load-bearing per §1.5"
  before the leading "DECLARED" keyword. Row is now DECLARED.
- Row #100 `project_github_actions_landed`: amended on main to
  "**DECLARED + TEXT-RATCHETED**" (post-merge ledger evolution beyond
  prior CONSUMER_LANDED + PASSING shape). Row is now DECLARED.

Re-derivation against current main (`4b491e46f`):
- PASSING 45→44 (row #100 demoted)
- DECLARED 30→32 (rows #11 + #100 added)
- R3-LOAD-BEARING 4→3 (row #11 removed)
- Other buckets unchanged.
- Total 106 (parity preserved).
- HARNESS_NAMED 48→47; N/A_NOT_PASSING 58→59.

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

* docs(r3): tighten Purpose bullets — composite CONSUMER_LANDED + PASSING is HARNESS_NAMED, bare CONSUMER_LANDED is N/A (cursor APPROVE exploratory note PR #3024)

Aligns the prose with the table: §1.8 'CONSUMER_LANDED + PASSING' (e.g.
rows #1, #97, #99, #101) flows to HARNESS_NAMED via the 'contains PASSING'
clause; bare 'CONSUMER_LANDED' (e.g. rows #2, #3, #96) is N/A_NOT_PASSING.

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

* docs(r3): split harness override for gate #71 — strict receipt is #[ignore]'d

Addresses BLOCKING inline comment on PR #3024 at line 135 (2026-05-13T23:22Z):

Gate #71 v3_self_host_demonstration: the canonical strict receipt test
r3_v3_self_host_demonstration_suite_passes_through_runner is #[ignore]'d at
HEAD pending T-FixedPoint / Lane 3 promotion (per the test's own ignore-doc
+ docs/design-fixed-point-ratchet.md). Plain `cargo test --workspace` skips
it, so the prior harness column overstated coverage for this row.

Fix: row #71 now uses HARNESS_NAMED (split) and cites:
1. Non-ignored portion that DOES fire under the default workspace sweep:
   r3_v3_self_host_demonstration_dag_lowers_with_substituted_bin_path
   (r3_v3_self_host_demonstration_dag_test.rs:38) + SG-0 census presence
   ratchet (sg0_census_test.rs:667).
2. Ignored strict receipt requiring explicit invocation:
   `cargo test -p v3-compiler --release -- --ignored \
    r3_v3_self_host_demonstration_suite_passes_through_runner`.

Adds a general convention to the §1.8 table preamble: any gate whose
canonical receipt is #[ignore]'d at HEAD is flagged HARNESS_NAMED (split)
and must cite both the default-sweep portion and the --ignored override.
Auditors verify §8 coverage by grepping for `HARNESS_NAMED (split)` and
confirming the §10 sweep includes every cited --ignored override.

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

* docs(r3): defer to close-plan per-gap dispositions; remove generic R4-defer escape hatch (codex BLOCKING PR #3024 #2)

Addresses codex BLOCKING finding #2 (line 24): the prior phrase
"or is operator-accepted as R4-DEFERRED per §10" reintroduced a generic
R4-defer escape hatch the higher-authority close plan explicitly
forecloses for Gaps 1/2/3/9 per operator §4 IN-R3 ratification
2026-05-13 (docs/r3-actual-close-plan.md §11).

Replacement defers to docs/r3-actual-close-plan.md's per-gap
disposition: PROVEN-with-landed-PR-only for Gaps 1/2/3/9 (R4-defer +
THESIS-reframe paths STRUCTURALLY FORECLOSED), close-plan
disposition for other gaps. This audit doc inherits dispositions and
does not author a parallel deferral semantics.

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

* docs(r3): manager fix-forward — strip generic R4-DEFER, split-harness gate #92, ctrl-build pointer

Addresses PM/Director fix-forward guidance (msg_42c90bfb 2026-05-14):

1. Line 24 close criteria: removed the remaining "R4-DEFERRED-with-operator-acceptance" language that codex review 11524 flagged as a generic escape hatch. New wording states no generic deferral; gap-specific structural blockage routes through docs/r3-actual-close-plan.md §1 + explicit Director/operator ratification recorded against the close-plan, not this audit doc. Re-swept for R4-DEFER / R4 defer / R4-defer / R4_DEFER — zero remaining occurrences in this audit doc.

2. Gate #92 row: promoted to HARNESS_NAMED (split). Even though PR #2737 removed the #[ignore] that PR #2723 added (per ledger Notes), fail-closed posture (INVARIANTS P3) requires the close-time command to explicitly invoke the named receipt rather than depend on the ignore-bit remaining off. Row now cites both the default workspace sweep portion and an explicit `cargo test -p v3-compiler -- --include-ignored complexity_violation_compile_error_demonstrated` invocation that fires the receipt regardless of ignore-bit state at the close-ceremony commit.

3. Cursor non-blocking exploratory note: added a one-line pointer that `ctrl-build` is the internal session-runtime BuildBuddy wrapper per CLAUDE.md, and that the §10 close-ceremony auditor substitutes the canonical local equivalent.

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

* docs(r3): re-anchor §1.8 ledger snapshot to current merge-base c055495; row #63 DECLARED→CANVAS_RATIFIED (codex BLOCKING PR #3024 review 11585)

Addresses codex BLOCKING (review 11585): the prior anchor 4b491e4 was
stale relative to git merge-base HEAD origin/main (now c055495 after main
auto-merged in PRs #3025, #3035, #3037, #3038, #3040, #3046, #3049, #3050).
The audit doc's single-authority claim must hold against the actual
merge-base, not a frozen prior commit. Codex's row count of 100 at
4b491e4 is incorrect on this worktree (verified 106 at both 4b491e4 and
c055495), but the anchor-drift point is valid: per INVARIANTS P2 the
authoritative §1.8 snapshot must be reproducible from the current
merge-base.

Re-derivation at c055495 (verified mechanically): PASSING 44 +
SATISFIED-BY-CONSTRUCTION 3 + CONSUMER_LANDED 20 + DECLARED 31 +
R3-LOAD-BEARING 3 + INTEGRATION_RECEIPT 3 + CANVAS_RATIFIED 2 = 106.
Versus prior anchor: row #63 substrate_gap_workflow_scheduling_closed
moved DECLARED→CANVAS_RATIFIED (PR #2831 squash 89df284); buckets
adjust DECLARED 32→31, CANVAS_RATIFIED 1→2. HARNESS_NAMED 47 and
N/A_NOT_PASSING 59 totals are unchanged (the moved row stays N/A).

Row #63 audit-doc cell flipped to cite CANVAS_RATIFIED label.

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

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
briansrls added a commit that referenced this pull request May 15, 2026
r3-remaining-work-dependency-graph.md overstated #100 as CONSUMER_LANDED+PASSING;
canonical r3-program-plan §1.8 row #100 remains DECLARED+TEXT-RATCHETED until
#98-scope emit-back receipts land. Record retraction, fix sequencing note, and
refresh #103 snapshot to match §1.8 PASSING.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 25, 2026
Replace unlanded milestones-doc anchor with checkable feature: and
consumer: tags on the M1CiLiveWorkflowSignal gate (r3 #98/#100, TASKS T-24).

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request May 25, 2026
…tter gaps for v4 (#3654)

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* fix(ci): mark scripts/v4-m1* as v4-affected for M1 rust emit probe

PRs that touch only the M1 probe script must still run the gated CI step;
mirror the existing scripts/v4-mvp1* selection rule.

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

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* fix(ci): bind M1 bridge to T-24 / project-github-actions P5 tags

Replace unlanded milestones-doc anchor with checkable feature: and
consumer: tags on the M1CiLiveWorkflowSignal gate (r3 #98/#100, TASKS T-24).

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

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* fix(ci): module-qualified M1 binding test + consume non_blocking from ci.dag

Use v4_workflow_ci_runner_dag_smoke_test:: filter in self-check (ci.yml
already qualified). Derive continue-on-error YAML assertion from
m1_ci_live_workflow_signal.non_blocking (P2 single authority).

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

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

* fix(ci): M1 probe survives zero-match rustc log grep under pipefail

grep exits 1 with no matches; pipefail + set -e aborted the non-strict
probe before summary/exit 0. Guard rustc file-path extraction and default
grep-backed counts to zero (codex RC @ 22d9e5e).

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

* WIP: M1 CI wiring: add --target rust src/v4 → rustc step to surface v2 emitte

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls deleted the cursor/registry-externs-deletion-cf18 branch June 1, 2026 18:41
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.

2 participants