ci: the familiar-intent warning's API steps never fail its check, on the copy that runs (main)
Summary
The familiar-intent warning is meant to be advisory, but on main it still fails its warn check whenever the installation's REST quota runs out. next-autoland then reads that red as the PR's own and won't land the PR. #27923 was held this way twice on 2026-10-30. At 16:18Z, "Read the pull-request patch" threw HttpError: API rate limit exceeded for installation (job 124175788341).
GitHub runs a pull_request_target workflow from the default branch whatever the PR's base, so main's intent-familiar-review.yml is the copy that runs for feat-cmux-next PRs. #23485 moved it here, and the file's header says "This copy is the one that runs, so change it here". The two fixes for this, #25295 (API steps continue on error) and #25670 (name it "(advisory)" so landing tools never read its red as a PR's own), changed only the feat-cmux-next copy, which never runs.
This PR ports both to main:
continue-on-error: trueon the two GitHub API steps ("Read the pull-request patch" and "Warn CodeRabbit and cubic reviewers").if:guards, so the detect and warn steps skip when the read failed instead of reading a missing file.- The name
Familiar intent review warning (advisory).
The jobs: block is now identical to feat-cmux-next's copy, which has carried these lines since 2026-10-26. The checker it runs is still checked out from the PR's base commit, as before.
Testing
- The YAML parses.
tests/test_ci_runs_on_values.py,tests/test_ci_guard_workflow_structure.py,tests/test_ci_reusable_workflow_permissions.pyandtests/test_ci_actionlint_covers_every_workflow.pypass on this branch.diffshows thejobs:block is identical tofeat-cmux-next's.
Observed / Not run
- Observed: job 124175788341 (cmux#27923, 16:18Z) failed at "Read the pull-request patch" with the installation 403. Its job title matched
main's workflow name ("Familiar intent review warning / warn", no "(advisory)"), which showsmain's copy ran. - Not run: a live
pull_request_targetrun of this change. It takes effect only once merged intomain. I couldn't trigger an installation 403 on purpose.actionlintis not installed on this host; CI's actionlint job covers it.
Changelog
none
Proof
CI only.
Checklist
- Behavior changes have added or updated tests, or Testing says why not: this is a workflow-only change, and its structure tests pass.
- Reviewed with a subagent before merge: an independent Codex review is in progress.
Follow-up, not in this PR: delete or clearly mark the feat-cmux-next copy of this workflow so nobody fixes the copy that never runs again.
Agent session: agent session
🤖 Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Ports the familiar-intent warning's two fixes to main so it never fails its check when the GitHub API rate limit runs out. main's copy of this pull_request_target workflow is the copy that runs for all PRs, but the earlier fixes in #25295 and #25670 went to the feat-cmux-next copy only, which never runs; that left main's API steps failing red on rate-limit errors, and next-autoland read that red as the PR's own and refused to land it.
- Sets
continue-on-erroron the two GitHub API steps. - Adds
if:guards so the detect and warn steps skip when the read failed. - Renames the workflow to "Familiar intent review warning (advisory)".
- Makes the
jobs:block identical to thefeat-cmux-nextcopy.
Summary by CodeRabbit
- Chores
- The familiar-intent review workflow is now labeled as advisory. Failures in patch reading or intent detection no longer stop the overall workflow, and each subsequent step runs only when its prerequisite succeeds.