Skip to content

migrate(v4): E2 safe-bulk symbol-tag sweep — data X: Symbol = X → ^X - #4549

Merged
briansrls merged 7 commits into
mainfrom
session/zesty-newt-784
Jun 9, 2026
Merged

briansrls merged 7 commits into
mainfrom
session/zesty-newt-784

Conversation

@briansrls

@briansrls briansrls commented Jun 8, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Safe-bulk migration after #4541 ^-sigil merge: delete tautological data NAME: Symbol = NAME (and aliased data A: Symbol = B) declarations in non-load-bearing src/v4 scope; replace all refs with ^NAME / ^RHS opaque symbol literals.

  • ~241 files migrated (lens, extdeps, test, workflow, install, non-LB std)
  • Excluded per manager steer: compiler/ (111 tags), load-bearing std escalate batches (node, grammar, verification, target_model, etc.)
  • Prep/migration tooling: scripts/symbol_tag_prep_quantify.py, scripts/symbol_tag_bulk_migrate.py
  • Follow-up: cross-file dangling-ref repair (fc649c51), CI retrigger after concurrent-run cancellation (0c6dbbd)

Work item: node://adhoc-ba8681f5-26d

Test plan

  • Local: V2_COMPILER=target/release/gunbc bash .github/ci-floor/v4-bootstrap-viability.sh → compiled: 1 files emitted, 0 diagnostics
  • CI run 27161385176 (HEAD 0c6dbbd): ci_floor + ci_floor_emit + v4_lens_ci all SUCCESS — suite-delta=0 gate met

