Skip to content

docs(notes): async-route plan §4 Phase 2 — add --exit-zero to CI command (lesson learned)#231

Merged
pcalnon merged 1 commit intomainfrom
docs/async-route-plan-phase-2-exit-zero-lesson
May 6, 2026
Merged

docs(notes): async-route plan §4 Phase 2 — add --exit-zero to CI command (lesson learned)#231
pcalnon merged 1 commit intomainfrom
docs/async-route-plan-phase-2-exit-zero-lesson

Conversation

@pcalnon
Copy link
Copy Markdown
Owner

@pcalnon pcalnon commented May 6, 2026

Summary

The original Phase 2 CI command in
`notes/ASYNC_ROUTE_AUDIT_HOOK_MIGRATION_PLAN.md` omitted
`--exit-zero`. First run on juniper-data #94
surfaced the issue: ruff exits 1 when violations are present, the
step fails, and the `async-route-audit` job displays as red on
the PR — even with `continue-on-error: true` on the job.

`continue-on-error: true` prevents the workflow from failing
as a whole but doesn't suppress the visual red indicator on the
step. Adding `--exit-zero` makes the step exit 0 (so the job
stays green) while `--output-format=github` still renders the
violations as PR annotations. Belt and suspenders alongside
`continue-on-error`.

What changes

  • §4 Phase 2's example command now includes `--exit-zero`.
  • New "Lesson learned" callout below the example explaining the
    interaction so future readers don't repeat the mistake.

Pairs with

  • juniper-data #94 — fixup commit `0b31948`
    adding `--exit-zero` to the CI step.
  • juniper-cascor #232 — fixup commit
    `fb1b5d4` (proactive: cascor has 0 visible violations today,
    but the change ensures the soft-fail contract holds for any
    future violation).

When canopy and worker Phase 2 PRs are written (after their
Phase 1 PRs land), they'll use the corrected pattern from the
start.

Test plan

  • No code changes; pure documentation.
  • No doc-link change.

🤖 Generated with Claude Code

…and (lesson learned)

The original Phase 2 CI command omitted ``--exit-zero``. First
run on juniper-data PR #94 surfaced the issue: ruff exits 1 when
violations are present, the step fails, and the
``async-route-audit`` job displays as red on the PR — even with
``continue-on-error: true`` on the job. The job-level flag
prevents the workflow from failing as a whole, but does not
suppress the visual red indicator.

Updates Phase 2's example command to include ``--exit-zero``
alongside ``--output-format=github``, and adds a "Lesson learned"
callout explaining the interaction. Future Phase 2 PRs (canopy,
worker) will use the corrected pattern from the start.

The two already-open Phase 2 PRs (juniper-data #94, juniper-cascor
#232) have been fixed up with the same change in their CI
workflow files.

Phase 4 will drop both ``--exit-zero`` and
``continue-on-error: true`` simultaneously to flip enforcement
on.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@pcalnon pcalnon self-assigned this May 6, 2026
Copy link
Copy Markdown
Owner Author

@pcalnon pcalnon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved

@pcalnon pcalnon merged commit 669d72a into main May 6, 2026
17 checks passed
@pcalnon pcalnon deleted the docs/async-route-plan-phase-2-exit-zero-lesson branch May 6, 2026 06:05
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