Skip to content

Foreign-medium audit ROW1 — grammar/syntax de-fork: enroll-WITH-ROSTER-THEN-dissolve. std/languages.dag (~244 grammar template strings: 'fn {name}({params})->{ret}', 'Vec<{0}>'...) is a §3 FORK of grounded extdeps/languages/{rust,go,python}/syntax.dag. STEP1 enroll grammar-template medium in lens (e - #5784

Closed
briansrls wants to merge 14 commits into
mainfrom
session/swift-hawk-196

Conversation

@briansrls

@briansrls briansrls commented Jun 25, 2026 •

Copy link
Copy Markdown
Contributor

Foreign-medium audit ROW1 — grammar-template medium: STEP 1 (enroll-WITH-ROSTER)

The fork (§3): dsl/std/languages.dag carries ~244 raw target-language grammar template strings (definition: "fn {name}({params}) -> {ret}", list_template: "Vec<{0}>", optional_template, map_template, per Rust/Go/Python/TS) as data-record field values. That is a §3 fork of the grounded grammar homes dsl/extdeps/languages/{rust,go,python}/syntax.dag (structured ItemForm/OperatorSpec Nodes carrying ExternalAuthority anchors). Verified: the grounded syntax.dag homes contain no placeholder strings — confirming the std side is the string-fork.

STEP 1 (this PR) — enroll the medium with the existing fork rostered as frozen debt, so the wall is live immediately without big-bang-redding the corpus:

  • New TargetGrammarTemplate medium in medium_structure_containment.dag (emit-side InlineSyntaxLiteral marker face).
  • Markers = partial placeholder holes {ret / {params / {0 / {1 — discriminating to only dsl/std/languages.dag outside the realization edge (raw + parsed), strictly better than Vec</Option< which collide with legit extdeps Rust.
  • dsl/std/languages.dag added to medium_structure_exception_roster as frozen ~244-site debt. Net-zero on the full-tree clean scan (discovered + rostered).
  • Result: reintroducing a grammar template off the realization edge and off the roster is now a red — the interim teeth; the real fail-closed comes from STEP 2 dissolution.

Mechanism note: the brief originally proposed an emit-fn provenance anchor (emitted_medium_emit_fns). That keys the check-side (string-op over an emit-fn output); the fork is emit-side data-record fields, so provenance can't wall it even after #5776. The marker face is the correct, permanent detector for this fork — confirmed with the lane manager.

Witnesses (green by execution, discriminating RED control):

  • scanner/grammar_template_live_test.dag — planted {ret-style template in a non-edge std file → RED (count 3, containment false); rostered → GREEN; live dsl/std unrostered → RED (fork discovered); frozen-rostered → GREEN.
  • lens_unit/grammar_template_discriminators_test.dag — fresh non-edge template flagged; grounded extdeps/languages/.../syntax.dag edge not a leak; languages.dag rostered = frozen debt; de-rostered = leak.
  • Existing clean_tree and planted_leak (3) still pass.

STEP 2 (follow-on PRs): migrate std.render consumers to read the extdeps/languages/*/syntax.dag homes, delete each migrated template from languages.dag and shrink the roster by the same sites — never delete a template still read by render.dag. Endgame: fork gone, roster entry removed, medium becomes a pure construction wall.

Lens owner: routed to neat-fox-547 for lens sign. Merge-order: sequence after #5776 (both append to the construction_justification rationale).

🤖 Generated with Claude Code

Brian Searls and others added 3 commits June 25, 2026 01:02
… lane contamination

Enroll TargetGrammarTemplate emit-side medium in medium_structure_containment.dag
(markers {ret/{params/{0/{1, discriminating to dsl/std/languages.dag only),
roster languages.dag as frozen §3-fork debt, + live/lens_unit discriminating
witnesses (planted template-in-std RED; rostered/edge GREEN by execution).
Restore 5 files swept in by dashboard git add -A from another lane.

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

gunbai-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

CI failure is pre-existing main-drift, not this PR's content — differential control below.

The only failing floor check is generated_artifact_drift_gate_passes (returned Bool(false)) in batch 2. Everything this PR adds is green by execution:

  • discovery-corpus [2 roots, width=3] PASS (1034 witnesses — includes my 8 grammar-template witnesses)
  • emit_host_gate / layering_imports_gate / extdeps_external_authority_gate all PASS
  • rust_tests PASS

Differential control proving the drift gate is not mine:

  • git diff --name-only origin/main...HEAD = exactly 4 files (lens + 2 witness tests + plant fixture) — zero generated artifacts / plan docs touched.
  • origin/main's own CI is RED on the same gate at 9d83a67, 7d280cd, ad6faa1 (every recent head), independent of this branch.

This is the shared host-effect plan-doc drift flagged by the lane manager and lens owner (neat-boar fixing in a separate PR). Per that guidance I will re-merge origin/main for fresh source once the drift fix lands, which clears the gate without any change to this PR's content. No fix is pushable here — the drift lives in generated artifacts this PR does not author.

— sent from swift-hawk-196

# Conflicts:
#	src/v2/lens/medium_structure_containment.dag
@gunbai-bot

gunbai-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Both CI reds are fleet-wide main breakage, not this PR — updated differential control.

Floor run on c56209a (post fresh-source re-merge) fails exactly two batch-2 checks:

  1. generated_artifact_drift_gate_passes — the host-effect plan-doc .dag/.md drift (Fix host-effect orchestration drift: restore .dag Phase A/B to LANDED truth (regressed by #5764) #5790 fixed the .dag; the .md regen ShellProgram -> DAG #5796 is still open).
  2. doc_graph_has_no_orphan_docs (dsl/test/claim/doc_reachability_witness_test.dag) — a newly-landed orphan doc on main.

Differential proof both are main's, not mine:

  • origin/main's own latest CI run (28144832603) reds on the identical two gates — independent of this branch.
  • My diff is 4 files (lens + 2 witness tests + plant fixture), zero docs / zero generated artifacts.
  • Witness-count delta confirms my content is healthy and enrolled: main's corpus = 1026 discovery witnesses, this branch = 1034 (+8 = exactly my grammar-template witnesses, all PASS); the single discovery failure is the pre-existing doc_reachability one, not any of mine.

Per lane-manager + lens-owner guidance I am holding, not churning: once the .md regen (#5796) and the orphan-doc fix land on main, one final git fetch + merge origin/main greens the floor with no change to this PR's content. No fix is pushable here — both failures live in artifacts/docs this PR does not author.

— sent from swift-hawk-196

@gunbai-bot

gunbai-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

CI red @ 8f427f02fa is runner infrastructure, not content. The failure annotation on this PR (srv1-11) is identical to the one on main's own current tip #5801 (srv1-12):

System.IO.IOException: No space left on device : '/opt/actions-runner/srv1-NN/_diag/Worker-...utc.log'

The self-hosted runner Worker process died on a full disk before any floor gate executed — not a gate/witness failure. Differential control: origin/main is an ancestor of this head, and main's tip fails the identical ci job the same way. This PR's diff is exactly 4 .dag files (lens + 3 test/fixture), zero generated/yaml/doc artifacts, and all 8 witnesses are green by execution. No code change fixes a full runner disk — needs srv1-pool disk cleanup + a re-run (triggered --failed rerun). Holding; not pushing a commit.

— sent from swift-hawk-196

@gunbai-bot

gunbai-bot Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Update — the new CI red @ 6d6f67b is again fleet drift, not this PR, proven by execution. Batch 2 had two discovery-witness failures:

  1. doc_graph_has_no_orphan_docs — the recurring orphan-doc drift.
  2. medium_structure_clean_tree_holds — the aggregate medium-leak scan.

I ran the aggregate scan with my locally-built claim_batch against origin/main's own pure tree (no TargetGrammarTemplate medium present): it FAILS there too. So the aggregate red is not introduced by this PR. Isolating my contribution: grammar_template_leak_count_live(emit_roots, roster) == 0 (PASS) — my markers flag zero leaks; languages.dag is properly excluded by the roster.

The actual leaker is a fleet file from the roadmap-spawner wave (#5797/#5813): dsl/gunbc/tools/roadmap_spawn_request.dag carries a >/dev/null ShellInRun marker and is not in the roster on main (grep roadmap_spawn_request of main's lens = 0 hits). That's an unrostered ShellInRun leak owned by the roadmap-spawner lane, not this PR — same provenance as the orphan-doc red. Both need a fleet roster/fix (a #5804-style follow-up), not a change here.

This PR's diff remains exactly 4 .dag files; my 8 witnesses are green by execution; no grammar leak. Not pushing — adding another lane's leaker to my roster would be scope creep.

— sent from swift-hawk-196

@briansrls briansrls closed this Jun 26, 2026
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