Replace Three Hub-Only Pointers in a Carried Skill Reference With the Behavior - #1414
Conversation
… behavior Fixes #1403. `branch-protection-and-promotion.md` is carried into every fleet repository, and named `repo-config/README.md` twice and `repo-config/settings.json` once. `repo-config/` is hub-only, so in a carrying repository those paths point at nothing, and the prose gate's `dead-path` check says so. Each of the three was a pointer to hub documentation rather than an operative instruction, so each is replaced by the behavior and its reason, per the settled rule that a carried file states the rule rather than routing to the hub mechanism: - the "Rulesets" pointer is deleted, the operative instruction above it already standing on its own - `repo-config/settings.json` becomes "a repository's `Automatically delete head branches` toggle, which the fleet keeps off for exactly this reason", a fact the reader can check on their own repository - the "Secrets" pointer becomes the disposition: a mechanism needing a secret this repository does not hold is a configuration question for the maintainer rather than something to work around in the workflow The two surviving `repo-config/` mentions are the command the reader runs, framed in place as run from a hub checkout, and are deliberately kept. A first attempt replaced the "Rulesets" pointer with a sentence saying any ruleset disagreeing with the payloads is drift rather than a local choice. The review pass showed that to be actively harmful: `bypass_actors` is writable, declared by no payload, deliberately a human decision, and `configure.sh` preserves it, so a reader applying that binary would delete a maintainer's decision the tooling exists to protect. Deleted rather than qualified. The fix is verified by review rather than by running the check it satisfies. That check does not reproduce locally, which is filed separately as #1412. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing |
|
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: Team 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 changes are limited, consistent across source and generated outputs, and remove the downstream-breaking hub-only path references without introducing new correctness risks.
Pull request overview
This PR updates a carried operational-vs-release workflow reference to remove three hub-only repo-config/ path pointers (which break downstream dead-path prose gates) and replaces them with in-place, actionable guidance.
Changes:
- Removes the two
repo-config/README.mdreferences and therepo-config/settings.jsonreference from the carried skill reference. - Replaces the removed pointers with direct behavioral guidance (configured state is already specified; why auto-delete must be off; how to handle missing secrets).
- Regenerates the distributed skill copies and updates the canonical-review tracking report accordingly.
File summaries
| File | Description |
|---|---|
| reports/canonical-review.json | Records the completed canonical review units for the updated reference. |
| .agents/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.md | Replaces hub-only doc pointers with self-contained, carried guidance to satisfy downstream prose gates. |
| .github/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.md | Regenerated distribution copy of the updated reference (derived from .agents/). |
| .claude-plugin/fleet-skills/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.md | Regenerated plugin distribution copy of the updated reference (derived from .agents/). |
| .claude-plugin/fleet-skills/.source-digests/operational-vs-release-workflow | Updates the source digest to match the regenerated skill distribution content. |
Review details
- Files reviewed: 5/5 changed files
- Comments generated: 0
- Review effort level: Lite
💡 Configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
…carried path fix (#1422) Promote `develop` to `main`. Four commits, no code behavior change outside the prose gate's own reporting and its tests. - **#1417** Name the Prose Gate's Own Copy on Every Verdict. A `dead-path` violation CI reported could not be reproduced locally, because the gate read a different copy of the file than the one the operator had in hand and never said which. Every verdict now names the copy it read. - **#1409** Say Which Reviewers a Repository Has, and Split the Reviewer Doc in Two. Reviewer availability turns on repository visibility and star count, and the one doc that stated it mixed the evaluation with the operating reference. Split, with the availability rule stated where a driver reads it. - **#1414** Replace Three Hub-Only Pointers in a Carried Skill Reference With the Behavior. The carried reference named `repo-config` paths that exist only in the hub, so a downstream prose gate failed the moment the file landed in a diff there. - **#1410** Bump `streetsidesoftware/cspell-action` from 9.0.1 to 9.1.0. Closes #1412 Closes #1403 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Prose-check findings now identify the specific gate version that produced them, improving traceability across repositories and revisions. - Invalid empty exclusion values are rejected instead of being treated as a full-tree scan. - **Documentation** - Added guidance for reproducing prose-check findings and diagnosing outdated pinned versions. - Expanded reviewer documentation covering availability, skip behavior, limits, and repository scope. - Updated review-loop references and release workflow guidance. - **Maintenance** - Updated the spell-checking tool version used in validation. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Fixes #1403.
.agents/skills/operational-vs-release-workflow/references/branch-protection-and-promotion.mdiscarried into every fleet repository and named
repo-config/README.mdtwice andrepo-config/settings.jsononce.repo-config/is hub-only, so in a carrying repository thosepaths point at nothing, and the prose gate's
dead-pathcheck fails on them. It blockedptr727/HomeAutomation-Config#160.
What changed
Each of the three was a pointer to hub documentation rather than an operative instruction, so each
is replaced by the behavior and its reason, per the settled rule that a carried file states the
rule rather than routing to the hub mechanism.
repo-config/README.md"Rulesets" for the configured state."repo-config/settings.jsonfor exactly this reason"repo-config/README.md"Secrets" for which secrets each mechanism needs."The two surviving
repo-config/mentions are the command the reader runs, framed in place as runfrom a hub checkout, and are deliberately kept. Removing them would leave the instruction
unfollowable.
The replacement that was deleted rather than shipped
A first attempt replaced the "Rulesets" pointer with:
The review pass showed that to be actively harmful.
bypass_actorsis writable, is declared by nopayload, is deliberately a human decision, and
configure.shreads and writes it back preciselybecause it "neither grants nor revokes it". A reader applying that binary deletes a maintainer's
decision the tooling exists to protect. It was deleted rather than qualified, and the pass then
confirmed the section stays actionable without it.
Verification, and one thing it does not cover
build_dist.py --checkcurrent,spec/validate.pyOK,prose_lint.pyclean,repo_gate.pyclean on all three checks, markdownlint clean. All three canonical units recorded in
reports/canonical-review.json.The fix is verified by review, not by running the check it satisfies. That check does not
reproduce locally: with the identical script, file, diff base and tree, it reports nothing where
CI reported three. Filed as #1412, since it makes the fix loop for every
dead-pathfindingpush-and-guess. Whether this clears
HomeAutomation-Config's gate will be known when thatrepository re-carries after this reaches
main.Findings filed rather than fixed
The pass raised five
pre-existingfindings in the same unit, gathered on #1413. Two can cause awrong destructive action and are worth reading before the next resync: the
repo-config/*.jsonglob names the wrong file set in both directions, missing
operational/develop.jsonso anoperational repository can be handed the pull-request-gated release payload, and "Delete all
classic branch-protection rules and stray rulesets" is over-broad and names no actor for a
destructive act the script does not perform.
🤖 Generated with Claude Code