Skip to content

Correct Section 3, 4 and 6 Statements the Tree Contradicts - #1541

Merged
ptr727 merged 2 commits into
developfrom
feature/1523-workflow-contract-statements
Sep 11, 2026
Merged

ptr727 merged 2 commits into
developfrom
feature/1523-workflow-contract-statements

Conversation

@ptr727

@ptr727 ptr727 commented Sep 11, 2026 •

Copy link
Copy Markdown
Owner

Summary

Settles #1523, a set of WORKFLOW.md sections 3, 4 and 6 statements the tree contradicts, and the D6.4 item its comment adds. Each item was checked against the YAML before it was changed.

  • Add/drop surface (section 3, D6.4). A caller reaches build-release-task.yml by pin (spec/divergences.json retires a local copy), so its surface is the enable_<target> value its publisher passes, its publisher's on.push.paths, expect_release_assets, the PR workflow's filter, output and enable-forward, and a package target's publish job. The task's own inputs, build jobs and needs: entries belong to the task. The .NET build job is named for what it is, dotnet-publish. The build layer names the per-job hook (.github/actions/<job>/action.yml) a caller shapes its leaf through. The library row gains the publisher surfaces and no longer says a caller can forward an enable_library the hub task does not declare.
  • Release model. "A shared paths filter" becomes the publisher's own on.push.paths. The unscoped "re-pushes nothing" now defers to D4.4, which a dispatch refreshes.
  • D3.2, D3.3. D3.2 binds every literal that keys default-branch behavior rather than three named ones, and says the hub tasks and their default leaves write main. D3.3 no longer says the maintainer bumps the patch.
  • D4.4. Names the gh release view check rather than the tag, and says "package-registry" pushes are no-ops so it no longer contradicts Docker re-pushing.
  • D5.1 and section 3. Drop the same-run exception, which covered every cross-job artifact.
  • D1.2, D1.6. D1.2 states what the validator detects (*Tests*.csproj, or a root tests/ beside uv.lock or requirements*.txt), so a repo with tests in another shape knows to replace the call. The no-build catalog stub now carries the same comment the release-with-smoke stub does, telling a C# or Python repo to map CODECOV_TOKEN, since docs/reusable-workflows.md has a call needing no secret pass no secrets: key.
  • operational-vs-release-workflow skill. Its release-publish-mechanics.md reference names the per-job hook path and drops the verbatim-carry claim, matching section 3.
  • Section 6. Scopes the release task's cleanup to its release-asset-* step, files S5 and S6 under a push trigger only, credits S11's publish to D8.3's bot push, reads the wrapper state file for the build or image version, drops D6.3 from the artifact divergence, names the deploy hook's path and four inputs, and stops claiming S2 and S3 on every operational pull request.

The section 3 list now names expect_release_assets, which is the section 3 half of #1524's second item.

The whole-unit passes raised further statements this change did not write, filed as #1536 for WORKFLOW.md and #1539 for the skill reference's override-seam section, rather than fixed here. #1539's first item is on a sentence this change rewrote, left for that issue on the maintainer's call to stop editing after a final round. The final diff pass found two more on text this change wrote, D1.2's "tests in another shape" sentence and the Build bullet's missing Docker hooks, filed the same way as #1540.

Verification

  • scripts/build_dist.py --check, spec/validate.py, scripts/repo_gate.py --check eol, scripts/prose_lint.py, and scripts/docker_lint.py (editorconfig, actionlint, markdownlint, cspell, shellcheck, shfmt, PSScriptAnalyzer) all pass.
  • A whole-unit pass over each moved canonical unit, and a diff pass, recorded per local-strict-review.

Refs #1523

🤖 Generated with Claude Code

https://claude.ai/code/session_01SjJ6HmHg8u8SSdotSezKqk

