Repository navigation
Route-A: reconcile seed-green branch + emit-fresh cargo-green witness - #6073
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>
…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>
… regressions The branch had accidentally reverted #6045 record serialization and related witnesses during prior main merges. Restore the main-line authorities so the emitter/seed-green-integration branch tracks current main for Route-A closure. Co-authored-by: Cursor <cursoragent@cursor.com>
Reconcile emitter/seed-green-integration with main and land an ignored-by-default test that assembles the faithful --emit-fresh crate and proves debug+release cargo build succeed (0 rustc errors). Closes the Route-A last-mile receipt loop alongside the existing regen --verify CI gate. Co-authored-by: Cursor <cursoragent@cursor.com>
gunbc_ci_floor_spawn_width_for_budget(0) returned the blind conservative fallback (4) while witness_floor_spawn_width_zero_budget_falls_back expected min(4, execution_corpus_spawn_width()) = 3. Apply the same int_min at the authority site and update the envelope witness to match. Co-authored-by: Cursor <cursoragent@cursor.com>
briansrls
added a commit
that referenced
this pull request
Jul 1, 2026
…ority. Merge origin/main picked up #6073 int_min in gunbc_ci_floor_spawn_width_for_budget(0); witness_floor_spawn_width_zero_budget_falls_back must match (same as envelope witness). Co-authored-by: Cursor <cursoragent@cursor.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Jul 1, 2026
Per operator directive: white-box/tautological witnesses do not belong in the codebase. These four re-computed the implementation and asserted it equals itself (testing nothing), and kept flip-flopping main red<->green as unrelated PRs shifted the live execution-corpus width: - witness_floor_spawn_width_zero_budget_falls_back — after #6073 moved the int_min(fallback, exec) clamp into gunbc_ci_floor_spawn_width_for_budget, this asserted fallback == int_min(fallback, exec) ≡ fallback <= exec, a fragile corpus-coupled property and the current MAIN-RED on this witness. - witness_floor_unreadable_budget_uses_conservative_envelope — envelope built from the same for_budget path: int_min(...) == int_min(...) tautology. - witness_plan_spawn_width_is_floor_width_at_runner_cap — plan_spawn_width is a thin wrapper over for_budget: for_budget(cap) == for_budget(cap) tautology. - witness_execution_corpus_spawn_width_at_runner_cap — white-box magic pin (execution_corpus_spawn_width() == 3); breaks on any corpus-size change. Genuine behavioral witnesses (tight-budget backoff inequality, memory-fit, headroom) are kept. Verified by execution: ci_floor_run_envelope_witnesses, ci_floor_spawn_width_live_budget_witnesses, ci_floor_honest_width_fold_witnesses all PASS. (The #6078 unwired-model lens, the other main-red, was reverted separately in #6085.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
gunbai-bot Bot
pushed a commit
that referenced
this pull request
Jul 1, 2026
Per operator directive: white-box/tautological witnesses do not belong in the codebase. These four re-computed the implementation and asserted it equals itself (testing nothing), and kept flip-flopping main red<->green as unrelated PRs shifted the live execution-corpus width: - witness_floor_spawn_width_zero_budget_falls_back — after #6073 moved the int_min(fallback, exec) clamp into gunbc_ci_floor_spawn_width_for_budget, this asserted fallback == int_min(fallback, exec) ≡ fallback <= exec, a fragile corpus-coupled property and the current MAIN-RED on this witness. - witness_floor_unreadable_budget_uses_conservative_envelope — envelope built from the same for_budget path: int_min(...) == int_min(...) tautology. - witness_plan_spawn_width_is_floor_width_at_runner_cap — plan_spawn_width is a thin wrapper over for_budget: for_budget(cap) == for_budget(cap) tautology. - witness_execution_corpus_spawn_width_at_runner_cap — white-box magic pin (execution_corpus_spawn_width() == 3); breaks on any corpus-size change. Genuine behavioral witnesses (tight-budget backoff inequality, memory-fit, headroom) are kept. Verified by execution: ci_floor_run_envelope_witnesses, ci_floor_spawn_width_live_budget_witnesses, ci_floor_honest_width_fold_witnesses all PASS. (The #6078 unwired-model lens, the other main-red, was reverted separately in #6085.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
added a commit
that referenced
this pull request
Jul 1, 2026
…ses, and Phase 2 credential design (#6066) * Model operator Tailscale ACL as cited extdeps authority with emit and faithfulness witnesses. Phase 1 lands extdeps/tailscale/acl.dag (security spine invariants, cutover-transient 100.65.94.55), JSON emit, hujson+json golden fixtures, and fail-closed witnesses; host_standup P0 now cites ACL authority while credential upsert remains Phase 2. Co-authored-by: Cursor <cursoragent@cursor.com> * Design Phase 2 Tailscale ACL credential as operator user-principal Secret Accessor. Models tailscale-acl-api-key in gunbai-secrets with roles/secretmanager.secretAccessor granted only to user:briansrls@gmail.com via local ADC (explicitly not repo-scoped WIF); acl_api upsert shape and diff-gate are DESIGN_ONLY pending operator sign-off before any wet write. Co-authored-by: Cursor <cursoragent@cursor.com> * Refine Phase 2 ACL credential as operator-dispensed 1hr ephemeral token. Secret Manager JIT reference (tailscale-acl-ephemeral-token) or runtime injection; fail-closed on absent/expired; upsert wet shape is diff-print-only pending operator sign-off. Co-authored-by: Cursor <cursoragent@cursor.com> * Mark tailscale_acl_emit as scaffolded medium-as-string with roster dissolution trigger. Addresses review: on-carrier Scaffold bind to to_json plus medium_structure_exception_roster entry and witness for explicit dissolve-on path before wet upsert lands. Co-authored-by: Cursor <cursoragent@cursor.com> * Replace tautological Phase 2 credential witnesses with structural binding checks. operator_bindings_admit_repo_scoped_wif/admit_bmc_assimilator_sa scan binding members (perturbation witness reddens on WIF/SA poison); drop literal false/AdcRefresh-match launders. Co-authored-by: Cursor <cursoragent@cursor.com> * Remove unused GCP credential flow imports from Phase 2 design module. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Continuous deployment pipeline: on push-to-main (gated on floor green), * Integrate Phase 2 ACL credential through gunbc/auth patterns authority. Composes tailscale_acl_operator_ephemeral_credential from gcp_oauth_access_token(AdcRefresh) + optional_impersonation(3600s) + gcp_secret_credential; keeps ACL upsert-gate delta and IAM contrast witnesses; DESIGN_ONLY scaffold held. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Continuous deployment pipeline: on push-to-main (gated on floor green), * Align host_standup P0 gap ledger with partial ACL modeling. P0 interim_realization and gap_ledger now agree on dag authorities plus remaining ctrl interim; spine witness accepts partial gaps citing extdeps/gunbc modules instead of requiring lib/ ctrl paths only. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Continuous deployment pipeline: on push-to-main (gated on floor green), * Remove dead GcpBinding helper and fix shell.Env resolve. Drop unused operator_secret_accessor_binding (witnesses use SecretAccessBinding rows). Alias extdeps.shell in auth/patterns to avoid shell transport shadowing shell.Env during discovery resolve. Co-authored-by: Cursor <cursoragent@cursor.com> * WIP: Continuous deployment pipeline: on push-to-main (gated on floor green), * WIP: Continuous deployment pipeline: on push-to-main (gated on floor green), * Fix discovery resolve for github_oidc env reads. Add gunbc.auth.oidc_env.read_env_value (no uses net) so github_oidc does not call shell.Env inside a func with uses net, and avoid importing from extdeps.shell.credentials where module-path shell shadows the extdeps.shell service namespace on full-module resolve. Co-authored-by: Cursor <cursoragent@cursor.com> * Split optional_impersonation to fix phase2 discovery resolve. Extract gunbc.auth.optional_impersonation so Phase 2 credential design witnesses do not transitively resolve gunbc.auth.patterns (github_oidc shell.Env shadow under uses net). Update DeclarationRef module paths. Co-authored-by: Cursor <cursoragent@cursor.com> * Remove unused TAILNET_PLACEHOLDER from Phase 2 design module. Dead data with no consumers — tailnet binding lands with acl_api wet upsert scaffold, not a silent NonEmptyStr placeholder. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(tailscale-acl): exhaustive AclUpsertGate match for non_fold residue * fix(ci-floor): zero-budget spawn width uses conservative fallback only. #6079 updated witness_floor_spawn_width_zero_budget_falls_back but left gunbc_ci_floor_spawn_width_for_budget on int_min(fallback, exec_corpus). With execution_corpus_spawn_width=3 and fallback=4, plan_spawn_width(0) returned 3 while the witness expected 4. Align implementation and the unreadable-budget envelope witness with the stable fallback invariant. Co-authored-by: Cursor <cursoragent@cursor.com> * Revert "fix(ci-floor): zero-budget spawn width uses conservative fallback only." This reverts commit 19f1da9. * fix(ci-floor): delete white-box/tautological spawn-width witnesses Per operator directive: white-box/tautological witnesses do not belong in the codebase. These four re-computed the implementation and asserted it equals itself (testing nothing), and kept flip-flopping main red<->green as unrelated PRs shifted the live execution-corpus width: - witness_floor_spawn_width_zero_budget_falls_back — after #6073 moved the int_min(fallback, exec) clamp into gunbc_ci_floor_spawn_width_for_budget, this asserted fallback == int_min(fallback, exec) ≡ fallback <= exec, a fragile corpus-coupled property and the current MAIN-RED on this witness. - witness_floor_unreadable_budget_uses_conservative_envelope — envelope built from the same for_budget path: int_min(...) == int_min(...) tautology. - witness_plan_spawn_width_is_floor_width_at_runner_cap — plan_spawn_width is a thin wrapper over for_budget: for_budget(cap) == for_budget(cap) tautology. - witness_execution_corpus_spawn_width_at_runner_cap — white-box magic pin (execution_corpus_spawn_width() == 3); breaks on any corpus-size change. Genuine behavioral witnesses (tight-budget backoff inequality, memory-fit, headroom) are kept. Verified by execution: ci_floor_run_envelope_witnesses, ci_floor_spawn_width_live_budget_witnesses, ci_floor_honest_width_fold_witnesses all PASS. (The #6078 unwired-model lens, the other main-red, was reverted separately in #6085.) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
briansrls
pushed a commit
that referenced
this pull request
Jul 1, 2026
…6087) Per operator directive: white-box/tautological witnesses do not belong in the codebase. These four re-computed the implementation and asserted it equals itself (testing nothing), and kept flip-flopping main red<->green as unrelated PRs shifted the live execution-corpus width: - witness_floor_spawn_width_zero_budget_falls_back — after #6073 moved the int_min(fallback, exec) clamp into gunbc_ci_floor_spawn_width_for_budget, this asserted fallback == int_min(fallback, exec) ≡ fallback <= exec, a fragile corpus-coupled property and the current MAIN-RED on this witness. - witness_floor_unreadable_budget_uses_conservative_envelope — envelope built from the same for_budget path: int_min(...) == int_min(...) tautology. - witness_plan_spawn_width_is_floor_width_at_runner_cap — plan_spawn_width is a thin wrapper over for_budget: for_budget(cap) == for_budget(cap) tautology. - witness_execution_corpus_spawn_width_at_runner_cap — white-box magic pin (execution_corpus_spawn_width() == 3); breaks on any corpus-size change. Genuine behavioral witnesses (tight-budget backoff inequality, memory-fit, headroom) are kept. Verified by execution: ci_floor_run_envelope_witnesses, ci_floor_spawn_width_live_budget_witnesses, ci_floor_honest_width_fold_witnesses all PASS. (The #6078 unwired-model lens, the other main-red, was reverted separately in #6085.) Co-authored-by: Brian Searls <briansearls1@gmail.com> 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
Closes the
emitter/seed-green-integrationbranch for Route-A (Section 5 self-host):#6045record serialization during prior main merges; restored main-line authorities and merged latestmain.route_a_emit_fresh_cargo_green_test::emit_fresh_crate_cargo_builds_greenassembles the faithfulregen_stage0 --emit-freshcrate and provescargo buildsucceeds in debug and release (0 rustc errors). This complements the existingregen --verifyCI gate, which only proves byte-identical seed, not rustc-green.route_a_final_six_test.rs(the 0-E0308 milestone comment still claimed ~32 other-family errors remained).Route-A cargo-green itself landed on main via #5777/#5873; this PR lands the branch closure receipt and the discriminating witness.
Test plan
cargo test -p v1-compiler-tests route_a_final_six— 6 passedcargo test -p v1-compiler-tests route_a_emit_fresh -- --list— test registeredcargo test -p v1-compiler-tests emit_fresh_crate_cargo_builds_green -- --ignored— passed (~204s)cargo run -p v1-compiler --release --bin regen_stage0 -- --emit-fresh target/emit-fresh-pr --verify— committed seed matches fresh self-compile