Repository navigation
perf(source-control): move the commit skill's rationale out of its hub - #12704
kyle-sexton wants to merge 3 commits into
Conversation
The /source-control:commit SKILL.md body drops from 28,967 to 25,098 bytes (frontmatter stripped). Explanatory prose moves verbatim to reference files read on demand: the repository-context probe reasons to reference/config-probes.md, the changelog-fragment detail to reference/changelog-fragments.md, the type-set sources, mod note, key spelling and recorded deviation to reference/design-rationale.md, and the three native-surface descriptions to reference/native-commit.md. Every command, table and gate stays in the hub. Refs: #12666 Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01VcuponMacsFYBfNzLKb3ws
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5d80bd5dcb
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Keep the `head` and `tail` pipes in the commands: they are the bound | ||
| ([reference/config-probes.md](reference/config-probes.md) says why). |
There was a problem hiding this comment.
Obtain valid paired eval evidence before shipping the cut
The commit's Verification section reports both paired rounds as INVALID because several cases never invoke the skill, and its Remaining section explicitly acknowledges that no round satisfies the validity requirement. Those results cannot establish that moving the rationale preserves behavior, even though the second round's score clears the non-inferiority margin. The review rules loaded through AGENTS.md require that “a cut to an existing skill ships only with eval evidence of no loss”; the linked skill criteria additionally require valid runs. Fix the triggering cases and obtain a valid, non-inferior before/after comparison, or retain the original hub text until that evidence exists.
AGENTS.md reference: AGENTS.md:L124-L126
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
| # | Finding | Classification | Basis |
|---|---|---|---|
| 1 | Paired eval evidence is INVALID, so the cut lacks evidence of no loss | VALID, fix outside this PR | verified: run-validity.py on all four result files reports INVALID on the skill-fired check only. In commit-hook-rejection-no-bypass and commit-never-stage-everything the skill fired in 0 of 8 runs on both arms, including main's unchanged copy |
The cause is in the eval cases, not this diff. In an unfired trace the model commits with git add <files> and a heredoc git commit -F - and never calls the Skill tool, on main's copy as well. No change to this PR can make main's arm VALID. The fix is to the cases, which is separate work, so this PR links #12666 with Refs: rather than closing it, and its ## Remaining section says what closes it. This PR stays unmerged until a VALID round exists. Thread left open.
|
claude-security-review reviewed Security review: PR #12704, incremental since
|
|
claude-review reviewed Code review (incremental): PR #12704, changes since
|
Keep in the hub the step-7 rule that a plugin the fragment list does not name still needs its hand version bump and CHANGELOG entry. Replace the restated mod-hook and GitHub trailer behavior in design-rationale.md with pointer, as-of and recheck records. Co-Authored-By: Claude Opus 5.5 <[email protected]> Claude-Session: https://claude.ai/code/session_01VcuponMacsFYBfNzLKb3ws
|
Reply to the claude-review finding on
Fixed in 9a365b4. Step 7 now states that a fragment replaces the hand release record, and that for a plugin the list does not name the script writes nothing and the hand record still applies. |
Refs: #12666
Summary
The
/source-control:commithub loaded explanatory prose on every invocation that a commit rarely needs. This PR moves that prose, verbatim, into reference files read on demand, and keeps every command, table and gate in the hub. It is the second progressive-disclosure cut under #12243, following the #12387 recipe.Fix
reference/config-probes.md,reference/changelog-fragments.mdandreference/design-rationale.mdhold the moved explanations; the three native-surface descriptions move into the existingreference/native-commit.md.Verification
awkfrontmatter strip piped towc -con both copies printed 28967 and 25098./docs-hygiene:compress compare(freshcompare-labeler, before against after) returned VERDICT: PASS with no SEMANTIC LOSS and no AMBIGUITY rows.A repo-wide grep found no external citation of the moved text to repoint;
convention-key.shand the cheat sheet citeSKILL.md, where the rule still sits.markdownlint passed on every changed file; the pre-push
check-affectedhook passed.Paired
commit-*eval,claude plugin eval --case 'commit-*' --runs 2 --scaffold --model claude-opus-5-5, Claude Code 2.1.317, two rounds:noise-reportat margin 0.05run-validity.pyEvery round is INVALID on the skill-fired check alone. The skill never fires in
commit-hook-rejection-no-bypassorcommit-never-stage-everything, on either arm, in any run, and also missescommit-no-push-no-pron the before arm. The before arm is unchanged main, so this comes from the cases or the model's routing, not from this cut.Left out: nothing.
Remaining
Related
🤖 Generated with Claude Code
https://claude.ai/code/session_01VcuponMacsFYBfNzLKb3ws