Worker attestation

  • Title describes the change (not the session id or branch).
  • PR body summarises what and why.
  • Tests run: local v4-bootstrap-viability.sh 0-diag; CI ci_floor/ci_floor_emit green on 0c6dbbd.
  • Work item referenced (node://adhoc-ba8681f5-26d).
  • No secrets / credentials / large binaries staged.

After #4541 ^-sigil merge: delete tautological/aliased Symbol tag declarations
in safe-bulk scope (lens/extdeps/test/workflow/install + non-load-bearing std);
replace refs with ^NAME / ^RHS. Excludes compiler/ (111) and load-bearing std
escalate batches per manager steer.

Includes prep tooling (symbol_tag_prep_quantify.py, symbol_tag_bulk_migrate.py)
and exemplar std/artifact.dag. ~238 files, ~2911 tags migrated.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls force-pushed the session/zesty-newt-784 branch from d154548 to 0dd93e4 Compare June 8, 2026 18:27
Brian Searls and others added 3 commits June 8, 2026 18:53
Cross-file bare refs in testgen.dag and extdeps language files missed
by per-file sweep; prefix with ^ to match deleted declarations.
Gate: v4-bootstrap-viability 0 diagnostics.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls marked this pull request as ready for review June 8, 2026 19:11
@briansrls briansrls changed the title E2 standalone symbol-tag bulk (~3502 tags, ex-compiler): data X: Symbol = X → ^X — BLOCKED on ^-sigil merge (node://adhoc-fa27e1c1-3ee) migrate(v4): E2 safe-bulk symbol-tag sweep — data X: Symbol = X → ^X Jun 8, 2026
…y-flip

Prior ready-flip spawned duplicate workflow runs; cancelled infra_isolation
and ci checks left PR checks_state failing despite green ci_floor run.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls pushed a commit that referenced this pull request Jun 8, 2026
briansrls pushed a commit that referenced this pull request Jun 8, 2026
Brian Searls and others added 2 commits June 8, 2026 23:57
…on + ^-sigil

Take main's frontier_decision_matches receipt pattern and apply E2 ^-sigil
on affected_set_example_dimension references in the four conflicted claim DAGs.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove one-off quantification and shadow-census scripts; bulk_migrate.py
remains as the migration tool.

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls merged commit 3271dd8 into main Jun 9, 2026
9 checks passed
@briansrls
briansrls deleted the session/zesty-newt-784 branch June 9, 2026 00:12
briansrls pushed a commit that referenced this pull request Jun 9, 2026
Rebase fallout from #4549 symbol-tag sweep: drop stale cpp_token_* imports
and compare against ^cpp_token_* tags so cpp claim witnesses compile again.

Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jun 9, 2026
… v4 0-diag + suite-delta=0 (#4572)

* migrate(v4): E2 safe-bulk symbol-tag sweep — data X: Symbol = X → ^X

After #4541 ^-sigil merge: delete tautological/aliased Symbol tag declarations
in safe-bulk scope (lens/extdeps/test/workflow/install + non-load-bearing std);
replace refs with ^NAME / ^RHS. Excludes compiler/ (111) and load-bearing std
escalate batches per manager steer.

Includes prep tooling (symbol_tag_prep_quantify.py, symbol_tag_bulk_migrate.py)
and exemplar std/artifact.dag. ~238 files, ~2911 tags migrated.

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

* WIP: E2 standalone symbol-tag bulk (~3502 tags, ex-compiler): data X: Symbol

* WIP: E2 standalone symbol-tag bulk (~3502 tags, ex-compiler): data X: Symbol

* fix(v4): repair dangling symbol-tag refs after safe-bulk ^ migration

Cross-file bare refs in testgen.dag and extdeps language files missed
by per-file sweep; prefix with ^ to match deleted declarations.
Gate: v4-bootstrap-viability 0 diagnostics.

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

* chore(ci): retrigger checks after concurrent run cancellation on ready-flip

Prior ready-flip spawned duplicate workflow runs; cancelled infra_isolation
and ci checks left PR checks_state failing despite green ci_floor run.

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

* WIP: Resolve #4549 dirty merge: merge main into safe-bulk branch, reverify v4

* WIP: Resolve #4549 dirty merge: merge main into safe-bulk branch, reverify v4

* fix: fail closed on invalid or empty symbol-tag corpus root

Validate ROOT resolves to an existing directory and reject zero .dag
files before writing census outputs, so migration evidence cannot
silently report an empty census from a wrong cwd or missing tree.

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

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls added a commit that referenced this pull request Jun 10, 2026
…met) (#4561)

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* feat(v4): Phase B — cpp SG-2 projection row + executed claim consumer (E-10)

Land cpp_type_expression_projection surface moved out of Phase A with
sg2_cpp_type_expression_projection.dag probe (arrow + delimiter row).
Fold/budget/deferred rust witnesses still pending; PR stays draft.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP(fold): SG-2 candidate algebra in std/target_model (checkpoint 1/2)

Add closed per-connective projection-row candidate builders:
type_expr_projection_step_algebra, type_expr_projection_shape_for_connective,
type_expr_projection_candidate_for_connective. Translate spine consumer next.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* fix(v4): add TestClaim carriers to cpp SG-2 consumer (peer parity)

Wrap cpp SG-2 delimiters/arrow witnesses in CompilesClaim/EqualsClaim carriers
matching sg2_type_expression_projection.dag. Roster still deferred until arrow
witness is fold-green (checkpoint 3).

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP(fold): checkpoint 3a — row witness gate + discriminating witness

Add type_expr_projection_substrate_facts and type_expr_projection_row_witness_gate;
refactor closedness_ack as row-shape shim. witness_sg2_fold_row_delimiter_discriminates_holds
proves find_witness rejects mismatched projection row (run-based).

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

* fix(v4): cpp SG-2 claim uses ^symbol token refs after main rebase

Rebase fallout from #4549 symbol-tag sweep: drop stale cpp_token_* imports
and compare against ^cpp_token_* tags so cpp claim witnesses compile again.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* fix(v4): address SG-2 blocking review — bundle closedness + cpp arrow lex

Wire Disj/Arrow translate arms through type_expr_projection_row_closedness_from_target
(bundle-authoritative source_facts). Add ^cpp_token_rparen_tight lex rule so arrow
serialize is "(X) -> Y" not "(X)  -> Y". Witness uses bundle shape for discrimination.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* fix(v4): declare C++ SG-2 symbol authority before projection row (P2)

Add cpp_wave1_lex_token_symbol, cpp_sg2_type_expr_surface_symbol,
cpp_sg2_type_expr_binding_symbol, and cpp_sg2_type_expr_symbol_authority;
wire into cpp_language_model_canonical_symbols and cpp_sg2_type_expr_canonical_symbols
(lex_rule_set closure). Declares vocabulary before row/lex/binding consumers.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP(fold): checkpoint 3b milestone 1 — substrate graft + labeled Conj/Disj facts

Fix type_expr_projection_substrate_facts to preserve labeled node.children on
Conj/Disj (not only projected_positional). Add type_expr_projection_encode_substrate_in_row_slot
grafting substrate facts into per-connective row slot shape.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP(fold): substrate order fix + bounded match collapse (checkpoint 3b)

Fix substrate_facts child order (fold_list not fold_list_right+snoc).
Collapse project_type_expression_node_bounded connective match 6→1 via
connective_bounded helper (06_translate arm count 28→23). Graft witness at
translate consumer blocked: Arrow graft REDs zip-fold vs Conj row-shape
candidate — fold-leak probe escalated to mgr.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* chore: mark encode_substrate graft scaffold dissolve-on (checkpoint 3b HOLD)

Fold-leak HOLD pending parent encoding ruling; dissolution trigger names
06_translate graft-wire consumer path.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* fix(cpp-sg2): per-connective row form witnesses (E-6/E-10)

Add C++ golden fixtures and executed witnesses for all six
cpp_type_expression_projection forms: atom/arrow use full translate
projection+serialize; instantiation/conj/disj/cardinality use golden
emit wire-decode + serialize receipts proving each row form is a real
consumer. Extend cpp_sg2_binding_spellings for shared probe fixtures.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* fix(v4): resolve find_witness merge — #4585 + SG-2 discipline rule

Integrate project_to_core + find_witness_derives from main while keeping
preservation_rule_type_expr_projection_discipline_zip_fold in
realized_preservation_rules and dispatch.

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* partial(sg2): bounded-match collapse + #4585 integration (arms→0 NOT met)

Interim checkpoint — NOT the T3 full fold / arm dissolution proof-point.

Landed:
- 6→1 bounded connective dispatch (project_type_expression_connective_bounded)
- find_witness #4585 merge (project_to_core + discipline_zip_fold rule)
- shape vs graft witness gate split; Arrow graft wire in translate

Deferred (explicit re-scope):
- per-connective arm deletion (6 arms remain in translate)
- witness_sg2_arrow_holds runtime proof (compile-blocked on Optional cross-module match)

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

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

* WIP: T3 type-tier lane (emit ladder, ctrl#1489): SG-2 type-expression project

---------

Co-authored-by: Brian Searls <briansearls1@gmail.com>
Co-authored-by: Cursor <cursoragent@cursor.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