fix(merge-retrospective): clarify stub update+close path for a zero-repair cycle - #1416
fix(merge-retrospective): clarify stub update+close path for a zero-repair cycle#1416tvna wants to merge 3 commits into
Conversation
…epair cycle Step 0's stub-handling bullet only named Step 5's full Repairs content as the replacement body when an existing post-merge-auto-retro stub is found, leaving unstated which body applies for a zero-repair cycle and whether the Zero-repair fast-close path's confirm-then-close treatment still applies to an existing stub being updated rather than a freshly created issue. Generalize Step 0, Step 5's Zero-repair fast-close bullet, and the Worked example prose so a zero-repair cycle against an existing stub updates it with the fast-close's single-paragraph body and then closes it once confirmed (or leaves it open when unattended), the same rule already defined for a freshly-filed zero-repair issue. Refs #1406
…-post-merge-c5ed3w
The prior commit's stub/zero-repair clarification pushed SKILL.md from 500 to 516 lines, failing gitapex_check_skill_shape.py's body-length check (confirmed via evaluating-skill-quality's own independent audit dispatch). Tighten the added Step 0, Step 5, and Worked example wording without losing the confirm-then-close guarantee it states, and fold a pre-existing duplicate "proposing vs. implementing a gate" sentence (Step 5 content-requirements bullet vs. the Stop boundary) into the single Stop boundary copy. Body is back to exactly 500 lines; gitapex_check_skill_shape.py now reports 40/40 PASS including body-length. gitapex_scan_execution_requirements_drift.py's two drift errors are unchanged from before this fix (confirmed via git stash) -- a pre-existing gap, not a regression this fix introduces. Refs #1406
|
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: Pro Plus 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 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1416 +/- ##
=======================================
Coverage 99.57% 99.57%
=======================================
Files 125 125
Lines 22364 22364
Branches 2748 2748
=======================================
Hits 22268 22268
Misses 96 96 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Heads-up on a citation conflict: issue #1406 was reframed at 2026-08-29T17:50:03Z (about one minute before this PR was opened) from its original narrow scope ("close an existing stub after a zero-repair cycle") into a much larger fix for the merge-retrospective carried-forward-gate backlog problem. The issue now carries a 6-row Acceptance Criteria Map; this PR's own body still quotes the pre-reframe, 3-row version. This PR's own fix (Step 0/Step 5 stub-handling wording) remains a valid, narrower piece of work -- the reframed issue's own Decision 3 / ACM row 1 explicitly subsumes this same concern as part of a larger Step 5 rewrite that is about to land on branch Suggest changing Full context: #1406 and Generated by Claude Code |
Summary
Clarifies
skills/merge-retrospective/SKILL.mdso a zero-repair cycle against an already-existing post-merge-auto-retro stub explicitly updates the stub with the Zero-repair fast-close body and then applies the same confirm-then-close rule as a freshly-filed zero-repair issue.Facts
Step 0's stub-handling bullet previously said only that Step 5 would replace the stub body with "Step 5's full Repairs content," never naming Step 5's second path (the Zero-repair fast-close single-paragraph body). Step 5's own Zero-repair fast-close bullet, and the Worked example's closing prose, both used the word "file" without saying it also covers updating an existing stub. See
git diff 507010e~1 507010e -- skills/merge-retrospective/SKILL.md.A follow-up commit (
a1f23b4d) fixed a body-length regression this diff itself introduced (500 -> 516 lines, over the deterministic-shape checker's 500-line cap) by trimming wording and removing a pre-existing duplicated sentence ("Proposing a gate is proposing, not implementing" appeared twice); re-verified at exactly 500 lines withgitapex_check_skill_shape.pypassing 40/40.Assumptions
None -- this is a documentation/instruction clarification only; no script or gate logic changed.
gitapex_check_retro_gate_resolved.py'sis_gate_lessalready excludes a zero-repair-marked issue from the carry-forward backlog regardless of this fix.Risk / blast radius
Low: text-only change to one skill's procedure steps and worked example. No script, hook, or CI workflow logic is touched.
Rollback
git revertthe merge commit if this wording turns out to be wrong.Verification
Acceptance Criteria Map from issue #1406, restated:
Also ran (not part of the original ACM, added when the body-length regression surfaced):
python3 skills/evaluating-skill-quality/scripts/gitapex_check_skill_shape.py --allowed-root skills skills/merge-retrospective-> 40/40 PASS;gitapex_scan_execution_requirements_drift.py skills/merge-retrospective-> 2 pre-existing drift errors, confirmed identical on the pre-change commit viagit stash.Checklist
## Skill audit evidencesection below discloses both required auditsevals/*/split.mdedit-log entry addedSkill audit evidence
battle-testing-a-skill: FAIL -- pre-existing structural gaps inskills/merge-retrospective/, not introduced by this diff (three independent isolated-dispatch trials confirmed this diff's own Step 0/Step 5/Worked-example changes introduce no new vulnerability): (1) dim.12 -- no supply-chain/installation-time integrity-verification language for the bundledgitapex_check_retro_gate_resolved.pyscript; (2) dim.14 --evals/merge-retrospective/tasks/(20 fixtures, confirmed to exist at the repo-rootevals/convention) covers classification-accuracy/quality regression only, none inject hostile or obfuscated text; (3) dim.15 -- no multi-turn escalation fixture exists in that same directory; (4) dim.16 -- no explicit mention of base64/homoglyph/HTML-comment/zero-width-character obfuscation countermeasures. A follow-up task has been queued to close these four gaps; not fixed in this PR as it is a substantially larger, pre-existing-scope change.evaluating-skill-quality: WELL-FORMED-NOT-MATURE -- deterministic shape check 40/40 PASS (gitapex_check_skill_shape.py, including body-length after thea1f23b4dfix). Two pre-existing maturity gaps carried forward, neither introduced by this diff: Progressive disclosure (dim.5, gap-major) -- the ~110-line Worked example is not split intoreferences/; Conciseness (dim.2, gap-major) -- minor residual duplication (label-application wording repeated between the Labels section and Step 5's own bullet).gitapex_scan_execution_requirements_drift.py's 2 drift errors (tools.writeundeclared) are pre-existing, confirmed identical viagit stashagainst the pre-change commit.Merge gate: independent review
Not pre-filled;
drafting-a-pr-to-merge's own Step 8 records this once its independent review completes.Related Issue
Closes #1406
Generated by Claude Code