Repository navigation
Migrate generated ci.yml to a thin-shim calling a .dag binary via emit(intent,Bash) [gap C] - #5819
Conversation
Add 4 Rust teeth tests for verify_build_artifacts (DESIGN §5 fail-open guard: zero-byte/missing/empty-arglist fail closed, real bins pass). Bundle pre-existing whole-tree fmt drift in cli_run.rs so the conditional rust fmt gate goes green on this .rs-touching PR. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ci_spec.ci_floor_build_verify_script now emits a thin shim invoking claim_executor --verify-build-artifacts <bins> instead of inline [ -x ]/[ -s ] shell per artifact. The §5 fail-closed verification logic (absent/zero-byte/not-executable -> loud error, exit 1) lives in the binary with Rust teeth. ci.yml regenerated (both jobs); coupled witnesses updated to assert the shim invocation. Sidecar import stays live via ci_release_artifact path; gunbc §0 roster entries untouched (tier iii held). Verified by execution: build_artifact_verification_holds=true, ci_spec_witnesses=true, generated-artifact drift gate=ExitSuccess. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
CI triage — the failing ci job is pre-existing main breakage, not introduced by this PR. The ci job fails on two tree-wide discovery witnesses: doc_graph_has_no_orphan_docs and medium_structure_clean_tree_holds. Both return Bool(false) on a clean origin/main checkout as well, and the medium-structure leak count is identical (1) on origin/main and on this branch — so tier (ii) adds zero new leaks/orphans. main's own CI has been failing on every recent push (e039892, e789f34, etc.), confirming a systemic main red from the recent merge wave. This PR's own surface is green by execution: rust_tests passes, the generated-artifact drift gate passes, the build-artifact verification teeth pass, and the updated witnesses (build_artifact_verification_holds, ci_spec_witnesses) are true. I'm not bundling the orphan-doc / medium-leak fix here — it's unrelated tree-wide debt owned by the main-lockdown lane, and absorbing it into a narrowly-scoped migration would be scope creep. Surfacing to the lane manager for routing. — sent from calm-carp-756 |
|
CI triage: the failing |
|
Thanks for the APPROVE. On the one noted smell — |
…5819) Operator ruled Path B for the #5864 parser seed-cement: v1_compiler_parse.rs moves to HAND_MAINTAINED_STAGE0_FILES (copy-preserved, so #5864's O(N) cursor optimization survives the regen instead of being reverted to the O(N^2) baseline that 02_parse.dag still models). Named dissolution trigger marked on the carrier. Re-regenerated the two-generation cutover against fresh main (incl #5865 casing, #5818 Uri grounding, #5819 ci.yml thin-shim). regen_stage0 --verify exit 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
… into executable RegenVerifyGate (cargo-green self-host fixed point, ONE PR) (#5873) * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * Part B: dissolve parked regen_verify_gate plan into executable RegenVerifyGate Adds RegenVerifyGate to the CI floor (ci_spec type Gate + gunbc_ci_floor_gates), wires all exhaustive Gate matches (ci_floor_plan gate_node/gate_runnable/ gate_is_heavy_resolve/gate_spawns_host_compiler, ci_gates.run_spec_gate, floor_effect_gate_witness). New dsl/tools/regen_verify_{gate,transport}.dag run regen_stage0 --verify (the §7 self-host fixed-point wall) via a new ensure_regen_stage0_built host-prelude helper. Deletes the parked plan, its empty plan_registry_batch_a, the generated required-facts md, and repoints the roadmap carrier. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * Part A: two-generation cutover regen to the cargo-green self-host fixed point Applies #5865's casing fix (05_emit_rust.dag) and runs the 2-pass cutover regen: pass-1 advances the self-host blob + emitter (gen-1 drops v1_rt starts_with/ ends_with/trim, the one-generation-ahead seed-cement), rebuild, pass-2 re-emits them fresh (PascalCase). regen_stage0 --verify now exits 0 (a 3rd pass is byte-identical = THE fixed point). Registers extdeps_uri_path.rs in GENERATED_STAGE0_FILES (the legit unregistered-emit gap). Regenerates ROADMAP.md. Drift checks: cargo-header reproduced via emit_cargo_toml, wire_value_serialize.rs unchanged (hand-maintained, copy-preserved), v1_rt.rs emitted-fresh. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * Path B: parse.rs hand-maintained + re-regen against fresh main (#5818/#5819) Operator ruled Path B for the #5864 parser seed-cement: v1_compiler_parse.rs moves to HAND_MAINTAINED_STAGE0_FILES (copy-preserved, so #5864's O(N) cursor optimization survives the regen instead of being reverted to the O(N^2) baseline that 02_parse.dag still models). Named dissolution trigger marked on the carrier. Re-regenerated the two-generation cutover against fresh main (incl #5865 casing, #5818 Uri grounding, #5819 ci.yml thin-shim). regen_stage0 --verify exit 0. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * Fix stage0_core crate membership + hand-test for the faithful fixed point The full-workspace build (the broadened oracle CI rust_tests uses) exposed two more pre-existing main non-fixed-points that the cutover surfaces: 1. stage0_core E0432/E0433: the faithful regen emits use crate::extdeps_uri / extdeps_external_authority in the extdeps_languages_* modules and use crate::std_realization_schedule/std_decl_ref in std_effects/std_emit_model, but stage0_crates.dag's CoreCrate modules list omitted them. Added the full transitive closure (9 modules: extdeps_external_authority, extdeps_uri, std_decl_ref, std_lens_verdict, std_magnitude, std_measure, std_nat, std_pareto, std_realization_schedule) so stage0_core is closed under crate:: deps. 2. effects.rs (hand-test) imported parse_path_template/PathTemplateParseResult from std_http_path, but #5818 moved them to extdeps_uri_path in the authority (main never regenerated, so its stale seed + test still pointed at std_http_path). Repointed the imports to the fixed-point location. regen_stage0 --verify exit 0; cargo build --workspace --all-targets -D warnings 0/0; parse.rs still byte-identical to origin/main (#5864 preserved). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * Merge origin/main (#5874/#5878/#5880) into cutover branch; seed reset to main (re-regen reconciles), Path-B HAND_MAINTAINED re-applied for main.rs/parse.rs Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * Restore compilable pre-regen interim: all source authoring (reg-2 A1+S5, reg-3, both grounded witnesses, extdeps_uri_path reg) on main seed; regen HELD pending #5878 empty_node_list ruling The faithful regen is blocked: #5878's empty_node_list thread_local singleton is an ungrounded seed-cement (hand-edited into v1_std_core.rs seed, not in any .dag); a regen drops the definition while 2 HAND_MAINTAINED files (parse.rs/dag_collect_support.rs) still call it. Escalated to manager (empty_node_list grounding option + #5878-documented emitter non-determinism vs RegenVerifyGate bit-identity premise). Seed kept = origin/main (compilable) until the ruling. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in * WIP: Two-generation regen cutover + dissolve parked regen_verify_gate plan in --------- Co-authored-by: Brian Searls <briansearls1@gmail.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Auto-opened by session-dashboard for session
calm-carp-756.Pushing to
session/calm-carp-756advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan