@juicesharp/rpiv-pi 0.11.3 → 0.11.5

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/README.md CHANGED
@@ -3,6 +3,8 @@
3
3
  [![npm version](https://img.shields.io/npm/v/@juicesharp/rpiv-pi.svg)](https://www.npmjs.com/package/@juicesharp/rpiv-pi)
4
4
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
5
5
 
6
+ > ⚠ **Pi compatibility** — `rpiv-pi` `0.11.x` supports **`@mariozechner/pi-coding-agent` ≤ 0.67.67**. Newer Pi releases introduce breaking changes and are unsupported on this line. Pin Pi to `0.67.67` (`npm i -g @mariozechner/pi-coding-agent@0.67.67`) or wait for the next `rpiv-pi` major.
7
+
6
8
  Skill-based development workflow for [Pi Agent](https://github.com/badlogic/pi-mono) — discover, research, design, plan, implement, and validate. rpiv-pi extends Pi Agent with a pipeline of chained AI skills, named subagents for parallel analysis, and session lifecycle hooks for automatic context injection.
7
9
 
8
10
  ## Prerequisites
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juicesharp/rpiv-pi",
3
- "version": "0.11.3",
3
+ "version": "0.11.5",
4
4
  "description": "Skill-based development workflow for Pi Agent — discover, research, design, plan, implement, validate",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -44,7 +44,7 @@
44
44
  ]
45
45
  },
46
46
  "peerDependencies": {
47
- "@mariozechner/pi-coding-agent": "*",
47
+ "@mariozechner/pi-coding-agent": "<=0.67.67",
48
48
  "@tintinweb/pi-subagents": "*",
49
49
  "@juicesharp/rpiv-ask-user-question": "*",
50
50
  "@juicesharp/rpiv-todo": "*",
@@ -382,7 +382,7 @@ Before writing the artifact, spawn ONE `codebase-analyzer` whose sole job is to
382
382
  [paste the full reconciled severity map — each finding with its file:line citation, verbatim line quote per the citation contract, and severity tier]
383
383
 
384
384
  For EACH finding:
385
- 1. Open the cited file at the cited line using Read. Confirm the verbatim quote appears at that line.
385
+ 1. `grep -n` the verbatim quote in the cited file. Absent → Falsified. Present at a different line rewrite the citation to the actual line, then continue. Present at cited line → continue.
386
386
  2. If the finding makes a claim about behavior reachable elsewhere (consumer filters, dispatch registrations, peer aggregates, upstream guards, downstream sinks), Read those referenced files too. Do NOT trust the patch-only view.
387
387
  3. If the finding claims a state is "stranded" / a predicate is "false-promise" / a precondition is "missing" — construct a concrete 2–3 line reproducer trace: "caller at A:L invokes B:L with entity in state X; guard at C:L rejects; exit path would require D which the code does not provide." If you cannot construct it, the finding is Weakened.
388
388
  4. If the finding was marked `resolved-by: <hash>` in Step 5, Read the resolving commit's changes on the reviewed branch (via `git show <hash> -- <file>`) and confirm the resolution is actually present at TIP.
@@ -1,6 +1,6 @@
1
1
  <!-- Emitted by code-review SKILL.md Step 7. Placeholders in [brackets] are filled at emission; section-omission rules live inline in SKILL.md. -->
2
2
  ---
3
- template_version: 1
3
+ template_version: 2
4
4
  date: [ISO 8601 w/ tz]
5
5
  reviewer: [User]
6
6
  repository: [Repo]
@@ -9,94 +9,142 @@ commit: [Short hash]
9
9
  review_type: [commit | pr | staged | working]
10
10
  scope: "[What was reviewed]"
11
11
  status: [approved | needs_changes | requesting_changes]
12
- counts: "[C]🔴 · [I]🟡 · [S]🔵"
13
- verification: "[V] verified · [W] weakened · [F] dropped"
12
+ severity: { critical: [C], important: [I], suggestion: [S] }
13
+ verification: { verified: [V], weakened: [W], falsified: [F] }
14
+ blockers_count: [B]
14
15
  tags: [code-review, relevant-components]
15
16
  ---
16
17
 
17
- # Code Review — [Scope] ([commit])
18
+ # Code Review — [Scope]
18
19
 
19
- Status: **[status]** · [C]🔴 · [I]🟡 · [S]🔵 · verification: [V]✓ [W]− [F]✗
20
+ **Commit:** `[hash]` · **Status:** `[status]` · **Findings:** [C]🔴 · [I]🟡 · [S]🔵 · **Verification:** [V]✓ / [W]− / [F]✗
20
21
 
21
- Top blockers:
22
- 1. [ID] — [one-line headline]
23
- 2. [ID] — [one-line headline]
22
+ ## Top Blockers
24
23
 
25
- ───────────────────────────────────────────────────────────────────
24
+ 1. **[ID]** — [one-line headline]
25
+ 2. **[ID]** — [one-line headline]
26
+
27
+ ---
26
28
 
27
29
  ## Legend
28
- 🔴 fix before merge · 🟡 fix soon · 🔵 nice to have · 💭 discuss
29
- IDs: I=interaction Q=quality S=security G=gap
30
- verification: ✓ verified − weakened (demoted) ✗ falsified (dropped)
31
- annotations: [precedent-weighted] [cascade: <kind>] [subsumed-by <ID>]
32
30
 
33
- ───────────────────────────────────────────────────────────────────
31
+ ```text
32
+ Severity 🔴 fix before merge 🟡 fix soon 🔵 nice to have 💭 discuss
33
+ ID prefix I interaction Q quality S security G gap
34
+ Verify ✓ verified − weakened (demoted) ✗ falsified (dropped)
35
+ Annotate [precedent-weighted] [cascade: <kind>] [subsumed-by <ID>]
36
+ ```
37
+
38
+ ---
34
39
 
35
40
  ## 🔴 Critical
36
41
 
37
- 🔴 [ID] [annotation?] [short headline]
38
- - where file:line
39
- - code `<verbatim line from the file>`
40
- - why [1–2 lines: mechanism, not symptom]
41
- - fix [one sentence, imperative]
42
- - alt [optional: alternative fix]
42
+ ### [ID] 🔴 [short headline] `[annotation?]`
43
43
 
44
- (one block per 🔴 finding; interaction findings may add a `peer` or `cites` line listing the ≥2 file:line facts)
44
+ **Where**
45
+ `[file:line]`
45
46
 
46
- ───────────────────────────────────────────────────────────────────
47
+ **Code**
48
+ ```[lang]
49
+ [verbatim line(s) from the file]
50
+ ```
51
+
52
+ **Why**
53
+ [1–2 sentences: mechanism, not symptom]
54
+
55
+ **Fix**
56
+ [one sentence, imperative]
57
+
58
+ **Alt**
59
+ [optional: alternative fix]
60
+
61
+ ---
47
62
 
48
63
  ## 🟡 Important
49
64
 
50
- 🟡 [ID] [annotation?] [short headline]
51
- - where file:line
52
- - code `<verbatim line>`
53
- - why [mechanism]
54
- - fix [action]
65
+ ### [ID] 🟡 [short headline] `[annotation?]`
66
+
67
+ **Where**
68
+ `[file:line]`
69
+
70
+ **Code**
71
+ ```[lang]
72
+ [verbatim line(s)]
73
+ ```
74
+
75
+ **Why**
76
+ [mechanism]
55
77
 
56
- ───────────────────────────────────────────────────────────────────
78
+ **Fix**
79
+ [action]
80
+
81
+ ---
57
82
 
58
83
  ## 🔵 Suggestions
59
84
 
60
- 🔵 [ID] [short headline]
61
- - where file:line
62
- - fix [action]
85
+ ### [ID] 🔵 [short headline]
86
+
87
+ **Where**
88
+ `[file:line]`
63
89
 
64
- ───────────────────────────────────────────────────────────────────
90
+ **Fix**
91
+ [action]
92
+
93
+ ---
65
94
 
66
95
  ## 💭 Discussion
67
96
 
68
- 💭 [ID] [question / architectural concern]
69
- - where file:line
70
- - why [what the reviewer wants the author to consider]
97
+ ### [ID] 💭 [question / architectural concern]
71
98
 
72
- ───────────────────────────────────────────────────────────────────
99
+ **Where**
100
+ `[file:line]`
101
+
102
+ **Why**
103
+ [what the reviewer wants the author to consider]
104
+
105
+ ---
73
106
 
74
107
  ## Pattern Analysis
75
- Peer: `<peer file>` · Mirrored [M] · Missing [Mi] · Diverged [D] · Intentionally-absent [A]
76
- Missing/Diverged rows drive: [finding IDs]
77
108
 
78
- ───────────────────────────────────────────────────────────────────
109
+ | Peer | Mirrored | Missing | Diverged | Intentional |
110
+ | --------------- | -------: | ------: | -------: | ----------: |
111
+ | `[peer file]` | [M] | [Mi] | [D] | [A] |
112
+
113
+ **Missing/Diverged rows drive:** [finding IDs]
114
+
115
+ **Key divergences from peer**
116
+ - [divergence one]
117
+ - [divergence two]
118
+
119
+ ---
79
120
 
80
121
  ## Impact
81
122
 
82
- consumer change findings
83
- ──────────────────────────────── ────────────── ────────
84
- [file:line] [change class] [IDs]
123
+ | Consumer | Change | Findings |
124
+ | --------------- | ---------------- | -------- |
125
+ | `[file:line]` | [change class] | [IDs] |
85
126
 
86
- ───────────────────────────────────────────────────────────────────
127
+ ---
87
128
 
88
129
  ## Precedents
89
- [hash] "[commit subject]" [30d follow-ups | NOT ancestor of [TIP] | note]
90
130
 
91
- Recurring lessons (most → least):
92
- 1. [composite lesson]
93
- 2. ...
131
+ | Commit | Subject | Follow-ups |
132
+ | --------- | ---------------- | ------------------------------------------------------- |
133
+ | `[hash]` | [commit subject] | [30d follow-ups, or "NOT ancestor of [TIP]", or note] |
134
+
135
+ **Recurring lessons (most → least frequent)**
94
136
 
95
- ───────────────────────────────────────────────────────────────────
137
+ 1. [composite lesson]
138
+ 2. ...
139
+
140
+ ---
96
141
 
97
142
  ## Recommendation
98
- > (advisor prose pasted verbatim here when advisor ran; omit the blockquote otherwise)
99
143
 
100
- 1. [ID] [action, one sentence] | Alt: [alternative]
101
- 2. [ID] [action]
102
- 3. [ID] [action]
144
+ > (advisor prose pasted verbatim here as a blockquote when advisor ran; omit the blockquote otherwise)
145
+
146
+ | # | ID | Action | Alt / Note |
147
+ | - | ------ | --------------------------- | ----------------- |
148
+ | 1 | [ID] | [action, one sentence] | [alternative] |
149
+ | 2 | [ID] | [action] | — |
150
+ | 3 | [ID] | [action] | — |