fix(scheduler): prove workflow-starting mutation token - #2003
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Baseline reproduction confirms credential/fixture failure exists before #2005Independent clean-detached reproduction was completed at parent stack head .venv/bin/python -m pytest tests/test_pr_review_merge_scheduler.py -q -k 'cancel_stale_opencode_runs_uses_bounded_executor_for_multiple_runs or force_cancel_failure_logs_reason_and_does_not_raise or force_cancel_multiple_runs_reports_only_failures or workflow_starting_credentials_allow_head_mutations' --tb=shortResult: 4 failed, 330 deselected / 13.60s / terminal 1. For #2003 ownership specifically, Required repair boundary:
The other three focused failures are cancellation mocks that reject the new |
Root cause
An allowlisted mutation credential source did not prove that the selected
GH_TOKENwas present and distinct from the workflowgithub.token. GitHub suppresses new workflow runs for events produced byGITHUB_TOKEN, so an empty App/PAT secret could fall back to that token while the source label still authorized a head mutation. The moved head would then require checks that its mutation credential cannot start.This is a bounded successor for a second valid delta preserved in historical Draft #1231. It is stacked on #2002 because both touch the scheduler credential boundary.
RED → GREEN
ebcc6715e68d6bd4dc78f1ce6c3e473a2dfef899github.tokene2204eeb1ec2789ff791036140ba1672995d25f5SCHEDULER_WORKFLOW_TOKENonly to the scheduler mutation jobdocs/product-technical-gap-baseline.mdAuthority and safety
fix/scheduler-central-actions-credential-routing@7bf3451a47768dbda903115a393b1da1d98e1dba