[object Object]

← back to Cli Printing Press

fix(skills): polish always runs after shipcheck, not just after dogfood

d509976c21c34a0a9d0e1ee854b4feeb33257911 · 2026-04-04 15:15:21 -0700 · Trevin Chow

Polish (verify + scorecard + fix regressions) is now Phase 5.5 and runs
unconditionally before promoting. Whether the user did dogfood testing
or skipped it, the CLI gets one quality pass. No reason to skip it —
the goal is to ship the best CLI, not the fastest.

Phase numbering: 4 (Shipcheck) → 5 (Dogfood) → 5.5 (Polish) → 5.6
(Promote/Archive) → 6 (Publish).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Files touched

Diff

commit d509976c21c34a0a9d0e1ee854b4feeb33257911
Author: Trevin Chow <trevin@trevinchow.com>
Date:   Sat Apr 4 15:15:21 2026 -0700

    fix(skills): polish always runs after shipcheck, not just after dogfood
    
    Polish (verify + scorecard + fix regressions) is now Phase 5.5 and runs
    unconditionally before promoting. Whether the user did dogfood testing
    or skipped it, the CLI gets one quality pass. No reason to skip it —
    the goal is to ship the best CLI, not the fastest.
    
    Phase numbering: 4 (Shipcheck) → 5 (Dogfood) → 5.5 (Polish) → 5.6
    (Promote/Archive) → 6 (Publish).
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---
 skills/printing-press/SKILL.md                     | 42 +++++++++++++++++-----
 .../printing-press/references/dogfood-testing.md   | 32 ++---------------
 2 files changed, 36 insertions(+), 38 deletions(-)

diff --git a/skills/printing-press/SKILL.md b/skills/printing-press/SKILL.md
index c47ec363..415f47d6 100644
--- a/skills/printing-press/SKILL.md
+++ b/skills/printing-press/SKILL.md
@@ -99,7 +99,7 @@ appear in any artifact: source code, manuscripts, proofs, READMEs, HARs, or
 anything committed to git. Env var **names** (e.g., `STEAM_API_KEY`) and
 placeholders (e.g., `"your-key-here"`) are safe.
 
-During Phase 5.5 (archiving) and before publishing, read and apply
+During Phase 5.6 (archiving) and before publishing, read and apply
 [references/secret-protection.md](references/secret-protection.md) for:
 - Exact-value scanning and auto-redaction of artifacts
 - HAR auth stripping (headers, query strings, cookies)
@@ -1250,7 +1250,7 @@ If the final verdict is `hold`, release the lock without promoting to library:
 ```bash
 printing-press lock release --cli <api>-pp-cli
 ```
-The working copy remains in `$CLI_WORK_DIR` for potential future retry. Proceed to Phase 5.5 to archive manuscripts (archiving still happens on hold).
+The working copy remains in `$CLI_WORK_DIR` for potential future retry. Proceed to Phase 5.6 to archive manuscripts (archiving still happens on hold).
 
 ## Phase 5: Dogfood Testing
 
@@ -1270,17 +1270,41 @@ test plan execution, inline fix workflow, and reporting.
   context.
 - Note whether each fix is CLI-specific or a machine issue (feeds the retro).
 
-**After dogfood completes:** If any fixes were applied during testing, automatically
-run one polish pass (re-run `verify`, `scorecard`, fix regressions) before promoting.
-The dogfood fixes may have introduced dead code, broken a verify check, or shifted
-the scorecard. Don't ask — just run it. The user opted into quality by choosing to
-test. Report the before/after delta inline.
-
 Write:
 
 `$PROOFS_DIR/<stamp>-fix-<api>-pp-cli-dogfood.md`
 
-## Phase 5.5: Promote and Archive
+## Phase 5.5: Polish
+
+**Always runs.** After shipcheck (and dogfood if it ran), do one automatic polish
+pass before promoting. Don't ask — just run it. The goal is to ship the best CLI
+possible, not the fastest.
+
+```bash
+cd "$CLI_WORK_DIR"
+go build -o "$CLI_NAME" ./cmd/"$CLI_NAME"
+gofmt -w .
+
+printing-press dogfood  --dir "$CLI_WORK_DIR" --spec <same-spec>
+printing-press verify   --dir "$CLI_WORK_DIR" --spec <same-spec> --fix
+printing-press scorecard --dir "$CLI_WORK_DIR" --spec <same-spec>
+```
+
+Fix what the tools find: dead code, verify regressions, description issues,
+README gaps. This is mechanical — no user input needed. Report the delta:
+
+```
+Polish pass:
+  Verify:    86% → 93% (+7%)
+  Scorecard: 92 → 94 (+2)
+  Fixed: removed 2 dead functions, fixed 1 verify regression
+```
+
+Write:
+
+`$PROOFS_DIR/<stamp>-fix-<api>-pp-cli-polish.md`
+
+## Phase 5.6: Promote and Archive
 
 ### Promote to Library
 
diff --git a/skills/printing-press/references/dogfood-testing.md b/skills/printing-press/references/dogfood-testing.md
index 1b92d556..aaf429ca 100644
--- a/skills/printing-press/references/dogfood-testing.md
+++ b/skills/printing-press/references/dogfood-testing.md
@@ -139,35 +139,9 @@ Dogfood Results: <cli-name>
     - [list issues for the retro]
 ```
 
-### Step 5: Auto-polish (if fixes were applied)
-
-If any fixes were applied during dogfood (M > 0), automatically run one
-verification pass. Do not ask the user — they opted into quality by choosing
-to test. Dogfood fixes can introduce dead code, break verify checks, or shift
-the scorecard.
-
-```bash
-# Rebuild after dogfood fixes
-go build -o "$CLI_NAME" ./cmd/"$CLI_NAME"
-gofmt -w .
-
-# Re-run verification tools
-printing-press verify --dir "$CLI_DIR" $SPEC_FLAG --fix
-printing-press scorecard --dir "$CLI_DIR" $SPEC_FLAG
-```
-
-Fix any regressions introduced by dogfood fixes (typically: unused imports
-after removing code, dead functions from refactoring). Report the delta:
-
-```
-Post-dogfood polish:
-  Verify:    86% → 93% (+7%)
-  Scorecard: 92 → 94 (+2)
-  Fixed: removed 2 dead functions, fixed 1 verify regression
-```
-
-If no fixes were applied during dogfood (everything passed first try), skip
-this step.
+After dogfood completes, the main skill's Phase 5.5 (Polish) runs
+automatically — it re-runs verify + scorecard and fixes regressions.
+Dogfood does not need its own polish step.
 
 ### Common failure patterns
 

← e7f756b2 fix(skills): auto-polish after dogfood testing when fixes we  ·  back to Cli Printing Press  ·  feat(skills): extract polish protocol into polish-worker age af759a27 →