From 079d924787f649ddc116ae36e9f33ef918aa3c75 Mon Sep 17 00:00:00 2001 From: Adrian Theopold <83468052+AdrianTheopold@users.noreply.github.com> Date: Tue, 4 Aug 2026 07:21:31 +0000 Subject: [PATCH] fix(bridge): rescope verify's push box to committed, and stop over-claiming PRECHECK coverage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Two defects found by the 1.3.0 audit sweep but left out of it, because neither is the "names one instance where it means a class" shape the sweep was hunting. 1. templates/verify.md §5 shipped the box "All relevant commits pushed", which can never be truthfully ticked: verify runs at apply step 3 and the branch is pushed at step 6. Observed live — a real cycle left it unchecked and wrote a prose note explaining why. Rescoped to "All code changes committed", which is what schema.yaml's own check 5 asks for ("Confirm all code changes are committed (no unstaged files in the worktree)"), so template and instruction now agree. A note records why it is committed-not-pushed, so it does not get "helpfully" restored. 2. The schema description claimed "Each artifact / apply step verifies its required skills before invoking and surfaces a clear error if any are missing." The verify artifact's openspec-verify-change invoke has no availability PRECHECK — deliberately, since it has a documented manual fallback. A class claim with an instance implementation: the inverse of the audited shape, and the description is the first thing `openspec schemas` shows an adopter. Now scoped to Superpowers skills and names the exception. README:439 and the touchpoint table were already correct on this, so no doc change was needed. VERSION 1.3.0 → 1.3.1 (prose/template corrections, no gate change). Validated: `openspec schema validate superpowers-bridge` passes, and the corrected description renders as intended in `openspec schemas`. Co-Authored-By: Claude Opus 5 (1M context) --- superpowers-bridge/README.md | 2 +- superpowers-bridge/README.zh-TW.md | 2 +- superpowers-bridge/VERSION | 2 +- superpowers-bridge/schema.yaml | 6 ++++-- superpowers-bridge/templates/verify.md | 6 +++++- 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/superpowers-bridge/README.md b/superpowers-bridge/README.md index c4f154e..5c12dad 100644 --- a/superpowers-bridge/README.md +++ b/superpowers-bridge/README.md @@ -482,7 +482,7 @@ A bundle release `1.x.y` is a published cut of schema major `v1`. A future schem Baseline versions this schema was authored against. This is a **historical snapshot, not an end-to-end compatibility guarantee** — CI cannot run the full prompt-layer workflow in headless mode, so behavioral compatibility relies on human review when drift fires. -Current bundle release: **`1.3.0`** (see [VERSION](./VERSION)). +Current bundle release: **`1.3.1`** (see [VERSION](./VERSION)). | superpowers-bridge | OpenSpec CLI | Superpowers plugin | Baseline as of | |---|---|---|---| diff --git a/superpowers-bridge/README.zh-TW.md b/superpowers-bridge/README.zh-TW.md index 5cc39a7..e75be89 100644 --- a/superpowers-bridge/README.zh-TW.md +++ b/superpowers-bridge/README.zh-TW.md @@ -482,7 +482,7 @@ LLM 不必解讀 timing 文字 —— 跑指令、看結果即可。這是顧慮 本 schema 撰寫時所對齊的 upstream 基準版本。這是**歷史快照,不是端對端相容性承諾** — CI 無法在 headless 環境跑完整的 prompt-layer workflow,行為相容性依賴 drift 觸發人類檢核。 -目前 bundle release: **`1.3.0`**(見 [VERSION](./VERSION))。 +目前 bundle release: **`1.3.1`**(見 [VERSION](./VERSION))。 | superpowers-bridge | OpenSpec CLI | Superpowers plugin | 基準日期 | |---|---|---|---| diff --git a/superpowers-bridge/VERSION b/superpowers-bridge/VERSION index f0bb29e..3a3cd8c 100644 --- a/superpowers-bridge/VERSION +++ b/superpowers-bridge/VERSION @@ -1 +1 @@ -1.3.0 +1.3.1 diff --git a/superpowers-bridge/schema.yaml b/superpowers-bridge/schema.yaml index 82c26d9..e80c14f 100644 --- a/superpowers-bridge/schema.yaml +++ b/superpowers-bridge/schema.yaml @@ -10,8 +10,10 @@ description: > because the alternative executor (executing-plans) loses TDD and code-review transitive activation, defeating Superpowers' value. If your platform lacks subagent support, use spec-driven instead. - Each artifact / apply step verifies its required skills before - invoking and surfaces a clear error if any are missing. + Each artifact / apply step that invokes a Superpowers skill + PRECHECKs it and STOPs with a clear error if it is missing; the one + OpenSpec skill used (openspec-verify-change) deliberately has a + documented manual fallback instead of a STOP. brainstorm → proposal → specs, with design branching from brainstorm in parallel; specs + design → tasks → plan → verify → retrospective. design is required (reorganizes raw brainstorm output into structured diff --git a/superpowers-bridge/templates/verify.md b/superpowers-bridge/templates/verify.md index 62306c5..be8c96e 100644 --- a/superpowers-bridge/templates/verify.md +++ b/superpowers-bridge/templates/verify.md @@ -75,10 +75,14 @@ and Scenarios of `specs/*.md`: ## 5. Implementation Signal - [ ] No unstaged files in the worktree -- [ ] All relevant commits pushed +- [ ] All code changes committed **Commit range** (if known): `..` +> Scoped to *committed*, not pushed, on purpose: verify runs at apply step 3 and the branch is +> pushed at step 6, so a "pushed" box here could never be truthfully ticked. If you need the push +> recorded, it belongs to the finish step, not this report. + --- ## 6. Front-Door Routing Leak Detector (warning, non-blocking)