@leing2021/super-pi 0.29.0 → 0.30.1
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/package.json
CHANGED
|
@@ -25,7 +25,7 @@ See [shared pipeline instructions](../references/pipeline-config.md) for model r
|
|
|
25
25
|
- Extract keywords → `grep -rl "tags:.*keyword" docs/solutions/ ~/.pi/agent/docs/solutions/`
|
|
26
26
|
- Read **frontmatter** only (first 15 lines) of matches → score by severity + tag relevance
|
|
27
27
|
- Fully read top 3 candidates
|
|
28
|
-
8. **Spec axis:**
|
|
28
|
+
8. **Spec axis:** determine spec source via [`references/spec-source-detection.md`](references/spec-source-detection.md) (plan → brainstorm → commit issue ref → skip). Against the chosen spec, report **missing** requirements, **scope creep** (unrequested behaviour), and **wrong implementation** (looks done but isn't).
|
|
29
29
|
9. Produce structured findings using `references/findings-schema.md`
|
|
30
30
|
10. **Autofixable findings:** apply and re-review (max 3 iterations)
|
|
31
31
|
|
|
@@ -59,9 +59,9 @@ Code review is **technical evaluation**, not social performance:
|
|
|
59
59
|
## Workflow
|
|
60
60
|
|
|
61
61
|
1. **Load context**: consume latest handoff before any broad file reads — `context_handoff load` or read `.context/compound-engineering/handoffs/latest.md`. If found, use `activeFiles`, `artifacts.plan` as starting point. If not found, proceed normally. Read `CONTEXT.md` if it exists at root — see `../references/domain-language.md`.
|
|
62
|
-
2. Determine diff scope
|
|
62
|
+
2. Determine diff scope — prefer `branch`/`base` from latest handoff if present; else from explicit target; else ask user
|
|
63
63
|
3. Collect stats (files, insertions, deletions) → call `review_router`
|
|
64
|
-
4. Read matching plan artifact
|
|
64
|
+
4. Read matching plan artifact; if absent, follow [`references/spec-source-detection.md`](references/spec-source-detection.md) to probe brainstorm and commit issue refs
|
|
65
65
|
5. Run solution search
|
|
66
66
|
6. Apply each reviewer persona from `review_router`
|
|
67
67
|
7. Merge into structured findings
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Spec source detection
|
|
2
|
+
|
|
3
|
+
The 04-review Spec axis needs an originating spec to compare the diff against. When the user invokes 04-review standalone (no brainstorm, no plan), the Spec axis would otherwise be inert. This reference defines the probe that finds a spec source in priority order.
|
|
4
|
+
|
|
5
|
+
## Four-level probe
|
|
6
|
+
|
|
7
|
+
Try each source in order; use the first that applies:
|
|
8
|
+
|
|
9
|
+
1. **Plan artifact** (`docs/plans/`) — the default. Compare the diff against the plan's implementation units.
|
|
10
|
+
2. **Brainstorm artifact** (`docs/brainstorms/`) — trace back to the user's original wording to catch directional misunderstandings the plan itself encoded. A plan can faithfully implement the wrong thing if the brainstorm scope was misread.
|
|
11
|
+
3. **Issue references in commit messages** — scan `git log <base>..HEAD --oneline` for tokens like `#123`, `Closes #45`, `Fixes #67`, GitLab `!67`. When a ref is found, **identify it and ask the user** whether to treat the linked issue as the spec source. Do **not** auto-fetch (`gh issue view`, network calls). The decision to adopt a ref as spec stays with the user.
|
|
12
|
+
4. **Skip** — if none of the above yield a spec, the Spec axis is skipped for this run.
|
|
13
|
+
|
|
14
|
+
## Artifact-driven guard
|
|
15
|
+
|
|
16
|
+
The probe deliberately uses only local operations:
|
|
17
|
+
|
|
18
|
+
- `git log` for commit-message scanning — no network, no tracker API.
|
|
19
|
+
- No `gh issue view`, no GitHub/Linear/Jira fetch. super-pi's source of truth is the artifact, not an external tracker.
|
|
20
|
+
|
|
21
|
+
This is consistent with the four-filter evaluation in solution `2026-07-22-absorbing-external-skill-repos`: the artifact-driven filter rejects making an issue tracker a source of truth, but permits using a commit ref as an optional clue that a human promotes to spec.
|
|
22
|
+
|
|
23
|
+
## Why issue refs and not auto-fetch
|
|
24
|
+
|
|
25
|
+
- **Standalone-invocation coverage**: a team that tracks specs in GitHub issues can `/skill:04-review` a PR directly, without running 01-brainstorm. The commit-message ref is the only local signal that an issue exists.
|
|
26
|
+
- **No new hard dependency**: `git log` is always available; `gh` may not be installed or authenticated. Auto-fetch would couple review to tracker availability.
|
|
27
|
+
- **User stays in control**: a ref might be tangential (`#123` fixing an unrelated typo in the same commit). Asking before adopting prevents false specs from corrupting the Spec axis.
|
|
28
|
+
|
|
29
|
+
## Output against the chosen spec
|
|
30
|
+
|
|
31
|
+
Whichever source wins, the Spec axis reports three classes of finding against it:
|
|
32
|
+
|
|
33
|
+
- **missing** — requirements the spec asked for that the diff does not deliver.
|
|
34
|
+
- **scope creep** — behaviour in the diff the spec did not request.
|
|
35
|
+
- **wrong implementation** — requirements that look implemented but where the implementation is incorrect.
|
|
@@ -109,6 +109,10 @@ When a stage produces or updates handoff-lite, use this evidence-first structure
|
|
|
109
109
|
## Recently Accessed Files
|
|
110
110
|
- files recently read or edited
|
|
111
111
|
|
|
112
|
+
## Git Context
|
|
113
|
+
- branch: <current branch or N/A>
|
|
114
|
+
- base: <diff base ref, e.g. main / N/A>
|
|
115
|
+
|
|
112
116
|
## Artifacts
|
|
113
117
|
- requirements: <path or N/A>
|
|
114
118
|
- plan: <path or N/A>
|