@juicesharp/rpiv-pi 0.8.1 → 0.8.3

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": "@juicesharp/rpiv-pi",
3
- "version": "0.8.1",
3
+ "version": "0.8.3",
4
4
  "description": "Skill-based development workflow for Pi Agent — discover, research, design, plan, implement, validate",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -30,7 +30,7 @@ Use the current working directory as the target project by default. If the user
30
30
 
31
31
  **Agent B — Architecture and conventions:**
32
32
  - subagent_type: `codebase-locator`
33
- - Prompt: "Identify the architectural layers, folder roles, and framework conventions in [target directory]. Determine: What architecture pattern is used (clean architecture, MVC, monorepo, microservices, hexagonal, etc.)? What are the main layers/modules? What frameworks and languages are present? What build system is used? For each main layer/module, check if it contains internal sub-layers with distinct architectural roles. If it does, explicitly flag each sub-layer as a guidance target candidate with: (a) path, (b) role/responsibility, (c) approximate file count, (d) how its patterns differ from siblings. Frontend frameworks (Angular, React, Vue, etc.) almost always have distinct sub-layers components, services, shared/base classes, state management — report each separately."
33
+ - Prompt: "Identify the architectural layout of [target directory] from path shape and manifest files NO content analysis. Detect: (1) Architecture pattern inferred from folder shape — clean-arch via Domain/Application/Infrastructure dirs; MVC via Controllers/Models/Views; monorepo via packages/* + workspaces; microservices via services/* with individual manifests; hexagonal via ports/adapters. (2) Main layers/modules top-level source directories + their names. (3) Frameworks and languages from manifest files (package.json dependencies, *.csproj TargetFramework, pyproject.toml, go.mod, Cargo.toml) and file extensions. (4) Build system from build-config filenames (vite/webpack/tsup/esbuild configs, Makefile, nx.json, turbo.json, dotnet .sln). For each main layer/module, check sub-directory composition. If sub-directories with distinct names/roles exist, flag each as a guidance target candidate with: (a) path, (b) role inferred from folder name (controllers/, services/, entities/, components/, stores/, etc.), (c) file count via ls, (d) how its sub-directory composition differs from sibling layers. Use grep/find/ls only. Do not read file contents. Pass 2 runs codebase-analyzer + codebase-pattern-finder per target folder for deep analysis."
34
34
 
35
35
  - While agents run, read .gitignore yourself to understand exclusion rules
36
36
 
@@ -30,7 +30,7 @@ Use the current working directory as the target project by default. If the user
30
30
 
31
31
  **Agent B — Architecture and conventions:**
32
32
  - subagent_type: `codebase-locator`
33
- - Prompt: "Identify the architectural layers, folder roles, and framework conventions in [target directory]. Determine: What architecture pattern is used (clean architecture, MVC, monorepo, microservices, hexagonal, etc.)? What are the main layers/modules? What frameworks and languages are present? What build system is used? For each main layer/module, check if it contains internal sub-layers with distinct architectural roles. If it does, explicitly flag each sub-layer as a CLAUDE.md target candidate with: (a) path, (b) role/responsibility, (c) approximate file count, (d) how its patterns differ from siblings. Frontend frameworks (Angular, React, Vue, etc.) almost always have distinct sub-layers components, services, shared/base classes, state management — report each separately."
33
+ - Prompt: "Identify the architectural layout of [target directory] from path shape and manifest files NO content analysis. Detect: (1) Architecture pattern inferred from folder shape — clean-arch via Domain/Application/Infrastructure dirs; MVC via Controllers/Models/Views; monorepo via packages/* + workspaces; microservices via services/* with individual manifests; hexagonal via ports/adapters. (2) Main layers/modules top-level source directories + their names. (3) Frameworks and languages from manifest files (package.json dependencies, *.csproj TargetFramework, pyproject.toml, go.mod, Cargo.toml) and file extensions. (4) Build system from build-config filenames (vite/webpack/tsup/esbuild configs, Makefile, nx.json, turbo.json, dotnet .sln). For each main layer/module, check sub-directory composition. If sub-directories with distinct names/roles exist, flag each as a CLAUDE.md target candidate with: (a) path, (b) role inferred from folder name (controllers/, services/, entities/, components/, stores/, etc.), (c) file count via ls, (d) how its sub-directory composition differs from sibling layers. Use grep/find/ls only. Do not read file contents. Pass 2 runs codebase-analyzer + codebase-pattern-finder per target folder for deep analysis."
34
34
 
