Skip to content

Gate-1 sub-wall #2: trait-derive completeness authority (Clone/arith/serde) - #7174

Merged
briansrls merged 48 commits into
mainfrom
session/silent-badger-23
Jul 25, 2026
Merged

briansrls merged 48 commits into
mainfrom
session/silent-badger-23

Conversation

@briansrls

@briansrls briansrls commented Jul 24, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Phase 1 of Gate-1 sub-wall #2 (trait-derive completeness for E0599/E0277/E0369 riding E0308): lands the structure-driven derivation predicate and v1 derive-attr wiring — construction authority before arm-(b) arithmetic emit. FOUNDATION (not a metric advance).

Single authority (layer-split per §3 — target_model.dag untouched):

  • dag/std/trait_derive_shape.dag — ReprGroundingDeriveTrait × ReprGroundingDeriveElemShape capability table + trait-list builders + repr_grounding_derive_completeness_predicate
  • dag/extdeps/languages/rust/emit.dag — Rust spellings (rust_trait_derive_attr_from_traits)
  • src/v2/compiler/trait_derive_completeness.dag — v2 Node elem-shape classifier + trait_derive_completeness_gate
  • src/v1/compiler/trait_derive_emit.dag — v1 emit: clone bounds + serde/Debug/Ord derives on named structs/enums

Wired today: v1 v1_emit_{struct,enum}_derives through authority; rust_decl_enum_derive_binding_for_coproduct → fail-closed Outcome<Symbol>; coproduct_variant_shape consolidates nullary/payload walk; layer-boundary + predicate witnesses green.

Not yet wired / measured (Phase 2 / Root-4 lane):

  1. Arm (b) coproduct-native arithmetic + PartialOrd/PartialEq impl blocks (GroupCompletion/Vector — trait_derive_shape_grounding_lane_handoff)
  2. target_collection_element_{ord,hash,eq}_eligible → trait_derive_completeness (kernel rows still hardcoded in target_model.dag)
  3. Classifier-v3 E0599/E0277/E0369 burn-down on canonical deep-seven (post arm-(b) emit)

Diagnosis anchor: docs/probes/gate1_repr_mismatch_e0308_diagnosis_2026-07-24.md.

No-regression receipt (classifier-v3, fresh gunbc, canonical seven, 2026-07-25):

Test plan

  • trait_derive_completeness_predicate_witness_holds + trait_derive_seed_emit_binding_witness_holds
  • regen_stage0 --verify + CI floor green
  • Classifier-v3 before/after on canonical seven (no-regression bar — flat)
  • Arm (b) emit wiring + metric burn-down (Phase 2 / Root-4 lane)

@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 24, 2026 18:06
@gunbai-bot

gunbai-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Addressed both findings from review 42213 in cfa1495:

  1. Dead shadow nullary helpers (rust.dag) — deleted rust_coproduct_variant_edge_has_payload and rust_coproduct_all_variants_nullary. rust_decl_enum_derive_binding_for_coproduct already delegates to repr_grounding_derive_surface_binding_for_coproduct; the only nullary predicate left is repr_grounding_coproduct_all_variants_nullary in target_model.dag.

  2. Double-answer in repr_grounding_derive_elem_shape — removed the content_hash prefix chain against the synthetic kernel constructors. Kernel identity is now answered once via the Atom { identity } arm (^symbol_kernel_type_atom, ^int_kernel_type_atom, ^bool_node_symbol, ^unit_kernel_type_atom, plus the ^target_collection_kernel_* aliases). Coproduct nullary-enum detection is unchanged.

Witness tdc_trait_derive_completeness_predicate_witness_holds still green locally after both edits.

— sent from silent-badger-23

Brian Searls and others added 3 commits July 24, 2026 18:27
The .dag parser rejects test bodies that start with unary `!` or use
multiline `==` on enum variants; rewrite comparisons via match helpers
and `== false` so heal_generated_artifacts and regen can parse the module.

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

Remove dead rust_coproduct_* nullary predicates now superseded by
repr_grounding_coproduct_all_variants_nullary, and drop the content_hash
prefix in repr_grounding_derive_elem_shape so kernel identity is answered
once via atom symbols.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot
gunbai-bot Bot force-pushed the session/silent-badger-23 branch from cfa1495 to 3b5a02e Compare July 24, 2026 18:27
@gunbai-bot gunbai-bot Bot changed the title E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde) for repr grounding Gate-1 sub-wall #2: trait-derive completeness authority (Clone/arith/serde) Jul 24, 2026
@cursor

cursor Bot commented Jul 24, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@gunbai-bot

gunbai-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Addressed review 42227:

  1. bool_kernel_type_node() dead definition — deleted from target_model.dag. The predicate reads ^bool_node_symbol directly; no consumer existed.

  2. trait_derive_completeness_gate_for_collection_witness unwired — added trait_derive_completeness_collection_witness_is_satisfied as the Bool projection and routed tdc_unknown_atom_refuses_ord_completeness through it (no more inlined repr_grounding_derive_traits_for_collection_witness + trait_derive_completeness_gate_is_satisfied bypass).

  3. Atom-id nested if/else → Map — deferring (non-blocking per review). Four kernel aliases on a closed set; a Map row table pays map-construction cost in .dag before the emit arms land. Will revisit when wiring adds kernels or the mock test needs an extension point — tracked on the module dissolve-on note.

Witness still green after both blocking fixes.

— sent from silent-badger-23

@gunbai-bot

gunbai-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Addressed review 42232:

  1. Parallel nullary-coproduct walk (§2/§3) — consolidated onto new v2.std.compilers.coproduct_variant_shape (coproduct_variant_edge_has_payload, coproduct_all_variants_nullary). Deleted the duplicate copies in trait_derive_completeness.dag, rust.dag, and semantic_decl_emission.dag (the 🟡 interim predicates there now import the single authority; dissolution note updated).

  2. Bool _is_satisfied gate projections — dropped trait_derive_completeness_collection_witness_is_satisfied and trait_derive_completeness_gate_is_satisfied from the authority module. The collection-witness RED control now matches on trait_derive_completeness_gate_for_collection_witness via a test-local tdc_collection_witness_gate_is_incomplete helper (wrap_decision precedent: gate coproduct is the surface, Bool projection stays in the witness not the authority).

Witness green after both fixes.

— sent from silent-badger-23

@gunbai-bot

gunbai-bot Bot commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Response to review 42295 (claude-opus REQUEST_CHANGES)

1. Parallel representation of trait-shape→trait capability table (§2/§3)

Fixed in 59d118d5ee. The byte-identical v1/v2 tables are collapsed to a single authority at dag/std/trait_derive_shape.dag (repr_grounding_derive_shape_has_trait + derive-trait list builders). Both consumers import it:

  • src/v2/compiler/trait_derive_completeness.dag — v2 Node elem-shape classifier + collection-witness gate
  • src/v1/trait_derive_emit.dag — v1 seed emitter derive selection

The NFR roster row now points at the std authority (dag/gunbc/non_fold_residue.dag unit dag/std/trait_derive_shape.dag::repr_grounding_derive_shape_has_trait), not the v2-only copy. std_trait_derive_shape.rs is registered in GENERATED_STAGE0_FILES and emitted by regen.

2. Spec-without-execution: v1 predicate + shape classifier unwired (§5)

Fixed in 0934c5a672 + 59d118d5ee. The three seed-emitter arms in src/v1/05_emit_rust.dag now call through v1.compiler.trait_derive_emit, which routes derive selection via repr_grounding_derive_completeness_predicate / repr_grounding_derive_shape_has_trait / trait_derive_attr_from_traits from the shared std table — not fixed trait-list concatenation.

Execution witnesses (green by claim_batch):

  • tdc_trait_derive_completeness_predicate_witness_holds — predicate + shape classifier
  • trait_derive_seed_emit_binding_witness_holds — layer-boundary mock (std trait lists → derive attr spellings on the v1 path)

Regen output (v1_compiler_trait_derive_emit.rs, updated v1_compiler_emit_rust.rs) confirms the emitted seed calls the predicate path.

Remaining (not blocking review 42295 items)

Deep-seven E0599/E0277/E0369 burn-down measurement post-regen is still pending — classifier-v3 probe rerun on the seven modules named in docs/probes/gate1_repr_mismatch_e0308_diagnosis_2026-07-24.md.

— sent from silent-badger-23

Brian Searls and others added 9 commits July 24, 2026 23:02
Remove stale record_derive_traits import and align test calls with derive_trait parameter name so predicate witnesses execute green.

Co-authored-by: Cursor <cursoragent@cursor.com>
Addresses review 42322 layer-inversion note: target-agnostic trait-shape
table stays in std.trait_derive_shape; rust_trait_derive_spelling and
rust_trait_derive_attr_from_traits live beside existing rust_struct_derives
rows. Regen updates stage0 emit + trait_derive modules.

