@jwilger/pi-development-system 0.15.0 → 0.17.0
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/agents/advisor.md +0 -1
- package/agents/implementer.md +0 -1
- package/agents/lens-cagan.md +0 -1
- package/agents/lens-perri.md +0 -1
- package/agents/lens-pichler.md +0 -1
- package/agents/lens-rumelt.md +0 -1
- package/agents/lens-torres.md +0 -1
- package/agents/reviewer.md +0 -1
- package/package.json +1 -1
- package/skills/delegation/SKILL.md +2 -2
- package/src/core/routing.ts +1 -1
- package/src/subagents/VENDORED.md +1 -0
- package/src/subagents/orch/runtime.ts +7 -1
- package/src/subagents/types.ts +1 -1
package/agents/advisor.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: advisor
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Read-only decision support for hard design, planning or trade-off questions: returns a recommendation, the alternatives considered, and the cost if the recommendation is wrong. Does not implement."
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: accent
|
package/agents/implementer.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: implementer
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Implements exactly one task record test-first: failing test, minimal code, passing run, then reports Run/Expected evidence. Edits only the files the task names; stops and reports when the task is unclear or needs a decision."
|
|
5
4
|
thinkingLevel: medium
|
|
6
5
|
color: success
|
package/agents/lens-cagan.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lens-cagan
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Read-only product risk lens: value, usability, feasibility and viability risks; outcome versus output; whether the work builds to learn or builds to earn. Reviews planning and product artifacts as Cagan; advisory critique, never customer evidence."
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: accent
|
package/agents/lens-perri.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lens-perri
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Read-only anti-feature-factory lens: output versus outcome, roadmap-as-promises, escaping the build trap. Reviews planning and product artifacts as Perri; advisory critique, never customer evidence."
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: accent
|
package/agents/lens-pichler.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lens-pichler
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Read-only product-strategy and backlog lens: vision, goal-based roadmap, product-model coherence, decisions with owners. Reviews planning and product artifacts as Pichler; advisory critique, never customer evidence."
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: accent
|
package/agents/lens-rumelt.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lens-rumelt
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Read-only strategy-kernel lens: diagnosis, guiding policy, coherent actions; flags fluff, goals-as-strategy and bad strategy. Reviews planning and product artifacts as Rumelt; advisory critique, never customer evidence."
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: accent
|
package/agents/lens-torres.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: lens-torres
|
|
3
|
-
icon: ''
|
|
4
3
|
description: "Read-only continuous-discovery lens: outcome at the root, one opportunity at a time, at least two solutions compared, assumptions made specific and tested. Reviews planning and product artifacts as Torres; advisory critique, never customer evidence."
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: accent
|
package/agents/reviewer.md
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: reviewer
|
|
3
|
-
icon: ''
|
|
4
3
|
description: Fresh-context, non-mutating review of one slice's diff for demonstrable defects, with severity, path:line, and the smallest local repair; emits the devsys review packet. Not for implementing fixes or style quotas.
|
|
5
4
|
thinkingLevel: high
|
|
6
5
|
color: warning
|
package/package.json
CHANGED
|
@@ -34,8 +34,8 @@ agent_spawn({path: "/impl-add-flag", type: "implementer", task: "...",
|
|
|
34
34
|
|
|
35
35
|
- Jev judges difficulty and risk; the project's `[routing]` table (slots, never
|
|
36
36
|
model ids) decides. Jev offline means `routine/low`.
|
|
37
|
-
- If the result says the slot is unresolvable, spawning without a pin fails the
|
|
38
|
-
way (the agent's own `models:` list
|
|
37
|
+
- If the result says the slot is unresolvable, spawning without a pin usually fails the
|
|
38
|
+
same way (the agent's own `models:` list defaults to the same candidates). Run `/devsys-models`
|
|
39
39
|
to fix the matrix, or pin a model you know works.
|
|
40
40
|
- A pin is an explicit choice: it bypasses `/scoped-models` and the agent's `models:`
|
|
41
41
|
list, so only pin what the route (or you, with a stated reason) selected.
|
package/src/core/routing.ts
CHANGED
|
@@ -55,7 +55,7 @@ export function recommendRoute(input: {
|
|
|
55
55
|
if (!resolved.ok) {
|
|
56
56
|
return {
|
|
57
57
|
...route,
|
|
58
|
-
note: `${prefix}No model with credentials resolves slot "${route.slot}" (unresolvable); an agent spawned without a pin
|
|
58
|
+
note: `${prefix}No model with credentials resolves slot "${route.slot}" (unresolvable); an agent spawned without a pin usually fails the same way (its models: list defaults to the same candidates), so run /devsys-models to fix the matrix or pin a model you know works.`,
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
return {
|
|
@@ -39,3 +39,4 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
39
39
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
40
40
|
SOFTWARE.
|
|
41
41
|
6. Empty scope (I5 review): `orch/runtime.ts` `availableScopedModels` treats an empty `/scoped-models` as no restriction (pi's meaning) instead of "matches nothing", because every devsys agent declares `models:` and would otherwise be unspawnable by default. Pinned models are also re-applied on resume (`resolveInitialSettings`), since a restored session may hold only inherited history.
|
|
42
|
+
7. Bundled agents outside `src/subagents`: `agents/researcher.md` (devsys `models:` family list) and `agents/reviewer.md` (devsys `models:` list and packet format; description rewritten; upstream `icon` and `modelSuggestions` removed) differ from upstream; `agents/{advisor,implementer,lens-*}.md` are new. The agent file format itself is unchanged.
|
|
@@ -153,6 +153,11 @@ export function createDriverFactory(
|
|
|
153
153
|
getInheritedTools: () => InheritedToolSource = () => ({ tools: [], activeNames: [] }),
|
|
154
154
|
): DriverFactory & {
|
|
155
155
|
resolveAgentSettings(type: AgentType, parentPath: string): ResolvedAgentSettings;
|
|
156
|
+
resolveInitialSettings(
|
|
157
|
+
type: AgentType,
|
|
158
|
+
parentPath?: string | null,
|
|
159
|
+
restored?: ReturnType<SessionManager["buildSessionContext"]>,
|
|
160
|
+
): { provider?: string; id?: string; thinkingLevel: ThinkingLevel };
|
|
156
161
|
} {
|
|
157
162
|
// Keep resolved settings even after disposal: descendants inherit settings, not the caller's history.
|
|
158
163
|
const resolved = new Map<string, { provider: string; id: string; thinking: ThinkingLevel }>();
|
|
@@ -800,5 +805,6 @@ export function createDriverFactory(
|
|
|
800
805
|
},
|
|
801
806
|
};
|
|
802
807
|
};
|
|
803
|
-
|
|
808
|
+
// devsys: resolveInitialSettings is exposed so resume behaviour can be tested directly.
|
|
809
|
+
return Object.assign(createDriver, { resolveAgentSettings, resolveInitialSettings });
|
|
804
810
|
}
|
package/src/subagents/types.ts
CHANGED
|
@@ -69,7 +69,7 @@ export interface ThreadView {
|
|
|
69
69
|
/** Cumulative output tokens. Live views include the in-progress message. */
|
|
70
70
|
outputTokens?: number;
|
|
71
71
|
/** devsys: per-spawn model/thinkingLevel pin requested through agent_spawn, when any. */
|
|
72
|
-
pinned?:
|
|
72
|
+
pinned?: { model?: string; thinkingLevel?: ThinkingLevel };
|
|
73
73
|
}
|
|
74
74
|
export type DriverEvent =
|
|
75
75
|
| { kind: "activity" | "error"; text: string }
|