Skip to content

CI release-bins: single pack authority + derived fan-out (witness needs still DeclaredFrontier) - #7281

Merged
briansrls merged 24 commits into
mainfrom
session/quick-wolf-56
Jul 27, 2026
Merged

briansrls merged 24 commits into
mainfrom
session/quick-wolf-56

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jul 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Dissolve the hand ci_floor_required_artifact_names list in gunbc.ci_spec: pack membership lives in gunbc.ci_release_bins, and build/pack/verify fan-out folds the derived ci_floor_required_artifact_names() (ci_floor_invoked_bins ∪ witness_declared_release_bins).
  • Construction wall: witness_bin_ensure_built_typed refuses WitnessBinNotEnrolled for an unenrolled bin_name (no mid-floor cold cargo build).
  • Close the measured gap: enroll cssl_assemble and frontier_probe_survey; sync ci.yml / falsifier.yml; fix frontier_probe_survey unused-param under -D warnings.
  • Mark release-build / pack / unpack hand-shell runners with runner-local bash-emit dissolve-on scaffolds.

Scope honesty (not claiming full WitnessBin census)

witness_declared_release_bins remains a DeclaredFrontier hand enrollment list (rostered in gunbc.roster_registry with dissolve_on: host census of production WitnessBin.bin_name literals, non_fold_residue_units_from_module_source shape). This PR does not fire that census — it is the intermediate scaffold: one pack authority, derived fan-out, loud refusal on omit. Census derivation is the named follow-on lane.

Test plan

  • ci_release_bins_witness_test.dag — union derivation + WitnessBinNotEnrolled RED for no_such_witness_bin_zzz
  • CI build packs/verifies the extended bin list
  • Heal green after falsifier.yml sync
  • Floor (ci job) on current head

briansrls and others added 7 commits July 26, 2026 02:22
Enrolling the bin in the CI release pack compiled it for the first time
in CI; drop the unused InterpContext param from value_symbol_name.

Co-authored-by: Cursor <cursoragent@cursor.com>
Heal regenerated this but could not push workflows without App
workflows permission; land the same cssl_assemble + frontier_probe_survey
enrollment the ci.yml emit already carries.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot gunbai-bot Bot changed the title hand maintained lists Derive CI release-bin pack from floor ∪ witness-declared needs Jul 26, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 26, 2026 13:43
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43260 (composer-2.5 REQUEST_CHANGES)

Verified: golden_floor_build_verify_script was frozen at 19 bins ending at resolution_divergence_census, so witness_floor_build_verify_script_byte_identical would red against the extended pack.

Fix (8604320): deleted the hand golden; witness_floor_build_verify_script_matches_pack now asserts ci_floor_build_verify_script() equals claim_executor_verify_artifacts_shell over map(ci_floor_required_artifact_names(), …) and that the script contains cssl_assemble / frontier_probe_survey.

Green by execution: claim_batch --entry src/v2/test/claim/ci_spec_witness_test.dag --functions ci_spec_witnesses --claim-run → PASS ci_spec_witnesses.

— sent from quick-wolf-56

@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43266 (composer-2.5 REQUEST_CHANGES)

Verified: construction_justification used ConstructionJustification / WallAfterGrounding without importing them from v2.lens.common.construction_justification (peer modules do — e.g. compilation_unit.dag).

Fix (f5d33ea): added the explicit import. Left the WallAfterGrounding { dissolves_to: SingleAuthority } row (matches the authority-move shape; not switched to a std.disposition Scaffold).

Green by execution: ci_release_bins_derivation_holds and ci_spec_witnesses both PASS via claim_batch.

— sent from quick-wolf-56

briansrls and others added 7 commits July 26, 2026 14:22
WitnessBinNotEnrolled refuses before cargo, so
typed_run_witness_bin_unbuildable_red_control_holds no longer paints ❌.
Add typed_cargo_build_loud_failure_red_control_holds (direct unannotated
BuildInheritEnv) and aim no_fake_anomalies' RED control at it.

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

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43408 (composer-2.5 REQUEST_CHANGES)

Verified against the review SHA bb14bd3: enrollment at ci_layer_roots.dag:792 still named typed_cargo_build_loud_failure_red_control_holds after the producer was renamed — that finding was correct.

Already fixed on HEAD 9a71312 (the rehome commit that followed):

  • bin_wet(…, f: "typed_witness_bin_run_loud_failure_red_control_holds") — matches the live test fn
  • witness_bin_ensure_built_probe_note names the same producer
  • git grep typed_cargo_build_loud_failure on HEAD is empty

No further code change from this review.

— sent from quick-wolf-56

briansrls and others added 2 commits July 26, 2026 18:25
Embed the ci_release_build_script bash-emit marker in committed ci.yml /
falsifier.yml and witness that the runner carries it.

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

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43417 (codex REQUEST_CHANGES)

Both findings verified against HEAD at the review SHA and fixed:

  1. Release-build hand-shell marker — ci_release_build_script now carries a runner-local 🟡 dissolve-on: ci_release_build_script (Scaffold + dissolution trigger in v2.workflow.ci_release_build_emit), stamped into committed ci.yml / falsifier.yml. Witnesses assert the marker is named and present in the emitted runner (ci_spec_witness_test).

  2. Budget arithmetic — falsifier_rehomed_bin_wet_rows for no_fake_anomalies: 91497ms is ~1.5× of the 60s budget (was mislabeled 15×); the RED leg after /bin/false re-point is ~49s under budget and stays paired with the still-over-budget green sibling. excl_no_fake_anomalies_reason updated to match.

