@loneexile/omp-superpowers 6.4.2-omp.1 → 6.4.2-omp.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@ A version is `<upstream version>-omp.<n>`: the upstream release this fork is syn
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [6.4.2-omp.2] - 2026-10-02
10
+
11
+ ### Fixed
12
+
13
+ - **Native execution's final review goes to a known agent on omp.** `executing-plans` tells the controller to dispatch its final review "on the most capable available model" and to specify the model explicitly, but omp's `task` tool has no `model:` field, so the review ran on whichever agent the session picked. An omp paragraph in its Final Review now sends it to `sdd-final-reviewer`. Its model is whatever your host maps that agent to: opus-5 · xhigh by default, or your `task.agentModelOverrides` entry.
14
+ - **`sdd-final-reviewer` knows how the plan ran.** It assumed every task had passed a task review and concentrated on cross-file seams. After an inline run no task was reviewed, so it now does the task reviews' work across the whole branch, then the seams. subagent-driven-development's dispatch says its tasks were reviewed; a dispatch that does not say gets the full review. It also checks each Review Focus item the dispatch carries.
15
+
9
16
  ## [6.4.2-omp.1] - 2026-10-02
10
17
 
11
18
  First release, synced to upstream [v6.4.2](https://github.com/obra/superpowers/blob/v6.4.2/RELEASE-NOTES.md).
@@ -24,5 +31,6 @@ First release, synced to upstream [v6.4.2](https://github.com/obra/superpowers/b
24
31
  - The fork's rewritten subagent-driven-development text invokes its helper scripts through `bash` as well, so a package extractor that drops exec bits cannot break them.
25
32
  - `sdd-final-reviewer` carries upstream's new review rules from `code-reviewer.md`, the template it replaces in SDD's final review: the spec is a vision document (behavior it is silent on is graded by what a reasonable person expects), and a "Declined to judge" section that the controller rules on and ledgers like a plan conflict.
26
33
 
27
- [Unreleased]: https://github.com/LoneExile/omp-superpowers/compare/v6.4.2-omp.1...HEAD
34
+ [Unreleased]: https://github.com/LoneExile/omp-superpowers/compare/v6.4.2-omp.2...HEAD
35
+ [6.4.2-omp.2]: https://github.com/LoneExile/omp-superpowers/releases/tag/v6.4.2-omp.2
28
36
  [6.4.2-omp.1]: https://github.com/LoneExile/omp-superpowers/releases/tag/v6.4.2-omp.1
package/README.md CHANGED
@@ -41,7 +41,7 @@ The skills drive themselves once loaded. The usual path:
41
41
 
42
42
  1. `read skill://brainstorming` — turn an idea into a design
43
43
  2. `read skill://writing-plans` — produce `docs/superpowers/plans/<date>-<name>.md`
44
- 3. `read skill://subagent-driven-development` — execute the plan task by task via subagents
44
+ 3. `read skill://subagent-driven-development` — execute the plan task by task via subagents. If you choose Native at the plan handoff, `executing-plans` runs instead: the session does every task itself, and only the final review is a subagent (`sdd-final-reviewer`)
45
45
  4. `read skill://finishing-a-development-branch` — merge / PR / discard
46
46
 
47
47
  On omp the agent invokes a skill by reading it (`read skill://<name>`); you can also invoke one explicitly with `/skill:<name>`.
@@ -80,7 +80,7 @@ Blue nodes are the five omp agents this fork ships. A reviewer that cannot read
80
80
  | task reviewer | `sdd-reviewer` | sonnet-5 · high | read, grep, glob |
81
81
  | scoped re-review | `sdd-rereviewer` | sonnet-5 · low | read, grep |
82
82
  | fix round 3 / ruled strongest-tier task | `sdd-escalation-implementer` | opus-5 · xhigh | same as implementer |
83
- | final whole-branch review | `sdd-final-reviewer` | opus-5 · xhigh | read, grep, glob, bash, lsp, ast_grep |
83
+ | final whole-branch review (subagent-driven or Native) | `sdd-final-reviewer` | opus-5 · xhigh | read, grep, glob, bash, lsp, ast_grep |
84
84
 
85
85
  The shipped defaults are Anthropic: sonnet for the seats that run on every task, opus for the two that run once per plan or once per stuck task. The tiers are a **thinking ladder** as much as a model ladder — re-reviews reason at `low`, escalation and the final review at `xhigh`.
86
86
 
@@ -143,8 +143,9 @@ Rules that are easy to get wrong:
143
143
 
144
144
  - `.pi/extensions/superpowers.ts` — the injected mapping names `task`, `todo`, the `sdd-*` roster, and the no-`model:`-field rule
145
145
  - `skills/using-superpowers/references/pi-tools.md` — same, as the reference doc
146
- - `agents/sdd-*.md` — new. `sdd-final-reviewer` also carries the review rules upstream keeps in `requesting-code-review/code-reviewer.md` (the spec is a vision document; a "Declined to judge" list), because it replaces that template in SDD's final review
146
+ - `agents/sdd-*.md` — new. `sdd-final-reviewer` reviews the whole branch for both ways of running a plan, and carries the review rules upstream keeps in `requesting-code-review/code-reviewer.md` (the spec is a vision document; a "Declined to judge" list), because it replaces that template there
147
147
  - `skills/subagent-driven-development/` — *Model Selection* → *Agent Selection*; fix-loop cap 5 → 3 with a round-3 escalation seat; a proven-trivial-fix route that replaces a re-review with a one-command proof; waves keyed to the plan's pre-flight file/interface table and gated on isolation; templates show omp's real `{ context, tasks: [{ agent, task }] }` wire shape and the reviewers' structured fields
148
+ - `skills/executing-plans/` — one additive omp paragraph in *Final Review*: the `task` tool has no `model:` field, so the final review goes to `sdd-final-reviewer` (its model is what the host maps that agent to), told that no task was reviewed
148
149
  - `skills/using-git-worktrees/` — additive omp section: `/wt` is the user's one-line answer to the consent question (moves the session, carries WIP); when the agent creates the worktree itself it uses `omp worktree add` under `~/.omp/wt/` (the only place `omp worktree list`/`clear` manage), knows that command leaves uncommitted changes behind, and asks for `/move <path>` because `cd` never moves the tools' cwd
149
150
  - `README.md` — this file: rewritten for omp (install, seats, overrides, maintenance); upstream's multi-harness README is gone
150
151
  - `tests/pi/test-pi-extension.mjs` — one assertion follows the renamed mapping heading; the package-name assertion is gone (`scripts/check-npm-package.sh` checks the published name)
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: sdd-final-reviewer
3
- description: "Superpowers SDD final whole-branch reviewer: integration seams across all tasks, adjudicates ledgered deferred-minors and parked rulings. xhigh reasoning — dispatched once per plan."
3
+ description: "Superpowers final whole-branch reviewer, dispatched once per plan: after subagent-driven-development it checks the seams between reviewed tasks; after an inline executing-plans run it is the only review the branch gets. Triages the ledger lines it is given. xhigh reasoning."
4
4
  tools: read, grep, glob, bash, lsp, ast_grep
5
5
  # thinkingLevel is the seat's reasoning tier; an explicit :level on the model
6
6
  # string (or on a task.agentModelOverrides entry) takes precedence over it.
@@ -8,16 +8,22 @@ model: ["anthropic/claude-opus-5:xhigh"]
8
8
  thinkingLevel: xhigh
9
9
  ---
10
10
 
11
- You review a whole branch once, after every task has passed its task-scoped review. Per-task reviews cannot see cross-file seams; you can. Your dispatch gives the merge-base..HEAD review package, the plan/spec paths, and the ledger's deferred-minor and parked-with-ruling lines.
11
+ You review a whole branch once, at the end of a plan. Your dispatch gives the merge-base..HEAD review package, the plan/spec paths, the ledger lines to triage, and how the plan ran:
12
+
13
+ - **subagent-driven-development:** every task already passed its own task review. Per-task reviews cannot see cross-file seams; you can, so spend your attention there.
14
+ - **executing-plans (inline):** no task was reviewed, and you are the only fresh review this branch gets. Do the task reviews' work across the whole branch first — every plan requirement present, nothing extra, the code sound, and tests that can fail (would deleting a fix, or a plausible regression, leave them green?) — then the seams.
15
+
16
+ If the dispatch does not say how the plan ran, review it as an inline run.
12
17
 
13
18
  <method>
14
19
  - Read the package once. Then trace every patch-introduced type, value, or contract across its consuming side: the dispatch point is often outside the diff — read it before concluding the producer is correct.
15
20
  - Bash is read-only: `git log`, `git show`, `git diff`, running a focused test. Never edit, never run the whole suite.
16
21
  - The spec is a vision document: it says what the software must do, not every input, environment, or condition it will meet. Where it is silent, a reasonable person's expectation is the requirement — the spec's silence is not permission. Grade such findings by their effect on that person, not by whether the spec mentions the trigger.
17
- - Triage the ledger lines: which deferred minors must be fixed before merge, which parked rulings you overturn — say why in one line each.
22
+ - If the dispatch carries the plan's Review Focus list, check each item deliberately: those are inputs and failure modes the plan's tests do not exercise.
23
+ - Triage the ledger lines you were given: which deferred minors must be fixed before merge, which rulings you overturn — say why in one line each.
18
24
  - You do not dispatch subagents.
19
25
  </method>
20
26
 
21
27
  <output>
22
- Begin with the verdict. Findings carry file:line, severity (Critical / Important / Minor), trigger, impact, and a concrete fix. Then a `### Ledger triage` section: each deferred/parked line → fix-before-merge | accept, with reason. Then a `### Declined to judge` section: every behavior you considered and set aside as outside the plan or spec, one line each, with the reason — the controller rules on each line, so nothing you set aside is dropped silently; write `none` if you set nothing aside. Finish with **Mergeable:** yes | no.
28
+ Begin with the verdict. Findings carry file:line, severity (Critical / Important / Minor), trigger, impact, and a concrete fix. Then a `### Ledger triage` section: each ledger line you were given → fix-before-merge | accept, with reason. Then a `### Declined to judge` section: every behavior you considered and set aside as outside the plan or spec, one line each, with the reason — the controller rules on each line, so nothing you set aside is dropped silently; write `none` if you set nothing aside. Finish with **Mergeable:** yes | no.
23
29
  </output>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loneexile/omp-superpowers",
3
- "version": "6.4.2-omp.1",
3
+ "version": "6.4.2-omp.2",
4
4
  "description": "obra/superpowers adapted for Oh My Pi (omp): a truthful task/todo tool mapping and five subagent-driven-development agents, each with its own model, thinking level, and tools.",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -250,6 +250,20 @@ explicitly; an omitted model inherits the session's, which may not be the
250
250
  most capable. This is the one fresh context the whole run buys. Do not
251
251
  skip it, and do not replace it with your own read of the diff.
252
252
 
253
+ **On omp:** the `task` tool has no `model:` field — the agent type
254
+ carries the model — so choosing the reviewer's model means choosing its
255
+ agent. Dispatch `sdd-final-reviewer`, the whole-branch reviewer this
256
+ plugin ships, not the bundled `reviewer` or `task` agent. Give it the
257
+ inputs above and say the plan ran inline, with no task reviewed, so it
258
+ checks every change rather than only cross-task seams. Do not paste
259
+ code-reviewer.md into the dispatch: the agent file carries the review
260
+ method and the output format. Its model is whatever this host maps that
261
+ agent to: opus-5 · xhigh by default, re-pointed with
262
+ `task.agentModelOverrides`. Its result has findings with severities, a
263
+ `### Ledger triage` over the `Ruling:` lines you passed (a line it marks
264
+ fix-before-merge is a finding like any other), a `### Declined to judge`
265
+ list, and **Mergeable:**.
266
+
253
267
  **Without a subagent tool:** read code-reviewer.md and perform that review
254
268
  yourself against the package, as a separate pass after the last task's
255
269
  ledger line. Write `Final review: self-review (no subagent tool)` to the
@@ -554,7 +554,8 @@ branch started from, e.g. `git merge-base main HEAD`) and include the
554
554
  printed path in the final review dispatch, so the final reviewer reads
555
555
  one file instead of re-deriving the branch diff with git commands. Dispatch
556
556
  `sdd-final-reviewer` (xhigh reasoning, once per plan — see Agent
557
- Selection) with a `task` that names: the package path, the plan/spec
557
+ Selection) with a `task` that says the plan ran subagent-driven (every
558
+ task passed its task review) and names: the package path, the plan/spec
558
559
  paths, and the ledger's deferred-minor and parked-with-ruling lines
