Skip to content

Activate merge-admission gate: in-repo producer + enforcement consumer (#5974) - #6074

Closed
briansrls wants to merge 7 commits into
mainfrom
session/royal-moth-238
Closed

briansrls wants to merge 7 commits into
mainfrom
session/royal-moth-238

Conversation

@briansrls

@briansrls briansrls commented Jul 1, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Closes the #5974 activation gap left after the model/actuator land (#5973/#5974): merge admission is no longer an unwired model.

  1. Producer (floor-emitted) — after claim_executor, the CI floor script stamps a real MergeAdmissionReceipt to .gunbc/merge-admission-receipt.wire with base_tree_hash (merge-base tree at run time), gate_roster_hash (current_gate_roster_hash from commit_gate_roster), and conclusion (Success/Failure from floor exit code).
  2. Enforcement consumer (in-repo) — ci_workflow.dag adds a required Merge-admission gate step running dsl/tools/merge_admission_gate.dag, which reads the stamped receipt and calls merge_admission_blocks_merge(receipt, merge_target_tree_hash, current_gate_roster_hash).
  3. Activation flag HELD — merge_freshness_gating_status stays GatingComputedDeferred; flip to GatingEnforced is the last step after CI proves produce→consume end-to-end (prevents fleet-wide merge freeze).

New modules: gunbc.merge_admission_produce, tools.merge_admission_stamp, tools.merge_admission_gate. Witnesses prove stale-base → MergeDeniedStaleBase, stale-roster → MergeDeniedStaleRoster, red conclusion → MergeDeniedNotSuccess, fresh green → MergeAdmitted.

ci.yml note

ci_workflow.dag authority changed; committed .github/workflows/ci.yml was not pushed (GitHub App token lacks workflows permission). generated_artifact_drift_gate will fail until an operator regens via gunbc run --source-root dsl --entry dsl/tools/generated_artifact_gate.dag --function main_wet and commits the updated ci.yml (adds floor stamp tail + Merge-admission gate step).

Test plan

  • gunbc compile --source-root dsl — 0 diagnostics
  • Witness execution: wire_roundtrip_preserves_admission_fields, would_block_stale_base, red_verdict_is_merge_denied_not_success — all true
  • CI floor on PR (expected: drift gate surfaces ci.yml regen; substrate witnesses green)

Brian Searls and others added 6 commits July 1, 2026 04:00
#5974)

Wire floor-emitted MergeAdmissionReceipt stamping (base_tree_hash, gate_roster_hash,
floor conclusion) and a required ci.yml merge-admission gate step that reads
merge_admission_blocks_merge. Keep GatingComputedDeferred until CI proves the
produce→consume path; flip to GatingEnforced is the follow-on activation step.

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

ci_workflow.dag authority updated; generated_artifact_drift_gate will require
regen via main_wet on merge (operator/workflows permission).

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot gunbai-bot Bot changed the title Activate merge-admission gate (#5974): build the missing PRODUCER (stamp a real MergeAdmissionReceipt from each CI floor run — base_tree_hash, gate_roster_hash, conclusion) and the ENFORCEMENT consumer (required ci.yml check or merge hook reading merge_admission_blocks_merge), prove block-stale/admi Activate merge-admission gate: in-repo producer + enforcement consumer (#5974) Jul 1, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review July 1, 2026 04:32
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