Summary by CodeRabbit

  • Documentation

    • Clarified release workflow guidance, including build hooks, artifact collection, release creation, versioning, and target-specific update requirements.
    • Refined CI validation rules for supported C# and Python test layouts.
    • Updated workflow guidance for different repository types and clarified pull request coverage configuration.
    • Improved explanations of release triggers, no-op behavior, and resource lifecycle expectations.
  • Chores

    • Refreshed canonical review records to reflect the latest documentation review results.

ptr727 and others added 2 commits September 11, 2026 10:46
Settle #1523, every item checked against the tree before it was changed.

Section 3 and D6.4 now list the add/drop surface a caller of the pinned
release task actually owns: the enable_<target> value its publisher
passes, the publisher's on.push.paths where it carries a push trigger,
expect_release_assets, the PR workflow's filter, output, and
enable-forward, and a package target's publish job. The release task's
own inputs, build jobs, and needs: entries belong to the task, so only
a repo owning one edits them. The "shared paths filter" becomes the
publisher's own on.push.paths list, and the seam contract drops the
verbatim carry that no caller makes. The build layer names the per-job
hook a caller of the hub task shapes its leaf through, and section 6's
library row gains the publisher surfaces and stops saying a caller can
forward an input the hub task does not declare.

D3.2 binds every literal that keys default-branch behavior rather than
three named ones, and says the hub tasks and default leaves write main. D3.3 drops the claim that the
maintainer bumps the patch. D4.4 names the gh release view check and
scopes its no-op to package registries, Docker still re-pushing. D5.1
and section 3 drop the same-run exception that covered every artifact.
D1.2 states what the validator detects, so a repo with tests in another
shape knows to replace the call.

Section 6 scopes the release task's cleanup to the release-asset-* step,
files S5 and S6 under a push trigger only, credits the main pin's
publish to D8.3's bot push, reads the wrapper's state file for the
build or image version, drops D6.3 from the differently-named-artifact
divergence, names the deploy hook's path and four inputs, and stops
claiming an operational repo reaches S2 and S3 on every pull request.

The no-build PR stub now maps CODECOV_TOKEN, as D1.6 requires of a
cross-repository caller.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
The no-build PR stub carries the release-with-smoke stub's comment
telling a C# or Python repo to map CODECOV_TOKEN, rather than mapping
it for every repo, since docs/reusable-workflows.md has a call needing
no secret pass no secrets: key.

The operational-vs-release-workflow skill's release-publish-mechanics
reference names the per-job hook path and drops the verbatim-carry
claim, matching WORKFLOW.md section 3.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
Copilot AI lite review requested due to automatic review settings September 11, 2026 18:22
@coderabbitai

coderabbitai Bot commented Sep 11, 2026 •

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 526f91b1-0b3f-45ce-aed7-b559130b0a1d

📥 Commits

Reviewing files that changed from the base of the PR and between c4ecc46 and 3f34803.

