@leing2021/super-pi 0.30.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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@leing2021/super-pi",
3
- "version": "0.30.0",
3
+ "version": "0.30.1",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "Pi-native Compound Engineering package for iterative development workflows",
@@ -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:** determine spec source in priority order — (a) plan artifact; (b) brainstorm artifact (trace back to original wording to catch directional misunderstandings the plan encoded); (c) issue references in commit messages (`git log <base>..HEAD --oneline`, scan for `#123` / `Closes #45` / `!67`) — identify the ref and ask the user whether to treat it as spec source, do **not** auto-fetch; (d) skip if none. Against the chosen spec, report **missing** requirements, **scope creep** (unrequested behaviour), and **wrong implementation** (looks done but isn't).
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
 
@@ -61,7 +61,7 @@ Code review is **technical evaluation**, not social performance:
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
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. If absent, scan commit messages for issue refs (`git log <base>..HEAD --oneline`) and ask user whether to use as spec source do not auto-fetch
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.