Repository navigation
Conversation
) Settles the last open item of #1522, and item 1 of #1200 and item 28 of tracker #1369, which report the same defect. ## What changes `WORKFLOW.md` D2.2 explains why `validate-release` exits inside its step on a smoke build rather than skipping at job level. It named `github-release` as a dependent that does not opt out of a skipped `needs:` entry. `github-release`'s `if:` carries `!failure() && !cancelled()`, so a skipped `validate-release` would not skip it. The dependents that do not opt out are `dotnet-publish`, `build-nuget`, and `build-pypi`, whose `if:` carries no status-check function, so a job-level skip would skip their smoke builds. Whole-unit review of the first wording found that the sentence before it named `if: always()` as the only opt-out, which D7.4 in the same section contradicts and `build-docker`'s own guard disproves. Each "skips unless" wording that followed drew the same finding, since an explicit `success()` carries a status-check function and replaces the implicit one, yet still skips on a skipped need. With the maintainer's go-ahead past the two-round budget, D2.2 now states only the direction that holds: a dependent whose `if:` carries no status-check function gets the implicit `success()` and skips with it. The `workflow-ci-contract` Skill's generated include of section 4 carries the same text. ## Left open deliberately Whole-unit review of section 4 also raised statements this change did not write. Most were already filed, and the three that were not are now recorded: - D2.2's smoke early exit is no longer unconditional since the branch-name refusal runs first: #1531. - D5.1's MAY exception covers every artifact its MUST names, D4.4's "nothing is re-pushed" is false where Docker re-pushes, D3.2's default-branch MUST cannot be met by a pinned caller, and D6.4's `build-<target>` pattern does not name `dotnet-publish`: #1523. - D6.4 lists hub-owned surface and omits the caller publisher's `enable_*` values: newly filed on #1523. - D4.5's gate for a package publish job and D7.2's stale `id-token: write` example: #1524. - D4.5's "nothing publishes" for a partial Docker push, and D6.2's `github.ref_name` ban on a top-level publisher: #1527. - D5.2's heading contradicts its own download-gated package delete: newly filed on #1527. - D7.4's undefined "cross-job condition" scope: #1369 item 55. - `docs/reusable-workflows.md` "Permissions" tells a release-upload task to declare its scope in the callee job, which `github-release` deliberately does not: newly filed on #1360. ## Verification - Four whole-unit review rounds over `WORKFLOW.md` section 4 and its Skill include, the last finding nothing in D2.2, recorded in `reports/canonical-review.json`, and a local strict-review pass over the whole diff. - Prose gate, repo gate (`eol`, `eol-coverage`), spec validation, generated-skill check, and the Docker linters are green. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01QNQoguANRoFqeCJL7Kczc8 <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **Documentation** - Clarified how job-level skips propagate to dependent jobs when no status-check condition is specified. - Updated examples to identify the affected smoke-build jobs and explain when they are skipped. - Refreshed recorded workflow review metadata, including digests, finding counts, commit references, and timestamps. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: Thanks 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 |
There was a problem hiding this comment.
🟢 Approval recommended
The documentation correction is consistent with the repository's workflows and the associated generated and review-metadata updates are coherent with the source change.
Pull request overview
This promotion updates the Section 4 behavioral contract documentation to correctly name which build jobs would be skipped on smoke runs if validate-release were job-skipped, and carries the corresponding Skill reference and canonical review metadata updates into main.
Changes:
- Update
WORKFLOW.mdD2.2 to namedotnet-publish,build-nuget, andbuild-pypias the dependents that would be skipped on smoke ifvalidate-releasewere job-skipped. - Apply the same D2.2 wording update to the workflow CI contract Skill source (
.agents/skills/...) and its generated distributions. - Refresh
reports/canonical-review.jsonand the fleet-skills source digest to match the updated unit content.
File summaries
| File | Description |
|---|---|
| WORKFLOW.md | Corrects D2.2 prose to name the actual validate-release dependents that would skip on smoke if the gate were job-skipped. |
| reports/canonical-review.json | Updates recorded unit digests, hub commit, timestamps, and findings counts for the relevant reviewed units. |
| .agents/skills/workflow-ci-contract/references/d-guarantees.md | Updates the Skill source copy of the behavioral contract to match the corrected D2.2 wording. |
| .github/skills/workflow-ci-contract/references/d-guarantees.md | Regenerates the GitHub-distributed Skill reference content to match the source update. |
| .claude-plugin/fleet-skills/skills/workflow-ci-contract/references/d-guarantees.md | Regenerates the Claude plugin Skill reference content to match the source update. |
| .claude-plugin/fleet-skills/.source-digests/workflow-ci-contract | Updates the recorded source digest for the regenerated workflow-ci-contract Skill distribution. |
Review details
- Files reviewed: 6/6 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Promotes
developtomain, carrying one merged pull request.Closes #1522
What this promotes
WORKFLOW.mdD2.2's explanation of whyvalidate-releaseexits inside its step on a smoke build rather than skipping at job level. It namedgithub-releaseas a dependent that does not opt out of a skippedneeds:entry, wheregithub-release'sif:carries!failure() && !cancelled()and so runs past a skipped gate. D2.2 now namesdotnet-publish,build-nuget, andbuild-pypi, whoseif:carries no status-check function, so the implicitsuccess()would skip their smoke builds. It also drops the sentence namingif: always()as the only opt-out, which D7.4 andbuild-docker's own guard contradict, and states only the direction that holds. Theworkflow-ci-contractSkill's generated include carries the same text. It settles the last open item of WORKFLOW.md D3.4 Promises a PyPI Ordering Nothing Implements, and D2.2 Names a Job That Opts Out #1522, item 1 of Eight more WORKFLOW.md section 4 claims the workflows falsify or a reader cannot act on #1200, and item 28 of tracker Tracker:WORKFLOW.md > 4. Behavioral Contract: Expected Outcomes#1369.Adopter impact
Documentation only. No workflow, action, or script changes, so no fleet repository's build or publish behavior moves.
Left open deliberately
WORKFLOW.md > 4. Behavioral Contract: Expected Outcomes#1369 item 55 for section 4, and Tracker:docs/reusable-workflows.md#1360 fordocs/reusable-workflows.md"Permissions".Verification
WORKFLOW.mdsection 4 and its Skill include, recorded inreports/canonical-review.json, the last finding nothing in D2.2, and a local strict-review pass over the whole diff. The wording went past the two-round budget with the maintainer's explicit go-ahead, since each "skips unless" form drew the same finding.🤖 Generated with Claude Code
https://claude.ai/code/session_01QNQoguANRoFqeCJL7Kczc8