35
35
  - While agents run, read .gitignore yourself to understand exclusion rules
36
36
 
@@ -137,7 +137,7 @@ Spawn these agents in parallel using the Agent tool. Each receives the `## Disco
137
137
 
138
138
  **Dependencies lens:**
139
139
  - subagent_type: `codebase-analyzer`
140
- - Prompt (only when `ManifestChanged` is true; otherwise SKIP and set `dependency_issues: 0`, `passes: [quality, security]`):
140
+ - Prompt (only when `ManifestChanged` is true; otherwise SKIP this lens and omit the `### Dependencies` H3 block from the artifact):
141
141
  ```
142
142
  Known Context:
143
143
  [paste Discovery Map verbatim]
@@ -200,11 +200,8 @@ Spawn these agents in parallel using the Agent tool. Each receives the `## Disco
200
200
  2. **Probe advisor availability** — attempt a probe by checking whether `advisor` is in the active tool set (main-thread visibility). If yes, proceed to advisor path; otherwise take the inline path.
201
201
 
202
202
  3. **Advisor path** (when advisor is active):
203
- - Print a main-thread `## Pre-Adjudication Findings` block containing the compiled evidence and tentative severity map. This ensures the findings are persisted into `getBranch()` before the advisor call.
204
- - Call `advisor()` (zero-param). Wait for the response.
205
- - On success: paste the advisor's prose verbatim into the artifact's `## Advisor Adjudication` section (Step 6) and note `advisor_used: true` + `advisor_model: [model-id]` in frontmatter.
206
- - On `"aborted"` or empty text: set `advisor_used: false`, skip the adjudication section, fall through to the inline path.
207
- - On `"error"`: note the error inline in the adjudication section as `advisor error: <message>`; continue with inline reconciliation alongside.
203
+ - Print a main-thread `## Pre-Adjudication Findings` block first the advisor reads `getBranch()`, so evidence must be flushed before the call.
204
+ - Call `advisor()` (zero-param). If it returns usable prose, paste it verbatim into `## Advisor Adjudication` and skip the inline path. Otherwise fall through.
208
205
 
209
206
  4. **Inline path** (advisor unavailable or errored):
210
207
  - Run a dimension-sweep modeled on `skills/design/SKILL.md:83-116`: Data model / API surface / Integration / Scope / Verification / Performance.
@@ -226,7 +223,7 @@ Quality: [C🔴/I🟡/S🔵/D💭]
226
223
  Security: [C/I/S/D]
227
224
  Dependencies: [C/I/S/D | not-applicable]
228
225
  Precedents: [N composite lessons, top: "[one-line]"]
