Repository navigation
Lane A E0308 re-baseline (Route-A last mile): CONTINUE emitter/seed-green-integration (do NOT start fresh). Assemble the REAL crate — emitted seed closure + the ~20 hand-written periphery modules (v1_interpreter/cli_run/v1_rt/lens kernel) — cargo-build it, and produce a CATEGORIZED E0308 count by va - #5705
Merged
Merged
Conversation
…MachineWidth (05_emit)
…ols (empty_intern_table, InductiveField, is_bare_leaf_item, SemVerConstraint) — clears E0425 from peeled/turbofish types not in source import set
…d-injection patch (clears E0433 x6 in bootstrap)
…ch (option d, container analogue of String/Nat) — guarded, List-only, at the 2 preserve-nominal sites; clears E0425/E0432 for newly-enrolled std files (realization_schedule Schedule, std_types list_length). v2-target faithful FreeMonoid untouched.
…s at the bare-nominal alias-RHS branch so Int/Nat as a generic ARG (Measure<...,Int>) lowers to i64 in the seed, consistent with the type Int = i64 alias def — clears the std_measure Int E0425
…r conflicts) Resolved 4 conflicts in src/v1/05_emit_rust.dag and 1 in width_nat_type_arg_test.rs: - render_rust_applied_type: keep branch's rust_seed_host_container_base (List->host Vec) - rust_phantom_marker_inner: take main's join() simplification (equivalent, supersedes Optional-peel) - emit_rust_expr_record_lit: take main's peeled_type_name refactor (branch lines were superseded duplicates) - phantom-field comment: take main's wording (matches the refactor) - machine_width test: keep active (un-ignore) — this branch carries the #5325 emitter fix the ignore waited on Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The test runs compile_sources against the in-process lib (committed stage0 seed), whose emit_rust.rs does not yet carry this branch's .dag peel fix (branch updated 05_emit_rust.dag only, not the committed seed mirror). So it must stay #[ignore]d until the seed regen lands (Track A step 3 / 2-stage bootstrap). Reverts an over-eager un-ignore from the main merge. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…g/metering) So `gunbc run` can interpret the live .dag compile/emit fold (compile_sources) WITHOUT regenerating the seed mirror — making a .dag emitter fix verifiable BY INTERPRETATION (DESIGN §5 green-by-execution, §7 self-host). Additive only (fills previously-erroring builtin cases; cannot regress existing behavior). Proven by execution: the interpreter now resolves the source closure and runs the full lexer (tokenize) over a probe source, advancing into parse/resolve. Remaining gaps are deeper interpreter semantics (e.g. raw_map_lookup on a plain Record), not missing builtins. - chars(s) -> List<Int>: code points (matches languages.dag emit template + lexer source_chars: List<Int>), method dispatch. - chars_to_string(List<Int>, start, end) -> String: code-point slice -> token text, free-fn dispatch. - record_source_chars_index_lookup(): no-op unit metering stub. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bounded spike (parent-approved) toward running the emit fold by interpretation.
Both additive / non-regressing (fill previously-erroring cases):
- raw_map_lookup: a Record without a callable `lookup` field is now treated as a
record-form map (key looked up as a field name; miss -> Null -> Violates via the
existing Witness bridge). Unblocks `data x: Map<K,V> = { ... }` literals, which
the interpreter builds as Records. (Deeper root: literals are never built as
type-directed Maps; this handles it at the consumption site.)
- list_push: dedicated method-dispatch arm (was free-fn only). Pushes the arg as
a single element, unlike concat/append/push which merge a list-valued arg.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…59-2e3 The HAND-APPLIED-REGEN-MIRROR-SYNC mark previously pointed at snappy-swift-91 / #5325 (done-but-re-drifted, unreachable). The live dissolution lane is bright-stag's adhoc-1bdd0259-2e3: re-repair the 18-error regen-fixpoint hole + add a regen-equals-committed CI drift-gate so a main-merge can never silently re-drift the fixpoint. Comment-only; the panic! splice (code) is unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The compile_error! -> panic! mirror splice shortened the string literal, so rustfmt joins it onto one line (the original was split for the longer compile_error! form). Hand-edit fmt-drift; cargo fmt --all applied. No code change -- the splice is identical, only formatting. Restores rust_monolith_gate fmt --all --check green on #5481. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…dag-only) Foundational half of the class-3 corpus-representation-coherence fix (the realization-layer handler-selection root behind the 26 List + 15 generic-syntax census errors). Adds the named selector RustCorpusRepr = HostNative | FaithfulFreeMonoid (04_emit_info.dag, auto-committed) and computes it ONCE as the single authority in build_emit_graph_info (rust_corpus_repr over the whole module corpus), threading it as the corpus_repr field through all 7 EmitGraphInfo construction sites (each COPIES the field, never recomputes — quick-seal's field=authority/param=read invariant). INERT checkpoint: the type-renderer leaf gates still read the old per-module rust_corpus_includes_v1_compiler/rust_emit_faithful_text_carrier, so emitted output is byte-unchanged. Typechecks clean via the existing binary (0 diagnostics, 410 files emitted). The gate-switch + ~15-fn corpus_repr threading + leaf-fn param swap + dead-gate deletion + exact mirror transcription land in the next pass, then the full-loop census oracle. Realization-layer coherence fix, not a model change (List<e>=FreeMonoid<e> at std/types.dag:227 untouched). Carrier B-home, idiom-threaded (per quick-seal). adhoc-1bdd0259-2e3 dissolution lane. #5481. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…emitted rust cra" This reverts commit aeb61f6.
…emitted rust cra" This reverts commit 6cf05a7.
…ough emitter (class-3 representation-coherence) Realization-layer-not-model-change: replaces the per-module host-vs-faithful gate (rust_emit_faithful_text_carrier(source_indices)) with a single corpus-global RustCorpusRepr (computed once in rust_corpus_repr, stored on EmitGraphInfo.corpus_repr), threaded as the corpus_repr selector to every renderer/emitter/seam site. Deletes the old per-module gate fns (§5 single-authority: divergence was writable). §6-transitional: collapses to HostNative when src/v1 is deleted. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…ass-3 logic The auto-committed regen'd seed pulled in pre-existing .dag<->seed drift (the extdeps.cargo_version import wiring + faithful-emitted orphan modules) that breaks the v1-compiler build — that drift is the regen-lockstep capstone's domain, not class-3. The class-3 representation-coherence work stays fully in the .dag source; the seed regen lands via the regen-lockstep lane once a class-3 gunbc emits the bundled extdeps modules host-mode. Seed .rs reverted to the committed fixpoint so CI's rust gate is green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…gain) Local class-3 verification re-ran the regen in the working tree, which the harness auto-committed and re-broke the seed build. Seed reverted to the committed fixpoint; class-3 logic remains entirely in the .dag source. Seed regen is the regen-lockstep lane's deliverable. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…deleted → FaithfulFreeMonoid, not HostNative) quick-seal by-execution review: 05_emit_rust.dag:221 stated the dissolution collapse backwards. src/v1 deleted → no seed → has_seed=false → FaithfulFreeMonoid (the pure-v2 faithful target), matching 04_infer.dag:6395 and the §6 ruling. Comment-only; the code (04_infer.dag else-branch) was already correct. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
HAND-SYNCED MIRROR, not a regen fixpoint. Splice the three class-3 emitter files (v1_compiler_emit_rust.rs, v1_compiler_infer.rs, v1_compiler_infer_emit_info.rs) from a faithful regen of the class-3 .dag onto the committed seed; every other module stays byte-identical to committed. Two local drifts hand-resolved: - cargo header inlined in emit_rust so it does not import the deliberately-unwired extdeps_cargo_version orphan (byte-identical to committed emit); - wire policy passed by value (Rc clone) at wire_value_serialize.rs to match the class-3 by-value policy_* signatures. The std-tower orphans (std_measure / std_algebra / std_realization_schedule / std_machine_constraints / std_integer / extdeps_version_semver / extdeps_cargo_version) stay UNWIRED exactly as on main. A faithful full regen would wire them and surface the deferred ~150-gap emitter-completeness lane (regen-fixpoint emitter-self-host); that lane is NOT closed here and `regen_stage0 --verify` is expected to differ. Carrier mark recorded in regen_stage0.rs + the 3 spliced file headers (self-contained; breadcrumb node://adhoc-80af9ff8-40f). Validated in scratch: cargo build -p v1-compiler --release --features text_lookup_work_counter --bins = 0 errors / 0 warnings (all 5 bins); cargo fmt --all --check clean. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…veat Comment-only. Append quick-seal's verbatim invariance line to all four carrier marks (regen_stage0.rs registry + the 3 spliced file headers): the class-3 host-vs-faithful selection is representation-invariant on the v1-bundled host seed at this tip (CONTROL B gate-isolated revert builds green; CONTROL A errors are the wire policy confound, not representation), so the selection's behavioral discriminating-proof is OWED by the deferred faithful target where the selection actually fires. Keeps the HAND-SYNCED-MIRROR / not-regen-fixpoint / deferred-~150-lane mark intact. Still cargo-green (0 errors/0 warnings, all 5 bins; fmt --all --check clean). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Assemble the REAL Route-A crate (emitted seed closure + 22 hand-written periphery modules) via a new non-destructive `regen_stage0 --emit-fresh <dir>` mode and cargo-build it to measure the latent emitter-completeness gaps the committed hand-synced seed hides (std-tower modules unwired in lib.rs). Result: 73 total errors, 38 E0308 -- the carrier-mark "~150 gaps" estimate was stale by ~4x. The 38 E0308 reduce to two emitter root causes (89%): A (24+1) map-literal `&str` keys not coerced to String -> HashMap<&str,V> B (10) missing Box/Rc/Option auto-wrap coercion C (3) scalar &str/String Non-E0308 residue (measure-tower E0560, unwired-periphery E0433) categorized separately with an honest masking caveat. Baseline + reproducer in docs/plans/e0308-rebaseline-route-a.md. Also: --emit-fresh adds im-rc to the assembled Cargo.toml (mirrors committed stage0 deps) so the hand-written v1_interpreter resolves -- removes a spurious E0432 confound from the measurement. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ility orphan gate) The categorized baseline as a standalone docs/plans/*.md file is an orphan doc (nothing in the roadmap_authority/design_document doc graph links it), which reds both the .dag doc_reachability witness and the rust live_tree_has_no_orphan_docs test -- the 2 failing CI checks. Per DESIGN §6 (no parallel-ledger docs), the measurement findings + verified reproducer now live in the PR body / lane node; the committed change is just the reusable apparatus (--emit-fresh harness mode + im-rc Cargo patch). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per claude-opus-4-7 review: the prior guard early-returned on `ureq` presence, so a future emitted Cargo.toml carrying ureq-but-not-im-rc would skip im-rc. Add each dep presence-gated and idempotently instead. No-op today (emit produces neither dep); robustness for future re-baselines. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jun 24, 2026
…sedes stale ~12,600) (#5713) * ROADMAP §5: Lane A cargo-green re-baseline (execution-grounded, supersedes stale ~12,600) deep-wolf (#5705) assembled the real emitted crate (108 modules + 22 periphery) and cargo-built it: 73 errors / 38 E0308, where 38 is a LOWER BOUND (8 E0433 wiring failures mask further E0308). 89% of E0308 = two emitter root causes (Family A map-key to_string = 66% from one fix; Family B Box/Rc/Option auto-wrap), not the stale ~12,600 / ~150-latent estimate (~4x over). Enriches the bare §5 `5-cargo-green` Route-A-last-mile item with the grounded shape + the pole (Family A → B) + the §5 honesty bound: unmask E0433 early so the true ceiling surfaces; "done" is a re-measure-after-unmask, not 38→0. ROADMAP.md regenerated (drift-gate green). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * WIP: ROADMAP planning * ROADMAP §5: re-measure-after-unmask — true E0308 ceiling 647 (38 was E0433-masked), pole moved to first-Option family (633/647); Family A cleared by #5714 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ROADMAP §5: correct root cause by execution — pole is Optional-on-String-carrier RENDERING (638), faithful-rendering fix 647→9 (#5716); refutes the pipe-first-unwrap premise; residual 9 = out-of-scope tail + 3 model-hole consumers Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ROADMAP §5: pin Route-A tail — pole CLEARED 647→9→6 (#5716 faithful rendering + 3 fail-closed unwraps); residual 6 all pre-existing out-of-scope, separately owned Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * ROADMAP §5: reframe finish-line — 0 E0308 is a MILESTONE not cargo-green; full build shows 32 other pre-existing errors (measure-tower 19 dominant, gated); done = 0 TOTAL errors Refutes the '0 E0308 = done' pin by full-cargo execution (deep-wolf). Measure full-cargo, never a grep of one error family. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansrls@gunb.ai> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
E0308 re-baseline for the Route-A last mile. Assembles the REAL faithful emitted
seed crate — the emitted seed closure (108 modules) + the 22 hand-written periphery
modules (
v1_interpreter/cli_run/v1_rt/lens-kernel project modules) — andcargo-builds it to measure the latent emitter-completeness gaps that the committed
hand-synced seed hides (it deliberately leaves the std-tower modules unwired in
lib.rs). Produces a categorized E0308 count by variety — the input the carrier-markdissolution trigger (
node://adhoc-80af9ff8-40f) was waiting on.Per DESIGN §6 (no parallel-ledger docs), the categorized baseline lives in this PR body /
lane node, not in a revived
docs/file. The committed change is the reusableapparatus: a non-destructive harness mode + a verified reproducer.
Result — the "~150 gaps" estimate was stale by ~4×
RUSTC_WRAPPER="" cargo build --libon the assembled crate: 73 total errors, 38E0308. The 38 reduce to two emitter root causes covering 89%:&strkey&strliterals (__m.insert("true", …)) without.to_string(); values do get.to_string(), so the map infersHashMap<&str, V>vs the declaredHashMap<String, V>Box<String>↔String(7),Rc<X>vsOption<Rc<X>>missingSome()(3)&str/String.to_string()in scalar positionWorst files:
v1_compiler_stage0_crates.rs(6),std_types.rs(5),extdeps_languages_dag_syntax.rs(4).Non-E0308 residue (the other 35) — distinct classes, separately owned
Rc<Measure<Q,U,i64>> has no field count)std_measure.rsinert_carrier_project/non_fold_residue_projectnot declared in emittedlib.rs— regen patch-list stale vs the 3 newestHAND_MAINTAINEDmodules)v1_interpreter.rsv1_rt::utf8_decode_bytes,SemVerConstraint)extdeps_cargo.rs, …std_realization_schedule/std_machine_constraints/std_types/std_terminationHonesty caveat (§5): the 38 is a lower bound.
E0433(8) andE0425(5) areresolution failures —
rustcaborts type-checking in those regions, so they mask anunknown count of further
E0308. Families A and B are independent of those regions andare the trustworthy, actionable core. (One confound was removed for this measurement: the
emitted
Cargo.tomlomittedim-rc, used by hand-writtenv1_interpreter→ 2 spuriousE0432; the harness now adds it, mirroring the committed stage0 deps.)Changes (the apparatus)
regen_stage0.rs: additive, opt-in--emit-fresh <dir>— runs the normal regenassembly phases (emit closure → copy periphery → patches → rustfmt) into a caller-named
dir and stops (no copy-back, no temp cleanup). The committed seed is never mutated.
write/--verifybehaviour is untouched. Also addsim-rcto the assembledCargo.toml.Reproduce
Implication for the regen-fixpoint lane
E0308-to-green is not 150 independent gaps — it is two emitter root causes(map-literal key coercion; Box/Rc/Option auto-wrap) covering 34/38, plus a small scalar
arm. The remaining green work splits into separately-owned classes: the measure-tower
generic emission (12
E0560+ residue) and regen-harness wiring (8E0433).Test plan
cargo build -p v1-compiler --bin regen_stage0— green;cargo clippy … -D warnings— green../target/debug/regen_stage0 --emit-fresh <dir>— assembles 108 emitted + 22 periphery;verified the emitted
lib.rswires the full std-tower (committed wires onlystd_algebra).RUSTC_WRAPPER="" cargo build --libin<dir>— 73 errors / 38 E0308; thejqpipelineabove reproduces the per-family pair counts (sums to 38).
.dagauthority or load-bearing pipeline stage modified; measurement + non-destructiveharness only. No
docs/file added (avoids the doc-reachability orphan gate).