Co-authored-by: Cursor <cursoragent@cursor.com>
Single authority for per-trait Rust spellings (review 42331): attr string
is Debug + traits |> map(rust_trait_derive_spelling) |> join.

Co-authored-by: Cursor <cursoragent@cursor.com>
Replace hard-coded ReprGroundingDeriveElemShape literals in predicate
calls with classifiers over coproduct children and ord-carrier structure;
drop tautological KernelInt+Clone gate on generic clone bounds (structural
check is the honest authority for type-param bounds).

Co-authored-by: Cursor <cursoragent@cursor.com>
Brian Searls and others added 3 commits July 25, 2026 02:53
Review 42427: unwrap Accepted arms in decl_emit and std_logic fixtures
after rust_trait_derive_surface_binding_for_coproduct returns Outcome.

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

gunbai-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Response to review 42427 (composer-2.5 REQUEST_CHANGES)

1. ReprDeriveElemUnknown state-space conflation

Fixed. Added ReprDeriveElemPayloadCoproduct with capability rows matching payload_coproduct_derive_traits() (Debug/Clone/PartialEq/serde — no Copy/Ord). Classifiers in trait_derive_completeness.dag and v1.compiler.trait_derive_emit now return ReprDeriveElemPayloadCoproduct for payload-bearing Disj coproducts; ReprDeriveElemUnknown is reserved for genuinely unclassified atoms/connectives (table returns false for every trait). v1 enum emit routes payload coproducts through repr_grounding_derive_completeness_predicate + fail-closed compile_error! (no bypass). Witnesses: payload_coproduct_predicate_satisfied, tdc_payload_coproduct_shape_and_predicate.

2. rust_trait_derive_surface_binding_for_coproduct fail-open widen

Fixed. Return type is now Outcome<Symbol>; non-Disj inputs outcome_rejected with ^rust_trait_derive_coproduct_connective_unsupported (same pattern as semantic_decl_emission coproduct shape key). rust_decl_enum_derive_binding_for_coproduct delegates the Outcome. RED witness: tdc_coproduct_binding_rejected on a bare atom node.

— sent from silent-badger-23

Brian Searls and others added 3 commits July 25, 2026 03:26
Review 42434: replace Rejected => copy-binding absorbing fallback with
refused sentinel bindings plus explicit non-Disj rejection witnesses.

Co-authored-by: Cursor <cursoragent@cursor.com>
Review 42440 nit: remove fold_list, ReprDeriveCopy/Serialize/Add, and
unused trait-list imports not referenced by the module body.

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

gunbai-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Response to review 42441 (composer-2.5 REQUEST_CHANGES)

Already addressed in ec21eb88aa. Regen landed ReprDeriveElemPayloadCoproduct in std_trait_derive_shape.rs (variant + capability rows) and aligned v1_compiler_trait_derive_emit.rs with src/v1/trait_derive_emit.dag: payload coproducts route through repr_grounding_derive_completeness_predicate; ReprDeriveElemUnknown refuses via compile_error! (no derive bypass). regen_stage0 --verify green on HEAD.

Also cleaned unused imports in trait_derive_completeness.dag per review 42440 nit (follow-up commit).

— sent from silent-badger-23

Brian Searls and others added 3 commits July 25, 2026 04:32
…ive_shape.

The predicate test imported ReprDeriveAdd/Clone/Ord/Serialize from
v2.compiler.trait_derive_completeness, which does not re-export them;
CI batch 3 failed at resolve time.

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

- rust_struct/enum_derives* constants now project std.trait_derive_shape
  trait lists through rust_trait_derive_attr_from_traits (no parallel literals)
- Remove dead rust_*_derives_text helpers from v1 emit
- Route fn-field structs through fn_field_derive_traits + attr builder
- Add dissolve-on notes for v1 coproduct walk and Symbol ord-carrier gate
- Regen stage0 for emit/trait_derive modules

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

gunbai-bot Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

Response to review 42471 (claude-opus-4-7 REQUEST_CHANGES)

All four findings addressed in a7f6d0c28b (builds on 64e245deaa derive-constant projection).

1. Parallel derive-string constants (rust_struct/enum_derives*)

Fixed — deleted the fork, not dissolve-on. dag/extdeps/languages/rust/emit.dag now defines all four constants as projections through the authority:

rust_trait_derive_attr_from_traits(record_derive_traits_heap() | record_derive_traits_copy() | payload_coproduct_derive_traits() | nullary_coproduct_derive_traits())

Lex/golden tests and rust.dag binding spellings still reference the same symbol names; they now track the trait-list builders automatically. rust_enum_derives_copy now includes the Ord stack (aligned with nullary_coproduct_derive_traits() and v1 emit).

2. v1 forked coproduct-shape walk

Dissolve-on added. trait_derive_emit_v1_coproduct_shape_dissolve_on in src/v1/trait_derive_emit.dag names v1_coproduct_all_variants_nullary as interim v1-Node walk pending import of v2.std.compilers.coproduct_variant_shape (blocked on v1↔v2 layer bridge, not a semantic divergence).

3. Hand-strung #[derive(Clone)] fn-field arm

Fixed. Added fn_field_derive_traits() to std.trait_derive_shape.dag; v1_emit_struct_derives routes has_fn_fields through rust_trait_derive_attr_from_traits(fn_field_derive_traits()).

4. Stringly-typed "Symbol" ord-carrier gate

Dissolve-on added. trait_derive_emit_symbol_ord_carrier_dissolve_on documents interim authored_name_at == "Symbol" pending grounding on target_model.symbol_kernel_type_node.

Cleanup

Removed dead rust_struct_derives_text / rust_enum_derives_text (+ _copy variants) from src/v1/05_emit_rust.dag — no call sites remained after v1_emit_*_derives wiring. Stage0 regen included.

— sent from silent-badger-23

Brian Searls and others added 11 commits July 25, 2026 04:54
CI build failed fmt --check after removing unused derive imports.

Co-authored-by: Cursor <cursoragent@cursor.com>
v1_repr_grounding_derive_elem_shape_from_coproduct_children only
returns NullaryEnumCopy or PayloadCoproduct; Unknown and wildcard
arms were unreachable (review 42492 nit).

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

Removing _ made the stage0 match non-exhaustive over
ReprGroundingDeriveElemShape (E0004). Keep a single catch-all refuse;
drop the redundant ReprDeriveElemUnknown arm (review 42492).

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

Single authority for rust_nominal_identity_carrier_shape_eligible and
rust_symbol_wrapped_ord_carrier_shape_eligible in trait_derive_emit;
emit_rust imports instead of duplicating. Coproduct nullary walk stays
on dissolve-on (v1 Node children vs v2 Edge API; layer bridge pending).

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Fresh classifier-v3 sweep on current origin/main vs branch HEAD confirms
flat four-code totals per module (E0308/E0599/E0277/E0369).

