Repository navigation
Route cancel-in-progress through github_event_name_equals (review 63766) - #11049
Closed
gunbai-bot[bot] wants to merge 34 commits into
Closed
gunbai-bot[bot] wants to merge 34 commits into
gunbai-bot[bot] wants to merge 34 commits into
Conversation
… truthful. The merged native job still declared a 180-minute timeout and a unique-per-push concurrency key while the route's own census is the producer for a multi-hour wall on shared arm64 runners. Raise the job timeout from the workflow authority, serialize main onto github.ref without cancelling in-flight runs, set -D warnings on the emitted crate's cargo, and print HostBudget peak against the slot cgroup on the receipt. Co-authored-by: Cursor <cursoragent@cursor.com>
Workflow-level uniqueness still keeps build and floor verdicts. The required-v2-native job now groups per ref and cancels the previous native job for that main branch or the same PR. Timeout stays a temporary truthful envelope; warnings, HostBudget, and receipt fields wait for P0b. Co-authored-by: Cursor <cursoragent@cursor.com>
A workflow group keyed on pull_request.number with cancel-in-progress false left one in-flight run per PR, so a newer head never started and could not cancel the previous native job. Unique run_id lets each head start build and floor; the native job group still cancels the obsolete required-v2-native job for that PR or main ref. Co-authored-by: Cursor <cursoragent@cursor.com>
Job-level cancel cannot fire while the predecessor's top-level group still blocks the successor from starting. Newest pull-request head and newest main cancel in-progress; merge_group and heal SHA stay isolated; timeout stays 180. Co-authored-by: Cursor <cursoragent@cursor.com>
…row. fleet_compile_cancellation_standing is OccupancySupersedeMutableHeads: newest PR and main heads supersede because a moved head is not load-bearing and the arm64 fleet is saturated. Workflow cancel-in-progress is that standing's projection. Co-authored-by: Cursor <cursoragent@cursor.com>
MutableHeadStanding is the event table; FleetCompileCancellationStanding stays producer-absent. Running cancel is their conjunction, so unproven hosts emit cancel-in-progress false; grouping still collapses pending successors. Co-authored-by: Cursor <cursoragent@cursor.com>
YAML cancel still projects fleet standing through running_supersession_for_fleet_standing. Grouping remains pending-run collapse, not running SIGKILL. Co-authored-by: Cursor <cursoragent@cursor.com>
The occupancy ruling groups PRs by identity and main by github.ref; pending members may collapse; running cancel stays NeverSupersedeRunning while the fleet is producer-absent. Co-authored-by: Cursor <cursoragent@cursor.com>
…rities. The group string is concat of github_event_name_* and ci_heal_expected_healed_sha_input_name. The witness asserts those keys independently instead of grepping the same row's emission. Co-authored-by: Cursor <cursoragent@cursor.com>
…e fixtures. The group expression no longer embeds event-name literals; a fixture walk of the same branch list is the discriminating RED for swapped or dropped arms. Co-authored-by: Cursor <cursoragent@cursor.com>
… RED. Independent fragment checks stay green if pull_request and push subjects swap; one concat per branch plus an absent push+pr pairing makes that swap authorable. Co-authored-by: Cursor <cursoragent@cursor.com>
…the input row. Occupancy grouping lowers a stated unique-run_id guarantee, so the 4b(3) row lands with this change; citations and the fixture lookup follow the same head. Co-authored-by: Cursor <cursoragent@cursor.com>
…ing witness. The lost property is SHA-bound adjudication of superseded pending mains, not fleet-safe SIGKILL or P0a.2 as currently specified; timeout is a different envelope and must not live in this witness. Co-authored-by: Cursor <cursoragent@cursor.com>
…invoked instrument Operator ruling 2026-09-11. The job landed with #10882 citing a ~70-minute native run inside a 180-minute envelope; the only full run on the real runner class took 4h06m at 14.8 GB, and the workflow's concurrency group (per PR number or run id, cancel-in-progress false) never supersedes a running job, so every push added another ~4h claimant. 31 native jobs were running concurrently this morning and the build and floor lanes were failing on main under memory stalls and budget interruptions. Cut at the root: WitnessFloorV2NativeLane leaves gunbc.witness_floor_workflow, the v2-native lane and phase leave gunbc.required_ci_phase_roster and the host binary, witnesses.yml and docs/design-rung-drops.md are regenerated. The route model, harness and admission authority are unchanged and reachable as claim_executor --v2-native-route. Declared as the 4b(3) drop gunbc.rung_drop v2_native_route_off_the_merge_path with a capability-shaped trigger; the consolidation witness reds if required-v2-native returns. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DQyBe1FaYb3bFZmpTczetX
Keep both 4b(3) rows in roster order (v2_native_route_off_the_merge_path then main_per_commit_floor_verdict). Regenerated witnesses.yml and design-rung-drops.md from the merged authorities. Local only; not for origin until parent go. Co-authored-by: Cursor <cursoragent@cursor.com>
….expressions. Route group and cancel through the modeled AST and one fixture evaluator, keep only the heal != '' gap, and rewrite the main-SHA drop so the subject is required obligations rather than a frozen job roster.
Keep both rung-drop rows in roster order and regenerate the workflow and drop projection from the merged authorities.
The occupancy group is one interpolated AST; the fixture evaluator walks it, including !=, so heal nonempty-input is no longer a second string path.
The occupancy group is already one interpolated AST; tests now spell expected YAML from event-name constants instead of a second serializer in the workflow module.
…led forms. The fixture resolver consumes the cited evaluator; empty is no longer the encoding of an unknown path or format arity, so those cases go red instead of collapsing to the run-id fallback.
Floor on b80c7c5 refused MemoryStallRefusedPageThrash on a contended runner, not a grouping defect. Catch up the five main commits and re-run the lane.
Classifier and cancel emission both folded the same {pull_request, push} set by hand, so they could disagree; the four-cell join now pins supersession_available_under on push as well.
Co-authored-by: Cursor <cursoragent@cursor.com>
The operators page falsifies boolean false and number 0, not the strings "false" and "0"; Equals already encodes boolean false as "". Co-authored-by: Cursor <cursoragent@cursor.com>
…g main. Occupancy grouping still keys push by github.ref (pending replacement). A landed main SHA's running jobs are not lawful supersession without a declared 4b(3) drop. Co-authored-by: Cursor <cursoragent@cursor.com>
…roster. The producer was restoring a pull_request literal beside an unused roster and cancel AST, so running-cancel membership had two homes. Classifier, cancel emission, and the four-cell join all read that one list; push stays off it. Co-authored-by: Cursor <cursoragent@cursor.com>
Safe-fleet restore is SupersedeRunningForEvent { pull_request }; a one-element mutable-head roster was a nickname of that constructor. Four-cell still pins that push running-cancel stays false. witnesses.yml is unchanged.
Co-authored-by: Cursor <cursoragent@cursor.com>
…bove. The running-cancel annotation claimed main already accepted N concurrent runs; pending main replacement is the occupancy grouping trade, declared as main_per_commit_floor_verdict, and running cancel stays false. Co-authored-by: Cursor <cursoragent@cursor.com>
Each event fixture is its own claim; group-expression text is interpolated from the AST; the activity set is the roster the trigger already emits. The combined YAML walk was 502–600 ms against a 500 ms deadline. Co-authored-by: Cursor <cursoragent@cursor.com>
…lize. The activity-set witness now serializes witness_floor_triggers through the same YAML projector the workflow emit uses, so a list change in the trigger still fails while the claim stays at 6ms CPU. Co-authored-by: Cursor <cursoragent@cursor.com>
…drift gate. The claim already serializes witness_floor_triggers through the workflow on: projector (6ms); the annotation names that composition so the full-file serialize is not reintroduced as the emission path. Co-authored-by: Cursor <cursoragent@cursor.com>
…e gha_* nicknames. The concat template and LogicalAnd/Or/NotEquals wrappers were a second spelling of constructors this module already imported; interpolate of the structural form keeps witnesses.yml byte-identical to 608c9ad. Co-authored-by: Cursor <cursoragent@cursor.com>
Keep only the review 63766 follow-up on this session branch. Co-authored-by: Cursor <cursoragent@cursor.com>
3 of 4 tasks
Contributor
Author
Contributor
Author
|
Recut off main as a fix-only branch: see the new PR from session/sharp-tern-402-gha-equals (head efdbae2). |
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
cancel_in_progress_of_policyinterpolatesgithub_event_name_equalsinstead of a concat template.gha_and/gha_or/gha_not_equals; call sites useLogicalAnd/LogicalOr/NotEquals. Keepsgithub_event_name_equalsandgha_format_prefix.witnesses.yml; livecancel-in-progressremainsfalse.Test plan
claim_batchw_running_cancel_four_cell_through_the_producer(cpu=2ms)claim_batchw_emitted_group_expression_names_each_event_branch(cpu=6ms)witness_floor_concurrency_groupequals the merged workflowgroup:line