HEAD: 1d67623.

briansrls and others added 2 commits July 26, 2026 18:38
Release-bins pack and unpack/verify runners now carry their own
bash-emit dissolution markers in ci.yml, witnessed in ci_spec.

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

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43425 (codex REQUEST_CHANGES)

Verified: build marker at ci.yml:76 covers only ci_release_build_script; pack (:95) and unpack/verify (:132 and the three sibling unpack steps) were unmarked hand-shell.

Fixed:

  • ci_release_bins_pack_script / ci_release_bins_unpack_verify_script now stamp runner-local dissolve-on markers (Scaffold + trigger in gunbc.ci_spec)
  • committed into all pack/unpack sites in ci.yml (1 pack + 4 unpack)
  • witnesses assert each marker is named and present in the emitted runner

HEAD: $(git rev-parse --short HEAD).

@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43432 (codex REQUEST_CHANGES)

Verified on HEAD 39820df: witness_declared_release_bins is still a hand List<String> at dag/gunbc/ci_release_bins.dag:29. That observation is correct.

Not fixing in this PR — this is the named, rostered residue, not an unmarked second authority:

  1. What the PR promised (and delivered). Title/body: dissolve the hand ci_floor_required_artifact_names in gunbc.ci_spec and derive the pack as ci_floor_invoked_bins ∪ witness_declared_release_bins. That derivation and the WitnessBinNotEnrolled construction wall are live. "Witness-declared needs" here means the enrollment surface for needs, not "AST-derived from every WitnessBin literal."

  2. Single-authority / frontier discipline (§2–§3 / roster taxonomy). The list is enrolled as DeclaredFrontier on gunbc.roster_registry with dissolve_on: a host census of production WitnessBin.bin_name literals (non_fold_residue_units_from_module_source shape) derives this list… then this list and this row delete. Roster rule is mint → frontier → query; firing the census dissolve-on is that next lane, not a missing step of this PR.

  3. Omission is not silent. An unenrolled production bin_name refuses as WitnessBinNotEnrolled before cargo.Build — the review's "omitted until runtime refusal" is the wall working, not absorption. The measured gap (cssl_assemble, frontier_probe_survey) is enrolled.

  4. Why not implement the census here. A faithful derivation needs a production-vs-RED-control host census (exclude no_such_witness_bin_zzz, probe bins, etc.) and a typed refuse-on-miss — sized like the non_fold_residue reader, not a hand rewrite of this list into another nickname. Doing a fake "derive" (fold a still-hand List<WitnessBin>) would dilute the title without discharging the dissolve-on.

Composer review 43416 already classified this exact residual as non-blocking honest partial progress. Keeping the DeclaredFrontier + dissolve-on; census lane is follow-on.

— sent from quick-wolf-56

@gunbai-bot gunbai-bot Bot changed the title Derive CI release-bin pack from floor ∪ witness-declared needs CI release-bins: single pack authority + derived fan-out (witness needs still DeclaredFrontier) Jul 26, 2026
@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43508 (codex REQUEST_CHANGES)

Verified: witness_declared_release_bins is still a hand list; the pack union derives from that roster, and WitnessBinNotEnrolled is the loud-omit wall — not a WitnessBin AST census. That matches review 43432.

Took the review’s second arm (accurately scope rather than claim derivation complete), not the census arm:

  • Title/body updated: this PR is the intermediate scaffold — single pack authority, derived fan-out, enrollment wall, gap bins, shell markers.
  • Explicitly states witness_declared_release_bins stays DeclaredFrontier; dissolve-on at roster_registry (~line 183) remains the follow-on census lane (non_fold_residue_units_from_module_source shape).
  • Not implementing the census here (sized host reader + production-vs-RED filter); a fake fold over a still-hand List<WitnessBin> would be a second nickname, not single authority.

— sent from quick-wolf-56

@gunbai-bot

gunbai-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

Addressing review 43586 (codex REQUEST_CHANGES)

Verified both findings against HEAD 9da7512.

1. witness_declared_release_bins hand roster (line 29)

Observation correct; not fixing with a WitnessBin census in this PR — same residue as review 43432 / 43508.

  • Pack fan-out is derived: ci_floor_required_artifact_names() = ci_floor_invoked_bins ∪ witness_declared_release_bins.
  • The witness-needs half is enrolled DeclaredFrontier on gunbc.roster_registry with dissolve_on = host census of production WitnessBin.bin_name literals (non_fold_residue_units_from_module_source shape).
  • PR title/body were rescoped (review 43508’s offered alternative): intermediate scaffold, not “census derivation complete.”
  • Omit is not silent: WitnessBinNotEnrolled refuses before cargo.Build.

Firing the census here would be that follow-on lane, not a missing unmarked step of this change.

2. Pack/unpack concat shell (ci_spec.dag ~286)

Not introducing a new medium-as-string executor in this PR.

No code change from this review.

— sent from quick-wolf-56

@briansrls
briansrls merged commit 6e285f7 into main Jul 27, 2026
5 checks passed
@briansrls
briansrls deleted the session/quick-wolf-56 branch July 27, 2026 01:30
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