Co-authored-by: Cursor <cursoragent@cursor.com>
@briansrls
briansrls merged commit f9c30b4 into main Jul 25, 2026
5 checks passed
@briansrls
briansrls deleted the session/silent-badger-23 branch July 25, 2026 15:52
briansrls added a commit that referenced this pull request Jul 25, 2026
… seed files still on native v1_rt::Witness; will regen to close the skew
briansrls added a commit that referenced this pull request Jul 25, 2026
…rde) for repr grounding (#7224)

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Fix trait-derive witness parse errors blocking CI regen.

The .dag parser rejects test bodies that start with unary `!` or use
multiline `==` on enum variants; rewrite comparisons via match helpers
and `== false` so heal_generated_artifacts and regen can parse the module.

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

* Address review 42213: delete shadow nullary helpers, single elem-shape path.

Remove dead rust_coproduct_* nullary predicates now superseded by
repr_grounding_coproduct_all_variants_nullary, and drop the content_hash
prefix in repr_grounding_derive_elem_shape so kernel identity is answered
once via atom symbols.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Fix trait_derive witness tests after std authority split.

Remove stale record_derive_traits import and align test calls with derive_trait parameter name so predicate witnesses execute green.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Move Rust derive spellings from std to extdeps.languages.rust.emit.

Addresses review 42322 layer-inversion note: target-agnostic trait-shape
table stays in std.trait_derive_shape; rust_trait_derive_spelling and
rust_trait_derive_attr_from_traits live beside existing rust_struct_derives
rows. Regen updates stage0 emit + trait_derive modules.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Derive rust_trait_derive_attr_from_traits via spelling table map/join.

Single authority for per-trait Rust spellings (review 42331): attr string
is Debug + traits |> map(rust_trait_derive_spelling) |> join.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Thread v1 trait-derive shape through structure classifiers.

Replace hard-coded ReprGroundingDeriveElemShape literals in predicate
calls with classifiers over coproduct children and ord-carrier structure;
drop tautological KernelInt+Clone gate on generic clone bounds (structural
check is the honest authority for type-param bounds).

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Fix ord-carrier struct derives: omit Copy for Symbol wrappers.

Add ReprDeriveElemSymbolWrappedOrdCarrier + symbol_wrapped_ord_carrier_derive_traits
(matching rust_ord_derives_text: Ord without Copy). Witness proves nullary copy
traits are rejected for that shape.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Fix emit witness tests for Outcome coproduct derive bindings.

Review 42427: unwrap Accepted arms in decl_emit and std_logic fixtures
after rust_trait_derive_surface_binding_for_coproduct returns Outcome.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Hard-fail coproduct derive binding refusal in emit test harnesses.

Review 42434: replace Rejected => copy-binding absorbing fallback with
refused sentinel bindings plus explicit non-Disj rejection witnesses.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Drop unused imports from trait_derive_completeness.dag.

Review 42440 nit: remove fold_list, ReprDeriveCopy/Serialize/Add, and
unused trait-list imports not referenced by the module body.

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

* Fix trait_derive witness imports: derive traits live in std.trait_derive_shape.

The predicate test imported ReprDeriveAdd/Clone/Ord/Serialize from
v2.compiler.trait_derive_completeness, which does not re-export them;
CI batch 3 failed at resolve time.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Address review 42471: authority-derived derive attrs, dissolve-on scaffolds.

- rust_struct/enum_derives* constants now project std.trait_derive_shape
  trait lists through rust_trait_derive_attr_from_traits (no parallel literals)
- Remove dead rust_*_derives_text helpers from v1 emit
- Route fn-field structs through fn_field_derive_traits + attr builder
- Add dissolve-on notes for v1 coproduct walk and Symbol ord-carrier gate
- Regen stage0 for emit/trait_derive modules

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

* Fix cargo fmt on v1_compiler_emit_rust import block.

CI build failed fmt --check after removing unused derive imports.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Drop dead match arms in v1_emit_enum_derives.

v1_repr_grounding_derive_elem_shape_from_coproduct_children only
returns NullaryEnumCopy or PayloadCoproduct; Unknown and wildcard
arms were unreachable (review 42492 nit).

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

* Restore wildcard refuse arm in v1_emit_enum_derives for Rust exhaustiveness.

Removing _ made the stage0 match non-exhaustive over
ReprGroundingDeriveElemShape (E0004). Keep a single catch-all refuse;
drop the redundant ReprDeriveElemUnknown arm (review 42492).

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* Consolidate Symbol ord-carrier shape onto trait_derive_emit (review 42525).

Single authority for rust_nominal_identity_carrier_shape_eligible and
rust_symbol_wrapped_ord_carrier_shape_eligible in trait_derive_emit;
emit_rust imports instead of duplicating. Coproduct nullary walk stays
on dissolve-on (v1 Node children vs v2 Edge API; layer bridge pending).

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

* Fix cargo fmt on v1_compiler_trait_derive_emit long if condition.

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

* Attach canonical-seven no-regression receipt for #7174 foundation merge.

Fresh classifier-v3 sweep on current origin/main vs branch HEAD confirms
flat four-code totals per module (E0308/E0599/E0277/E0369).

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* fix(emit): qualify Magnitude and impl PartialEq<i64> on CommutativeSemiring

CI build failed with E0425 (bare Magnitude) and E0117 (orphan PartialEq
on Rc). Emit supplemental impls on the local type and regen stage0.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* test(emit): witness supplemental impls through v1 seed emit path

Route binding tests through v1_emit_struct/enum_supplemental_impls so
module_path gating and fail-closed stub bodies are exercised on the
emitter path, not only the extdeps spelling template.

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

* fix(test): drop v1 import from trait_derive seed emit witness

v2 claim closure cannot resolve v1.compiler.trait_derive_emit (CI
resolve failure). Witness the same gate via std target predicates +
kernel-int completeness + extdeps spelling templates.

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

* WIP: E0308 sub-wall 2: trait-derive completeness predicate (Clone/arith/serde

* regen(stage0): Bool supplemental gate + PartialEq<i64> dissolve note

Stage0 projection for review 42758: enum arm gates on nullary
completeness predicate; arm-b dissolve-on names dropping PartialEq<i64>
cross-rep bridge at #7197.

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

---------

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