Skip to content

Route cancel-in-progress through github_event_name_equals (review 63766) - #11049

Closed
gunbai-bot[bot] wants to merge 34 commits into
mainfrom
session/sharp-tern-402
Closed

gunbai-bot[bot] wants to merge 34 commits into
mainfrom
session/sharp-tern-402

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Sep 11, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Follow-up to P0a.1: mutable-head concurrency grouping and pending-run collapse #10981 (merged at 608c9ad) for review 63766: cancel_in_progress_of_policy interpolates github_event_name_equals instead of a concat template.
  • Deletes gha_and / gha_or / gha_not_equals; call sites use LogicalAnd / LogicalOr / NotEquals. Keeps github_event_name_equals and gha_format_prefix.
  • Four-cell witness retests against the structural form. Projected concurrency group bytes match the merged witnesses.yml; live cancel-in-progress remains false.

Test plan

  • claim_batch w_running_cancel_four_cell_through_the_producer (cpu=2ms)
  • claim_batch w_emitted_group_expression_names_each_event_branch (cpu=6ms)
  • Projected witness_floor_concurrency_group equals the merged workflow group: line
  • Required witnesses on this PR

gunbc-ci-auto-heal and others added 30 commits September 10, 2026 23:16
… 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>
Bring in #11032 (d94bcf6 parse-cost root) so the floor deadline is the post-fix one. Merge commit, not rebase.
…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>
gunbc-ci-auto-heal and others added 4 commits September 11, 2026 11:12
…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>
@gunbai-bot gunbai-bot Bot changed the title D5 expression-level grammar repairs (v2 parse, 6 causes, ~20 closure files): P declaration keyword in expression position (7), H as-cast outside call-argument position (6), I match as infix operand (3), O negative literal (2), N brace literal as a data value (1), Q early return (1) - lands AFTER D1 Route cancel-in-progress through github_event_name_equals (review 63766) Sep 11, 2026
@gunbai-bot
gunbai-bot Bot marked this pull request as ready for review September 11, 2026 12:18
@gunbai-bot

gunbai-bot Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Wrong vehicle: parent barred pushing the 63766 repair onto the merged #10981 session branch. The follow-up is #11052 off main.

@gunbai-bot gunbai-bot Bot closed this Sep 11, 2026
@gunbai-bot

gunbai-bot Bot commented Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Recut off main as a fix-only branch: see the new PR from session/sharp-tern-402-gha-equals (head efdbae2).

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.

0 participants