@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.
|
|
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`
|
|
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
|
|
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,
|
|
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
|
-
-
|
|
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
|
|
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.
|
|
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
|
|
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
|
|