⛔ Files ignored due to path filters (8)
  • .claude-plugin/fleet-skills/.source-digests/operational-vs-release-workflow is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/.source-digests/workflow-ci-contract is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/operational-vs-release-workflow/references/release-publish-mechanics.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/workflow-ci-contract/references/architecture.md is excluded by !.claude-plugin/fleet-skills/**
  • .claude-plugin/fleet-skills/skills/workflow-ci-contract/references/d-guarantees.md is excluded by !.claude-plugin/fleet-skills/**
  • .github/skills/operational-vs-release-workflow/references/release-publish-mechanics.md is excluded by !.github/skills/**
  • .github/skills/workflow-ci-contract/references/architecture.md is excluded by !.github/skills/**
  • .github/skills/workflow-ci-contract/references/d-guarantees.md is excluded by !.github/skills/**
📒 Files selected for processing (6)
  • .agents/skills/operational-vs-release-workflow/references/release-publish-mechanics.md
  • .agents/skills/workflow-ci-contract/references/architecture.md
  • .agents/skills/workflow-ci-contract/references/d-guarantees.md
  • WORKFLOW.md
  • catalog/snippets/workflows/test-pull-request.yml
  • reports/canonical-review.json

Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

The pull request updates workflow-contract documentation for build hooks, artifact handling, release conditions, validation rules, target ownership, project-type guidance, and canonical review records. It also adds a non-functional Codecov workflow comment.

Changes

Workflow contract documentation

Layer / File(s) Summary
Architecture and release seams
.agents/skills/operational-vs-release-workflow/references/release-publish-mechanics.md, .agents/skills/workflow-ci-contract/references/architecture.md, WORKFLOW.md
The documentation now describes job-based repository hooks, separates caller and task surfaces, clarifies artifact download behavior, removes the same-run retention allowance, and refines release-trigger wording.
Behavioral guarantees
.agents/skills/workflow-ci-contract/references/d-guarantees.md, WORKFLOW.md
Validator detection, default-branch rules, version numbering, release existence checks, cleanup requirements, and target edit ownership are specified more precisely.
Project-type walkthroughs
WORKFLOW.md, catalog/snippets/workflows/test-pull-request.yml
Project-type guidance updates trigger applicability, cleanup references, deployment hook inputs, version sources, target ownership, and operational pull-request behavior. The workflow receives a documentation-only Codecov comment.
Canonical review records
reports/canonical-review.json
Review digests, findings counts, hub commits, and timestamps are updated for the revised documentation units.

Priority: ⬇️ Low

Estimated code review effort: 3 (Moderate) | ~20 minutes

Merge Risk: ⚪ Minimal · up to 3f348

The workflow documentation and review metadata updates present no concrete merge-blocking risk.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly identifies the main change: correcting contradictory statements in Sections 3, 4, and 6. It is specific and related to the documented changes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/1523-workflow-contract-statements

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ptr727

ptr727 commented Sep 11, 2026

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Sep 11, 2026 •

Copy link
Copy Markdown
✅ Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

🟡 Changes recommended

A few newly updated contract statements remain inaccurate versus the current YAML behavior (notably Docker hook surfaces, validate-hook extensibility, and client-vs-server duplicate handling).

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

Updates the workflow contract documentation to align WORKFLOW.md sections 3, 4, and 6 (and the derived skill references) with the current GitHub Actions implementation, plus refreshes the canonical-review report stamps.

Changes:

  • Refines the “orchestration vs build” and “add/drop surface” descriptions to match the hub-hosted release-task and caller-stub boundaries.
  • Corrects multiple release-model / no-op-republish / cleanup / scenario-scoping statements in sections 4 and 6.
  • Updates derived skill reference copies and canonical review metadata.
File summaries
File Description
WORKFLOW.md Main contract doc updates across sections 3/4/6 to match current workflow behavior.
reports/canonical-review.json Updates recorded digests/findings/stamps for reviewed canonical units.
catalog/snippets/workflows/test-pull-request.yml Adds guidance comment about Codecov token mapping for coverage uploads.
.agents/skills/workflow-ci-contract/references/architecture.md Regenerated include of WORKFLOW.md section 3 for the skill reference.
.agents/skills/workflow-ci-contract/references/d-guarantees.md Regenerated include of WORKFLOW.md section 4 for the skill reference.
.agents/skills/operational-vs-release-workflow/references/release-publish-mechanics.md Updates release skill reference prose about the override seam and artifact handoff.
.github/skills/workflow-ci-contract/references/architecture.md Generated distribution copy of the workflow-ci-contract architecture reference.
.github/skills/workflow-ci-contract/references/d-guarantees.md Generated distribution copy of the workflow-ci-contract D-guarantees reference.
.github/skills/operational-vs-release-workflow/references/release-publish-mechanics.md Generated distribution copy of the release-publish mechanics reference.
.claude-plugin/fleet-skills/skills/workflow-ci-contract/references/architecture.md Generated plugin distribution copy of the architecture reference.
.claude-plugin/fleet-skills/skills/workflow-ci-contract/references/d-guarantees.md Generated plugin distribution copy of the D-guarantees reference.
.claude-plugin/fleet-skills/skills/operational-vs-release-workflow/references/release-publish-mechanics.md Generated plugin distribution copy of release-publish mechanics reference.
.claude-plugin/fleet-skills/.source-digests/workflow-ci-contract Updates plugin source digest for workflow-ci-contract.
.claude-plugin/fleet-skills/.source-digests/operational-vs-release-workflow Updates plugin source digest for operational-vs-release-workflow.
Review details
  • Files reviewed: 14/14 changed files
  • Comments generated: 5
  • Review effort level: Lite

💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread WORKFLOW.md Resolved
Comment thread WORKFLOW.md Resolved
Comment thread WORKFLOW.md Resolved
@ptr727
ptr727 merged commit 09971b8 into develop Sep 11, 2026
9 checks passed
@ptr727
ptr727 deleted the feature/1523-workflow-contract-statements branch September 11, 2026 18:32
ptr727 added a commit that referenced this pull request Sep 11, 2026
…ction 3 (#1545)

## Summary

Settles #1540 and #1539, the statements the #1523 change (#1541) wrote
or left that the tree contradicts, so promotion #1542 does not carry
them to `main`.

- **D1.2.** A repo whose tests take another shape can run them from its
own `.github/actions/validate/action.yml` hook, which
`validate-task.yml` runs where it exists. The hook receives no secret,
so a repo whose other-shape tests owe D1.6's coverage upload still
replaces the validator.
- **Section 3, Build.** Names the Docker leaf's `docker-prepare` hook,
which a caller's `docker_matrix` bypasses, and the `docker-build-base`
hook beside it, both reached through the release task's `build-docker`
job, which forwards `docker_matrix` and `docker_build_base`.
- **Codecov wording.** The no-build stub and the release-with-smoke stub
in `docs/reusable-workflows.md` say a tokenless upload can skip
silently, matching D1.6, rather than that coverage reaches Codecov.
- **Release skill, override seam.** The section restated `WORKFLOW.md`
section 3 and disagreed with it in all four places #1539 lists, so it is
now a pointer to section 3, which the `workflow-ci-contract` skill
carries whole. Its two remaining sentences on the hub defaults went too,
being false for the Docker default and misrouting the overrides that
need no hook. It keeps one sentence naming the inputs a caller sets
beyond `enable_*`, `docker_image` and the project-path inputs, which
section 3 does not name.

The whole-unit passes raised further statements this change did not
write, filed as #1543 rather than fixed here. The final passes found
three more on text this change wrote, D1.2's hook route missing the
validator job's fixed runner and scope, and the skill's caller-input
sentence overreaching and living only in the skill, filed as #1544 on
the maintainer's call to stop editing after a final round.

## Verification

- `scripts/build_dist.py --check`, `spec/validate.py`,
`scripts/repo_gate.py --check eol`, `scripts/prose_lint.py`, and
`scripts/docker_lint.py` pass.
- A whole-unit pass over each moved canonical unit, and a diff pass,
recorded per `local-strict-review`.

Refs #1540, #1539

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01SjJ6HmHg8u8SSdotSezKqk


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

- **Documentation**
- Expanded guidance for Docker build customization, including
preparation hooks, caller-provided build matrices, and optional shared
base layers.
- Documented support for repositories with custom test layouts through
validation hooks.
- Clarified coverage-upload behavior when no Codecov token is provided.
- Consolidated workflow architecture and behavioral-contract references
for consistency.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
ptr727 added a commit that referenced this pull request Sep 11, 2026
Promotes `develop` to `main`, carrying #1541 and #1545. #1541 corrects
the `WORKFLOW.md` sections 3, 4 and 6 statements the tree contradicted
and points the no-build pull request stub and the release skill at the
corrected rules. #1545 fixes what #1541's final passes left: D1.2's
route for tests in another shape, the Docker hooks in section 3, the
Codecov wording in both stubs, and the release skill's override-seam
section, now a pointer to section 3. What the passes found and neither
change wrote is filed as #1536 and #1543, and #1545's own final findings
as #1544.

Closes #1523
Closes #1539
Closes #1540

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01SjJ6HmHg8u8SSdotSezKqk
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.

2 participants