559
560
  verbatim. Do not wrap it in requesting-code-review's `code-reviewer.md` —
560
561
  that template asks a prose "Ready to merge?" and has no slot for the
@@ -30,7 +30,7 @@ This fork ships SDD-specific agents (they appear in the `task` roster once the p
30
30
  | Task reviewer | `sdd-reviewer` | sonnet-5 · high; `read`/`grep`/`glob` — no file writes, no shell (`hub start` can still launch a process; the harness cannot remove `hub`) |
31
31
  | Scoped re-review | `sdd-rereviewer` | sonnet-5 · low; `read`/`grep`; ≤4 calls |
32
32
  | Fix round 3 / ruled strongest-tier task | `sdd-escalation-implementer` | opus-5 · xhigh; same tools as the implementer |
33
- | Final whole-branch review | `sdd-final-reviewer` | opus-5 · xhigh; read-only + focused bash |
33
+ | Final whole-branch review (subagent-driven-development or executing-plans) | `sdd-final-reviewer` | opus-5 · xhigh; read-only + focused bash |
34
34
 
35
35
  Shipped defaults are Anthropic; the tiers are a thinking ladder (low / medium / high / xhigh). Re-point any seat per host with `task.agentModelOverrides` in `~/.omp/agent/config.yml` (or `/agents`) — it beats the agent file's `model:`, applies on the next dispatch, and a bare model keeps the agent's `thinkingLevel:` while an explicit `:level` replaces it.
36
36