Skip to content

fix(strix): map official modes without branch-selected dispatch - #1062

Draft
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/bc-4d0fb89e-9d6b-4693-a468-4c33279bb635-a164
Draft

fix(strix): map official modes without branch-selected dispatch#1062
cursor[bot] wants to merge 3 commits into
mainfrom
cursor/bc-4d0fb89e-9d6b-4693-a468-4c33279bb635-a164

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown
Contributor

Prefer this over #1054.

Why

#1054 correctly maps official Strix CLI modes (quick, standard, deep) and stops every trigger inheriting Quick. It also restores workflow_dispatch on the privileged org-required strix.yml. GitHub's manual UI/API lets the caller select a branch, and that revision supplies the workflow YAML (id-token: write plus statuses: write for the strix commit-status context) before any in-job trusted-source checkout can run. A feature-branch dispatch can skip the scan and publish a fake passing strix status. The same class of defect already failed test_no_central_workflow_exposes_branch_selected_manual_dispatch on the quality job (docs/doctoring/strix-legal-git-paths.md).

What landed

  • Keep the dual-flow mapping: required pull_request_target / repository_dispatch / push to develop stay Quick; push to main/master and the Monday 03:00 UTC schedule use Standard with the existing 120/100/90/95 budget.
  • Do not restore workflow_dispatch, release:, v*-rc*, or client_payload.scan_mode on this privileged file.
  • Leave Deep unwired here. A later pre-production Deep path must be a separately reviewed default-branch-only dispatcher.
  • Keep the gate allowlist quick|standard|deep and reject normal.
  • Record the trusted-source boundary and official scan-mode citations in docs/doctoring/strix-scan-mode-dual-flow.md (APA 7th; Strix, n.d.; NIST SP 800-218; CWE-345).

Next action

Review and merge this head. Do not merge #1054. Do not add workflow_dispatch back onto strix.yml to recover Deep.

Evidence

  • python3 -m pytest tests/test_strix_scan_mode_policy.py tests/test_required_workflow_queue_contract.py tests/test_strix_workflow_dependency_hashes.py tests/test_strix_changed_path_policy.py tests/test_strix_quality_timeout_fixture_budget.py — 89 passed
  • bash scripts/ci/strix_required_workflow_smoke.sh — passed
Open in Web View Automation 

cursoragent and others added 3 commits August 16, 2026 16:24
Set STRIX_SCAN_MODE from the GitHub event instead of inheriting Quick
on every trigger. Required PR and repository_dispatch evidence stay
quick; push to develop stays quick; push to main/master and the weekly
schedule use standard. Restore workflow_dispatch with a scan_mode
choice so an incomplete RC can be scanned by hand. Deep is manual-only
and is the only path that raises the 360/340/4h/4.5h budget.

Do not invent release or RC-tag triggers. Allowlist official CLI mode
names and reject the unofficial normal alias.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
grep -F treats an embedded newline as a second pattern, so a leading
newline made the release-trigger guard match every file.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Map pull_request_target, repository_dispatch, and develop pushes to
quick, and protected main/master plus the weekly schedule to standard.
Leave Deep unwired on this privileged workflow so a caller-selected
revision cannot mint OIDC tokens or publish a fake strix status.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
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