Skip to content

Replace Three Hub-Only Pointers in a Carried Skill Reference With the Behavior - #1414

Merged
ptr727 merged 1 commit into
developfrom
fix/1403-carried-hub-only-paths
Sep 7, 2026
Merged

Replace Three Hub-Only Pointers in a Carried Skill Reference With the Behavior#1414
ptr727 merged 1 commit into
developfrom
fix/1403-carried-hub-only-paths

Conversation

@ptr727

@ptr727 ptr727 commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Fixes #1403.

.agents/skills/operational-vs-release-workflow/references/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 fails on them. It blocked
ptr727/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.

Was Now
"See the hub's repo-config/README.md "Rulesets" for the configured state." deleted, the operative instruction above it standing on its own
"kept off in the hub's repo-config/settings.json for exactly this reason" "which the fleet keeps off for exactly this reason", a fact the reader can check on their own repository
"See the hub's repo-config/README.md "Secrets" for which secrets each mechanism needs." "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. Removing them would leave the instruction
unfollowable.

The replacement that was deleted rather than shipped

A first attempt replaced the "Rulesets" pointer with:

The payloads are the configured state, so a ruleset that disagrees with what the script applies
is drift in the repository rather than a local choice.

The review pass showed that to be actively harmful. bypass_actors is writable, is declared by no
payload, is deliberately a human decision, and configure.sh reads and writes it back precisely
because 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 --check current, spec/validate.py OK, prose_lint.py clean, repo_gate.py
clean 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-path finding
push-and-guess. Whether this clears HomeAutomation-Config's gate will be known when that
repository re-carries after this reaches main.

Findings filed rather than fixed

The pass raised five pre-existing findings in the same unit, gathered on #1413. Two can cause a
wrong destructive action and are worth reading before the next resync: the repo-config/*.json
glob names the wrong file set in both directions, missing operational/develop.json so an
operational 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

… 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>
Copilot AI lite review requested due to automatic review settings September 7, 2026 14:35
@qodo-code-review

Copy link
Copy Markdown

ⓘ Qodo reviews are paused because your trial has ended. Ask your workspace admin to add credits to resume reviews. Manage billing

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 63e3e8a4-aec7-483e-8b03-19b50f358ea7


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.

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.

🟢 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.md references and the repo-config/settings.json reference 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.

@ptr727
ptr727 merged commit 34f00e2 into develop Sep 7, 2026
9 checks passed
@ptr727
ptr727 deleted the fix/1403-carried-hub-only-paths branch September 7, 2026 14:58
ptr727 added a commit that referenced this pull request Sep 7, 2026
…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 -->
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