You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Carrying .github/skills/ into ptr727/NxWitness (ptr727/NxWitness#550) put the whole tree in front of CodeRabbit as new files. It raised 16 findings against hub canonical content.
They are filed here rather than fixed there, per the carried-content review rule: the tree is manifest-owned, carry.py check reports matching source and target digests, and a local edit would fail the next fidelity check. So a substantive defect's fix belongs at its canonical source, which is this repository.
A caveat on confidence. I verified one of these against the upstream action's own action.yml and am reporting the rest as the reviewer stated them, unverified by me. I filed a batch of unverified claims on #1116 earlier and had to retract six of ten, so I would rather label the uncertainty than repeat that.
Verified
operational-vs-release-workflow/references/branch-protection-and-promotion.md:109, the app-token action's version boundary. The guidance names v3.0.0 as the release where client-id arrived and app-id was deprecated. It is v3.1.0.
Reading that action's action.yml at each tag, the v3.0.0 input list contains app-id and no client-id; the v3.1.0 list contains both, client-id first. So a workflow pinned to v3.0.0 that follows this guidance omits the required app-id, and its token step fails.
Reported as stated, not independently verified
Grouped by what they claim:
Factual or logic defects
git-commit-conventions/references/history-rewrite.md:10 - git filter-repo strips signatures rather than re-signing, so the procedure needs an explicit post-rewrite signing step before pushing to a signature-protected branch.
merge-and-release/SKILL.md:75 - a missing releaseTrigger makes the jq return null, and step 5 dispatches for every value except none, so it fails open on null and on a typo.
merge-and-release/SKILL.md:207 - the headRefOid check and the subsequent git branch -D / git push origin --delete are not a compare-and-swap, so the tip can move between them.
git-commit-conventions/SKILL.md:80 - both identity probes accept any local part ending @users.noreply.github.com, so another account's noreply address passes a rule that means the committing account's own.
branch-protection-and-promotion.md:38 - the normalized diff proves equality or difference only, so a nonzero result cannot distinguish a develop-only superset from conflicting main-only content before git checkout --theirs.
standup-a-repo/SKILL.md:83 - configure.sh check returns 1 for both drift and an API failure, so the two are indistinguishable before configuration is applied.
Portability
shell-codestyle/SKILL.md:48 - the skill covers sh shebang scripts, but set -E, pipefail and BASH_SOURCE are not POSIX sh, and some implementations exit on them. Scope those to Bash or define the covered interpreter.
Coverage gaps
fleet-conformance-check/SKILL.md:39 - checks AGENTS.md and GOVERNANCE.md but not CLAUDE.md, which standup-a-repo defines as the required @AGENTS.md import. Worth weighting this one: NxWitness carried AGENTS.md for a long time with no CLAUDE.md, so Claude Code loaded no rules at all, and this check would not have caught it.
code-review/SKILL.md:22 - does not route branch or publishing reviews to operational-vs-release-workflow.
carried-instruction-file-guard/SKILL.md:17 - permits any existing hub checkout for the probe rather than requiring a fresh main fetch, so a stale canonical can classify content against retired rules. This matches something I hit directly: my probe was scoped to the six Markdown files and missed that most rule text now lives in the skills tree, which is how Promotion candidates and two interface gaps found resyncing NxWitness #1116 went wrong.
copilot-instructions-keeper/SKILL.md:55 - inspection alone does not prevent deletion; the procedure could require promotion, preservation or relocation before overwriting content not confirmed hub-owned.
repo-worktree/SKILL.md:177 - a clean tree can still be in use by another session, so switching it away from task-branch can disrupt that task. Require positive ownership rather than cleanliness.
Wording
python-codestyle/references/profiles.md:8 - "dependencies in [dependency-groups]" should say development dependencies; runtime dependencies belong in [project].dependencies.
comment-and-doc-style/references/line-endings.md:75 - for a byte-preserve directory, name the .gitattributes rule (<dir>/** -text or binary) alongside the .editorconfig override, since * text=auto eol=lf can classify a text-like binary as text.
Not a defect, for the record
CodeRabbit also flagged upstream-contribution-workflow/SKILL.md:60 as contradicting the never-force-push rule. It does not: the paragraph immediately after states that the rule "has no jurisdiction here" because the branch lives on the maintainer's own fork outside the fleet, and then narrows the allowance further. Declined on the downstream PR rather than filed.
A note on the shape of this
A downstream carry is the first time this tree gets read by a reviewer that has no stake in it. Sixteen findings on first contact suggests that is worth doing deliberately rather than as a side effect, since the hub's own PRs only ever show it these files as diffs.
Carrying
.github/skills/intoptr727/NxWitness(ptr727/NxWitness#550) put the whole tree in front of CodeRabbit as new files. It raised 16 findings against hub canonical content.They are filed here rather than fixed there, per the carried-content review rule: the tree is manifest-owned,
carry.py checkreports matching source and target digests, and a local edit would fail the next fidelity check. So a substantive defect's fix belongs at its canonical source, which is this repository.A caveat on confidence. I verified one of these against the upstream action's own
action.ymland am reporting the rest as the reviewer stated them, unverified by me. I filed a batch of unverified claims on #1116 earlier and had to retract six of ten, so I would rather label the uncertainty than repeat that.Verified
operational-vs-release-workflow/references/branch-protection-and-promotion.md:109, the app-token action's version boundary. The guidance names v3.0.0 as the release whereclient-idarrived andapp-idwas deprecated. It is v3.1.0.Reading that action's
action.ymlat each tag, the v3.0.0 input list containsapp-idand noclient-id; the v3.1.0 list contains both,client-idfirst. So a workflow pinned to v3.0.0 that follows this guidance omits the requiredapp-id, and its token step fails.Reported as stated, not independently verified
Grouped by what they claim:
Factual or logic defects
git-commit-conventions/references/history-rewrite.md:10-git filter-repostrips signatures rather than re-signing, so the procedure needs an explicit post-rewrite signing step before pushing to a signature-protected branch.merge-and-release/SKILL.md:75- a missingreleaseTriggermakes thejqreturnnull, and step 5 dispatches for every value exceptnone, so it fails open onnulland on a typo.merge-and-release/SKILL.md:207- theheadRefOidcheck and the subsequentgit branch -D/git push origin --deleteare not a compare-and-swap, so the tip can move between them.git-commit-conventions/SKILL.md:80- both identity probes accept any local part ending@users.noreply.github.com, so another account's noreply address passes a rule that means the committing account's own.branch-protection-and-promotion.md:38- the normalizeddiffproves equality or difference only, so a nonzero result cannot distinguish adevelop-only superset from conflictingmain-only content beforegit checkout --theirs.standup-a-repo/SKILL.md:83-configure.sh checkreturns 1 for both drift and an API failure, so the two are indistinguishable before configuration is applied.Portability
shell-codestyle/SKILL.md:48- the skill coversshshebang scripts, butset -E,pipefailandBASH_SOURCEare not POSIXsh, and some implementations exit on them. Scope those to Bash or define the covered interpreter.Coverage gaps
fleet-conformance-check/SKILL.md:39- checksAGENTS.mdandGOVERNANCE.mdbut notCLAUDE.md, whichstandup-a-repodefines as the required@AGENTS.mdimport. Worth weighting this one: NxWitness carriedAGENTS.mdfor a long time with noCLAUDE.md, so Claude Code loaded no rules at all, and this check would not have caught it.code-review/SKILL.md:22- does not route branch or publishing reviews tooperational-vs-release-workflow.carried-instruction-file-guard/SKILL.md:17- permits any existing hub checkout for the probe rather than requiring a freshmainfetch, so a stale canonical can classify content against retired rules. This matches something I hit directly: my probe was scoped to the six Markdown files and missed that most rule text now lives in the skills tree, which is how Promotion candidates and two interface gaps found resyncing NxWitness #1116 went wrong.copilot-instructions-keeper/SKILL.md:55- inspection alone does not prevent deletion; the procedure could require promotion, preservation or relocation before overwriting content not confirmed hub-owned.repo-worktree/SKILL.md:177- a clean tree can still be in use by another session, so switching it away fromtask-branchcan disrupt that task. Require positive ownership rather than cleanliness.Wording
python-codestyle/references/profiles.md:8- "dependencies in[dependency-groups]" should say development dependencies; runtime dependencies belong in[project].dependencies.comment-and-doc-style/references/line-endings.md:75- for a byte-preserve directory, name the.gitattributesrule (<dir>/** -textorbinary) alongside the.editorconfigoverride, since* text=auto eol=lfcan classify a text-like binary as text.Not a defect, for the record
CodeRabbit also flagged
upstream-contribution-workflow/SKILL.md:60as contradicting the never-force-push rule. It does not: the paragraph immediately after states that the rule "has no jurisdiction here" because the branch lives on the maintainer's own fork outside the fleet, and then narrows the allowance further. Declined on the downstream PR rather than filed.A note on the shape of this
A downstream carry is the first time this tree gets read by a reviewer that has no stake in it. Sixteen findings on first contact suggests that is worth doing deliberately rather than as a side effect, since the hub's own PRs only ever show it these files as diffs.