229
- Advisor: [used (model) | unavailable]
226
+ Advisor: [adjudicated | inline]
230
227
  ```
231
228
 
232
229
  Wait for the developer's response. Then ask **one question at a time**, waiting for each answer.
@@ -261,16 +258,9 @@ branch: [Branch]
261
258
  commit: [Short hash]
262
259
  review_type: [commit|pr|staged|working]
263
260
  scope: "[What was reviewed]"
264
- files_changed: [N]
265
261
  critical_issues: [Count across all lenses]
266
262
  important_issues: [Count]
267
263
  suggestions: [Count]
268
- quality_issues: [Count]
269
- security_issues: [Count]
270
- dependency_issues: [Count | 0 when not-applicable]
271
- passes: [quality, security, dependencies] # omit dependencies when not-applicable
272
- advisor_used: [true|false]
273
- advisor_model: [provider:id] # only when advisor_used is true
274
264
  status: [approved|needs_changes|requesting_changes]
275
265
  tags: [code-review, relevant-components]
276
266
  last_updated: [YYYY-MM-DD]
@@ -311,7 +301,7 @@ last_updated_by: [User]
311
301
  - `file:line` — [architectural question]
312
302
 
313
303
  ### Dependencies
314
- (Omit this H3 block entirely when `passes` excludes `dependencies`.)
304
+ (Omit this H3 block entirely when the Dependencies lens was skipped — i.e., `ManifestChanged` was false.)
315
305
  #### 🔴 Critical
316
306
  - `dep@ver` (`package.json:line`) — [CVE id + link + affected-range + fix version]
317
307
  #### 🟡 Important
@@ -337,8 +327,8 @@ last_updated_by: [User]
337
327
  [Links to thoughts/ docs referenced by precedent-locator; one line each, no summaries.]
338
328
 
339
329
  ## Advisor Adjudication
340
- (Omit when `advisor_used: false`.)
341
- [Advisor model prose pasted VERBATIM. Do not edit or paraphrase. If `advisor error:` prefix is present, leave it as-is.]
330
+ (Omit this H2 entirely when the advisor did not run — its presence IS the signal that adjudication occurred.)
331
+ [Advisor model prose pasted VERBATIM. Do not edit or paraphrase.]
342
332
 
343
333
  ## Reconciliation Notes
344
334
  (Include only when the inline path ran, OR when developer dispute in Step 5 moved a severity.)
@@ -355,7 +345,7 @@ Review written to:
355
345
  `thoughts/shared/reviews/[filename].md`
356
346
 
357
347
  [C] critical, [I] important, [S] suggestions across [Q] quality, [Se] security, [D] dependency issues.
358
- Advisor: [used (model) | unavailable]
348
+ Advisor: [adjudicated | inline]
359
349
  Status: [verdict]
360
350
 
361
351
  Top items:
@@ -57,16 +57,16 @@ This is NOT a discovery sweep. Focus on DEPTH (how things work, what patterns to
57
57
  - Use **codebase-pattern-finder** to find existing implementations to model after — the primary template for code shape
58
58
  - Use **codebase-analyzer** to understand HOW integration points work in detail
59
59
  - Use **integration-scanner** to map the wiring surface — inbound refs, outbound deps, config/DI/event registration
60
- - Use **precedent-locator** to find similar past changes in git history — what commits introduced comparable features, what broke, and what lessons apply to this design
60
+ - Use **precedent-locator** to find similar past changes in git history — what commits introduced comparable features, what broke, and what lessons apply to this design. Only when `git_commit` is available (not `no-commit`); otherwise skip and note "git history unavailable" in Verification Notes.
61
61
 
62
62
  **Novel work** (new libraries, first-time patterns, no existing codebase precedent):
63
63
  - Add **web-search-researcher** for external documentation, API references, and community patterns
64
64
  - Instruct it to return LINKS with findings — include those links in the final design artifact
65
65
 
66
- Agent prompts should focus on:
67
- - "Find the implementation pattern I should model after for [feature type]"
68
- - "How does [integration point] work in detail — show me the wiring"
69
- - "What connects to [component] — inbound refs, outbound deps, config"
66
+ Agent prompts should focus on (labeled by target agent):
67
+ - **codebase-pattern-finder**: "Find the implementation pattern I should model after for [feature type]"
68
+ - **codebase-analyzer**: "How does [integration point] work in detail"
69
+ - **integration-scanner**: "What connects to [component] — inbound refs, outbound deps, config"
70
70
 
71
71
  NOT: "Find all files related to X" — that's discovery's job, upstream of this skill.
72
72
 
@@ -71,7 +71,7 @@ Before Step 1, create a todo list tracking every step below (Step 1 through Step
71
71
  - Do NOT ask a locator to also cover packaging, docs, runtime wiring, and permissions unless they are the same seam
72
72
 
73
73
  Example prompts:
74
- - codebase-locator: "Find ALL files that [implement/call/emit/subscribe to/import] [specific component]. For each file, report the key function signatures, exported types, and import chains. Search exhaustively — grep for method names, class names, event strings."
74
+ - codebase-locator: "Find ALL files that [implement/call/emit/subscribe to/import] [specific component]. For each file, report the key function names, class/type names, and import chains. Search exhaustively — grep for method names, class names, event strings. Report only declaration lines via grep match anchors (e.g., `file.ts:42`); full multi-line signatures and type bodies are captured by the orchestrator in Step 3 when it reads key files for depth."
75
75
  - integration-scanner: "What connects to [area] — inbound refs, outbound deps, config/DI/event wiring. For each connection, report the function/method that creates it."
76
76
  - thoughts-locator: "What existing docs/decisions exist about [topic]"
77
77
 
@@ -53,7 +53,7 @@ First, detect the project's technology stack by checking for framework indicator
53
53
 
54
54
  Spawn parallel discovery agents using the Agent tool:
55
55
  - Use the **codebase-locator** agent to find all registered routes, navigation menus, and page entry points
56
- - Use the **codebase-locator** agent to find all frontend HTTP API call sites and which backend URLs they hit
56
+ - Use the **codebase-locator** agent to find all frontend HTTP API call sites — report each call-site `file:line` and the literal URL template string found at the call site (e.g., ``${base}/users/${id}``). Frontend-to-backend URL correlation happens orchestrator-side in Step 3's Cross-Reference synthesis (`skills/outline-test-cases/SKILL.md:71-79`) using the backend-controller findings from the next agent.
57
57
  - Use the **codebase-locator** agent to find all backend API controllers and route handlers
58
58
  - Use the **test-case-locator** agent to find existing test cases in `.rpiv/test-cases/` to avoid duplicates
59
59
 
@@ -81,11 +81,11 @@ Question 2: [Full dense question paragraph]
81
81
  For each question, provide your analysis with exact file:line references. Note connections between the questions where the same code serves multiple roles. Focus on DEPTH — trace the actual code, don't just locate it.
82
82
  ```
