Found while triaging a review finding on #1000. This was already true before that PR and doesn't block it.
PlexCleaner's WORKFLOW.md D1.1 says "Every push validates and smoke-builds both targets ... no paths filter", and its D1 summary repeats that CI "runs on push with no paths filter". The fleet contract in the hub's WORKFLOW.md (carried here as the generated include in .github/skills/workflow-ci-contract/references/d-guarantees.md) makes D1.1 "Only changed targets build": a changes paths-filter job marks the touched targets, and D1.4 leaves workflow-only changes without a smoke build.
The hub's spec/divergences.json and registry/repos.json don't record this difference, so the fleet contract and this repo's own contract disagree with nothing reconciling them.
Choose one:
- Record PlexCleaner's push-builds-everything model as an accepted divergence in the hub (a
driftNote or a divergences.json entry), and keep the current CI.
- Converge on the fleet D1 shape: a
changes paths-filter job, per-target smoke gating, and an aggregator that needs: it. Then rewrite WORKFLOW.md D1.
This is likely to come up again when PlexCleaner adopts the hub's validate-task.yml (ptr727/ProjectTemplate#1134, #1800).
🤖 Generated with Claude Code
Found while triaging a review finding on #1000. This was already true before that PR and doesn't block it.
PlexCleaner's
WORKFLOW.mdD1.1 says "Every push validates and smoke-builds both targets ... no paths filter", and its D1 summary repeats that CI "runs onpushwith no paths filter". The fleet contract in the hub'sWORKFLOW.md(carried here as the generated include in.github/skills/workflow-ci-contract/references/d-guarantees.md) makes D1.1 "Only changed targets build": achangespaths-filter job marks the touched targets, and D1.4 leaves workflow-only changes without a smoke build.The hub's
spec/divergences.jsonandregistry/repos.jsondon't record this difference, so the fleet contract and this repo's own contract disagree with nothing reconciling them.Choose one:
driftNoteor adivergences.jsonentry), and keep the current CI.changespaths-filter job, per-target smoke gating, and an aggregator thatneeds:it. Then rewriteWORKFLOW.mdD1.This is likely to come up again when PlexCleaner adopts the hub's
validate-task.yml(ptr727/ProjectTemplate#1134, #1800).🤖 Generated with Claude Code