83
83
 
84
- **Precedent sweep (always spawn):**
85
- Spawn one `precedent-locator` agent alongside the question agents:
86
- "Find similar past changes involving [list key files from Discovery Summary]. Search git log for commits that touched these files, similar commit messages, and follow-up fixes. Research topic: [original query]."
84
+ **Precedent sweep (git-gated):**
87
85
 
88
- This agent runs with full knowledge of discovered files its findings go into Precedents & Lessons, not tied to a specific question.
86
+ When `git_commit` is available (not `no-commit`), spawn one `precedent-locator` agent alongside the question agents with prompt: "Find similar past changes involving [list key files from Discovery Summary]. Search git log for commits that touched these files, similar commit messages, and follow-up fixes. Research topic: [original query]."
87
+
88
+ Findings go into Precedents & Lessons. Otherwise skip and note "git history unavailable" there.
89
89
 
90
90
  **Wait for ALL agents to complete** before proceeding.
91
91
 
@@ -95,7 +95,7 @@ Using the entry points discovered in Step 2 (validated against _meta.md when ava
95
95
 
96
96
  **Agent D — Postcondition Discovery:**
97
97
  - subagent_type: `integration-scanner`
98
- - Prompt: "Find all side effects triggered by {feature name} actions{endpoint_scope}. Look for: domain events published, message handlers invoked, email/notification triggers, external API calls, database cascades, cache invalidations, audit log entries, webhook dispatches. For each side effect, report: what triggers it (which action/endpoint), what it does, and where the handler code lives. These become postconditions in test cases.{scope_context}"
98
+ - Prompt: "Find all side effects triggered by {feature name} actions{endpoint_scope}. Look for: domain events published, message handlers invoked, email/notification triggers, external API calls, database cascades, cache invalidations, audit log entries, webhook dispatches. For each side effect, report: what triggers it (which action/endpoint) and where the handler code lives (file:line). Do NOT describe what the handler does — only locate it. These locations become postconditions in test cases.{scope_context}"
99
99
 
100
100
  Wait for ALL agents to complete before proceeding.
101
101