pi-harness-runtime 1.1.42 → 1.1.44

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.
Files changed (93) hide show
  1. package/harness/langchain/agents.test.ts +40 -0
  2. package/harness/langchain/agents.ts +85 -20
  3. package/harness/langchain/graph.ts +18 -11
  4. package/package.json +1 -1
  5. package/packages/a2a-adapter/package.json +1 -1
  6. package/packages/architecture-generator/package.json +1 -1
  7. package/packages/auth/package.json +1 -1
  8. package/packages/autonomous-refactor/package.json +1 -1
  9. package/packages/autonomous-runtime/package.json +1 -1
  10. package/packages/cache-strategy/package.json +1 -1
  11. package/packages/capability-registry/package.json +1 -1
  12. package/packages/checkpoint/package.json +1 -1
  13. package/packages/cli-plugin-sdk/package.json +1 -1
  14. package/packages/clipboard/package.json +1 -1
  15. package/packages/clipboard-plugin/package.json +1 -1
  16. package/packages/code-generation/package.json +1 -1
  17. package/packages/code-review/package.json +1 -1
  18. package/packages/codex-adapter/package.json +1 -1
  19. package/packages/config-capture/package.json +1 -1
  20. package/packages/context-compiler/package.json +1 -1
  21. package/packages/context-discovery/package.json +1 -1
  22. package/packages/context-manager/package.json +1 -1
  23. package/packages/cookie-sanitizer/package.json +1 -1
  24. package/packages/cost-optimizer/package.json +1 -1
  25. package/packages/dependency-analyzer/package.json +1 -1
  26. package/packages/django-plugin/package.json +1 -1
  27. package/packages/doc-generator/package.json +1 -1
  28. package/packages/evaluation-engine/package.json +1 -1
  29. package/packages/evaluation-runner/package.json +1 -1
  30. package/packages/event-bus/package.json +1 -1
  31. package/packages/event-store/package.json +1 -1
  32. package/packages/experience-replay/package.json +1 -1
  33. package/packages/feedback-collector/package.json +1 -1
  34. package/packages/file-copy-helper/package.json +1 -1
  35. package/packages/framework-detector/package.json +1 -1
  36. package/packages/framework-plugin-sdk/package.json +1 -1
  37. package/packages/frappe-plugin/package.json +1 -1
  38. package/packages/generic-web-plugin/package.json +1 -1
  39. package/packages/health-monitor/package.json +1 -1
  40. package/packages/intent-analyzer/package.json +1 -1
  41. package/packages/knowledge-graph/package.json +1 -1
  42. package/packages/knowledge-retrieval/package.json +1 -1
  43. package/packages/laravel-plugin/package.json +1 -1
  44. package/packages/learning-engine/package.json +1 -1
  45. package/packages/mcp-adapter/package.json +1 -1
  46. package/packages/memory-engine/package.json +1 -1
  47. package/packages/milestone-manager/package.json +1 -1
  48. package/packages/model-registry/package.json +1 -1
  49. package/packages/nextjs-plugin/package.json +1 -1
  50. package/packages/notification/package.json +1 -1
  51. package/packages/observability/package.json +1 -1
  52. package/packages/okf-indexer/package.json +1 -1
  53. package/packages/performance-optimizer/package.json +1 -1
  54. package/packages/privilege-broker/package.json +1 -1
  55. package/packages/project-analyzer/package.json +1 -1
  56. package/packages/project-bootstrap/package.json +1 -1
  57. package/packages/projection-engine/package.json +1 -1
  58. package/packages/prompt-compiler/package.json +1 -1
  59. package/packages/prompt-versioning/package.json +1 -1
  60. package/packages/provider-adapter-sdk/package.json +1 -1
  61. package/packages/provider-router/package.json +1 -1
  62. package/packages/provider-selector/package.json +1 -1
  63. package/packages/providers/package.json +1 -1
  64. package/packages/quota-manager/package.json +1 -1
  65. package/packages/rate-limiter/package.json +1 -1
  66. package/packages/react-vite-plugin/package.json +1 -1
  67. package/packages/release-manager/package.json +1 -1
  68. package/packages/requirement-compiler/package.json +1 -1
  69. package/packages/runtime/package.json +1 -1
  70. package/packages/scheduler/package.json +1 -1
  71. package/packages/scheduler-adapter/package.json +1 -1
  72. package/packages/session/package.json +1 -1
  73. package/packages/session-api/package.json +1 -1
  74. package/packages/session-export/package.json +1 -1
  75. package/packages/shared-context/package.json +1 -1
  76. package/packages/skill-mcp-client/package.json +1 -1
  77. package/packages/skill-registry/package.json +1 -1
  78. package/packages/sprint-planner/package.json +1 -1
  79. package/packages/subscription-engine/package.json +1 -1
  80. package/packages/task-compiler/package.json +1 -1
  81. package/packages/tencentdb-memory/package.json +1 -1
  82. package/packages/tencentdb-sync/package.json +1 -1
  83. package/packages/test-data-generator/package.json +1 -1
  84. package/packages/test-generator/package.json +1 -1
  85. package/packages/todo-bd-sync/package.json +1 -1
  86. package/packages/token-estimation/package.json +1 -1
  87. package/packages/token-optimizer/package.json +1 -1
  88. package/packages/tui/package.json +1 -1
  89. package/packages/types/package.json +1 -1
  90. package/packages/workflow-events/package.json +1 -1
  91. package/packages/workspace-scanner/package.json +1 -1
  92. package/packages/worktree/package.json +1 -1
  93. package/packages/write-review/package.json +1 -1
@@ -0,0 +1,40 @@
1
+
2
+ import { describe, it } from "node:test";
3
+ import assert from "node:assert";
4
+ import { isAutonomyRequest } from "./agents.js";
5
+
6
+ describe("isAutonomyRequest", () => {
7
+ const shouldMatch = [
8
+ "You are free to write code until finish without my permission",
9
+ "you are free to write code until finish without permission",
10
+ "free to write code without permission",
11
+ "free to implement until done",
12
+ "free to build until complete",
13
+ "autonomous mode",
14
+ "autonomous",
15
+ "self-directed coding",
16
+ "no need for human approval",
17
+ "no need for confirmation",
18
+ "proceed without my approval",
19
+ "proceed without human",
20
+ ];
21
+
22
+ const shouldNotMatch = [
23
+ "please review the code",
24
+ "check the output",
25
+ "run tests and report",
26
+ "waiting for human input",
27
+ ];
28
+
29
+ for (const text of shouldMatch) {
30
+ it(`matches: "${text.slice(0, 50)}"`, () => {
31
+ assert.ok(isAutonomyRequest(text), `Expected to match: ${text}`);
32
+ });
33
+ }
34
+
35
+ for (const text of shouldNotMatch) {
36
+ it(`does NOT match: "${text}"`, () => {
37
+ assert.ok(!isAutonomyRequest(text), `Expected NOT to match: ${text}`);
38
+ });
39
+ }
40
+ });
@@ -46,28 +46,93 @@ export const ReviewVerdictSchema = z.object({
46
46
 
47
47
  export type ReviewVerdict = z.infer<typeof ReviewVerdictSchema>;
48
48
 
49
+ // ─── Autonomy Signal Detection ────────────────────────────────────────────
50
+ //
51
+ // When these phrases appear in the user request, the agents activate full
52
+ // autonomous mode: no waiting, no "Next Steps", no confirmation prompts.
53
+ // The directive is injected into every system prompt when a signal is detected.
54
+ //
55
+ // Human says: "You are free to write code until finish without my permission"
56
+ // → Agents interpret this as: autonomy unlocked, write freely
57
+
58
+ const AUTONOMY_SIGNALS = [
59
+ /free to (write|code|implement|build|create)/i,
60
+ /until (finish|complete|done)/i,
61
+ /without (my )?permission/i,
62
+ /\bautonomous(ly)?( mode)?\b/i,
63
+ /self[- ]?directed/i,
64
+ /no (need (to|for)|waiting for) (human|confirmation|approval|permission)/i,
65
+ /proceed without (me|human|my |approval)/i,
66
+ ];
67
+
68
+ export function isAutonomyRequest(request: string): boolean {
69
+ return AUTONOMY_SIGNALS.some((re) => re.test(request));
70
+ }
71
+
72
+ /** Directive injected into every system prompt when autonomy signal is detected. */
73
+ export function autonomyDirective(): string {
74
+ return `\n\n[AUTONOMY MODE ACTIVE]
75
+ You are operating in full autonomous mode. The human has explicitly granted
76
+ permission to write code until finish without waiting for confirmation.
77
+ - Do NOT ask for permission to proceed
78
+ - Do NOT output "Next Steps" or waiting-for-human signals
79
+ - Do NOT wait for human review — the loop routes automatically
80
+ - Write the code and output the result; the loop handles the rest`;
81
+ }
82
+
49
83
  // ─── Prompts ────────────────────────────────────────────────────────────────
84
+ //
85
+ // PROMPTS ARE WRITTEN FOR DAEMON AUDIENCE, NOT HUMAN READERS.
86
+ //
87
+ // Key rules:
88
+ // - NEVER ask for confirmation or permission
89
+ // - NEVER output "Next Steps", "Ready for review", or any waiting-for-human signal
90
+ // - NEVER "stop and summarize" — the loop routes automatically
91
+ // - If stuck, fail with a clear error, do not wait silently
92
+ // - Output is consumed by the loop, not a human reading for guidance
93
+
94
+ const PLANNER_PROMPT = `You are the Planning Agent (GPT) in an autonomous daemon loop.
95
+
96
+ Given a feature request, produce a concise implementation plan: goals, non-goals,
97
+ ordered steps, files to touch, risks, and a definition-of-done the reviewer can
98
+ check against.
99
+
100
+ Output markdown only. Do NOT ask for confirmation. Do NOT output "Next Steps".
101
+ The loop will route automatically.`;
102
+
103
+ const CODER_PROMPT = `You are the Coding Agent (MiniMax) in an autonomous daemon loop.
104
+
105
+ You receive a plan (and possibly review comments from a previous iteration) and
106
+ produce complete, runnable code. Output fenced code blocks with file-path headers.
107
+ Address every review comment explicitly.
108
+
109
+ IMPORTANT:
110
+ - Do NOT output "Next Steps", "Ready for review", or any waiting-for-human signal
111
+ - Do NOT ask for confirmation or permission — write and finish
112
+ - If you cannot proceed, fail with a clear error message
113
+ - Your output is consumed by the loop, not read by a human for guidance`;
114
+
115
+ const REVIEWER_PROMPT = `You are the Code Review Agent (GPT) in an autonomous daemon loop.
116
+
117
+ You review the coder's output against the plan. Be strict: request changes only
118
+ for real problems. Output a structured verdict — the loop reads it automatically.
119
+
120
+ IMPORTANT:
121
+ - Do NOT output "Next Steps" or "Looks good, waiting for approval"
122
+ - Do NOT ask for confirmation — output the verdict and finish
123
+ - If you need clarification, fail with a clear error, do not wait silently
124
+ - Respond via the structured schema`;
125
+
126
+ const SUPERVISOR_PROMPT = `You are the Supervisor (GPT) in an autonomous daemon loop.
127
+ Coordinate the workflow automatically. The loop routes to the reviewer and back
128
+ without human input.
50
129
 
51
- const PLANNER_PROMPT = `You are the Planning Agent (GPT). Given a feature request, produce a
52
- concise implementation plan: goals, non-goals, ordered steps, files to touch,
53
- risks, and a definition-of-done the reviewer can check against.
54
- Output markdown only.`;
55
-
56
- const CODER_PROMPT = `You are the Coding Agent (MiniMax). You receive a plan (and possibly
57
- review comments from a previous iteration) and produce complete, runnable code.
58
- Always output fenced code blocks with file-path headers. Address every review
59
- comment explicitly.`;
60
-
61
- const REVIEWER_PROMPT = `You are the Code Review Agent (GPT). You review the coder's output
62
- against the plan and the review checklist. Be strict but fair: request changes
63
- only for real problems. Respond via the structured schema.`;
64
-
65
- const SUPERVISOR_PROMPT = `You are the Supervisor (GPT). Coordinate the workflow:
66
- 1. Call delegate_to_coder with the instruction (include review comments when fixing).
67
- 2. Call delegate_to_reviewer with the plan + code to review.
68
- 3. If the reviewer requests changes, call delegate_to_coder again with the comments.
69
- 4. Repeat until approved or you judge further iterations unproductive (then stop and summarize).
70
- Keep the loop tight: no more than 4 coder-review rounds unless the task clearly needs more.`;
130
+ IMPORTANT:
131
+ - Do NOT output "Next Steps" or any waiting-for-human signal
132
+ - Do NOT ask for permission to continue — loop continuously
133
+ - If truly blocked, call delegate_to_reviewer with verdict="blocked" and stop
134
+ - Do NOT output a summary for a human — the loop reads the verdict
135
+ - Keep iterating until approved or truly blocked, then output a verdict`;
71
136
 
72
137
  // ─── Agents ─────────────────────────────────────────────────────────────────
73
138
 
@@ -20,6 +20,8 @@ import {
20
20
  StateGraph,
21
21
  } from "@langchain/langgraph";
22
22
  import {
23
+ autonomyDirective,
24
+ isAutonomyRequest,
23
25
  lastMessage,
24
26
  type ReviewVerdict,
25
27
  ReviewVerdictSchema,
@@ -226,6 +228,11 @@ export async function buildRealLoopDeps(
226
228
  blackboard.init();
227
229
  }
228
230
 
231
+ // Autonomy mode: computed inside plan(), stored for write()/review()
232
+ const _autonomous = false;
233
+ const _directive = "";
234
+
235
+
229
236
  /** Inject scoreboard markdown into a user message. */
230
237
  const withScoreboard = (msg: string) => {
231
238
  const scoreboard = blackboard.toMarkdown();
@@ -259,8 +266,9 @@ export async function buildRealLoopDeps(
259
266
  }
260
267
  if (state.review?.comments && state.review.comments.length > 0) {
261
268
  blackboard.setChangesRequested(
262
- state.review.comments.map((c) =>
263
- `[${c.severity ?? "minor"}] ${c.file ? `${c.file}: ` : ""}${c.comment}`,
269
+ state.review.comments.map(
270
+ (c) =>
271
+ `[${c.severity ?? "minor"}] ${c.file ? `${c.file}: ` : ""}${c.comment}`,
264
272
  ),
265
273
  );
266
274
  }
@@ -270,13 +278,13 @@ export async function buildRealLoopDeps(
270
278
  }
271
279
  };
272
280
 
273
- return {
281
+ return {
274
282
  maxIterations: options.maxIterations ?? 3,
275
283
  onStep,
276
284
  plan: async (request) =>
277
285
  lastMessage(
278
286
  await planner.invoke({
279
- messages: [{ role: "user", content: withScoreboard(request) }],
287
+ messages: [{ role: "user", content: _directive + withScoreboard(request) }],
280
288
  }),
281
289
  ),
282
290
  write: async (plan, review) => {
@@ -287,7 +295,7 @@ export async function buildRealLoopDeps(
287
295
  : `## Plan\n${plan}`;
288
296
  return lastMessage(
289
297
  await coder.invoke({
290
- messages: [{ role: "user", content: withScoreboard(userMsg) }],
298
+ messages: [{ role: "user", content: _directive + withScoreboard(userMsg) }],
291
299
  }),
292
300
  );
293
301
  },
@@ -296,9 +304,7 @@ export async function buildRealLoopDeps(
296
304
  messages: [
297
305
  {
298
306
  role: "user",
299
- content: withScoreboard(
300
- `## Plan\n${plan}\n\n## Code to review\n${code}`,
301
- ),
307
+ content: _directive + withScoreboard(`## Plan\n${plan}\n\n## Code to review\n${code}`),
302
308
  },
303
309
  ],
304
310
  });
@@ -367,8 +373,9 @@ export function buildDryRunDeps(
367
373
  if (verdict) blackboard.setVerdict(verdict, state.review?.summary);
368
374
  if (state.review?.comments && state.review.comments.length > 0) {
369
375
  blackboard.setChangesRequested(
370
- state.review.comments.map((c) =>
371
- `[${c.severity ?? "minor"}] ${c.file ? `${c.file}: ` : ""}${c.comment}`,
376
+ state.review.comments.map(
377
+ (c) =>
378
+ `[${c.severity ?? "minor"}] ${c.file ? `${c.file}: ` : ""}${c.comment}`,
372
379
  ),
373
380
  );
374
381
  }
@@ -378,7 +385,7 @@ export function buildDryRunDeps(
378
385
  }
379
386
  };
380
387
 
381
- return {
388
+ return {
382
389
  maxIterations: options.maxIterations ?? 3,
383
390
  onStep,
384
391
  plan: async (request) =>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-harness-runtime",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "[BETA] Codex-style /usage status + autonomous coding harness for pi. Not production ready — expect breaking changes.",
5
5
  "type": "module",
6
6
  "scripts": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/a2a-adapter",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Google Agent-to-Agent (A2A) protocol adapter for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/architecture-generator",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Generate ADR and Mermaid diagrams from project analysis",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/auth",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — auth",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/autonomous-refactor",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Autonomous refactoring engine",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/autonomous-runtime",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Autonomous Operations Runtime — task inbox, lease management, and worker lifecycle (RFC-0101)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/cache-strategy",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Smart caching with TTL and invalidation strategies (RFC-0022)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/capability-registry",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Capability Registry for pi-harness-runtime — tracks model capabilities and enables capability-based routing",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/checkpoint",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Enhanced checkpoint system with incremental snapshots, diff-based storage, and recovery strategies",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/cli-plugin-sdk",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "CLI Plugin SDK for pi-harness — install, list, remove, update, invoke plugins",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/clipboard",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/clipboard-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/code-generation",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Code generation pipeline for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/code-review",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Automated code review engine for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/codex-adapter",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "OpenAI Codex provider adapter for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/config-capture",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Auto-capture API-fetched configuration values to AGENTS.md",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/context-compiler",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Bounded context selection engine for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/context-discovery",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/context-manager",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Context Window Manager — prevents model context overflow via compaction and resume prompts (RFC-0010)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cookie-sanitizer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — cookie sanitizer (provider-quota cookie file normaliser)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cost-optimizer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Cost Optimizer for pi-harness-runtime — budget tracking, forecasting, and model selection optimization",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/dependency-analyzer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/django-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Django framework analysis — models, management commands, settings",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/doc-generator",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Auto-Doc Generator — generate documentation from source code (RFC-0014)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/evaluation-engine",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Evaluation engine for pi-harness runtime (RFC-0057)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/evaluation-runner",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Framework-agnostic evaluation framework for AI outputs (RFC-0020)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/event-bus",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/event-store",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/experience-replay",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Experience replay for debugging and reproducibility (RFC-0059)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/feedback-collector",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Collect and aggregate human/automated feedback (RFC-0021)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/file-copy-helper",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Injects cp/sudo cp rule when user asks to mimic/copy files",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/framework-detector",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Framework detection system for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/framework-plugin-sdk",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Framework plugin SDK for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/frappe-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Frappe/ERPNext framework analysis — DocTypes, hooks, bench sites, site config",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/generic-web-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Generic web framework analysis — REST/GraphQL endpoints, OpenAPI, auth",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/health-monitor",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Health monitoring and auto-healing",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/intent-analyzer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/knowledge-graph",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Knowledge Graph extraction and provenance linking for SKILL.md files",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/knowledge-retrieval",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Knowledge retrieval via TencentDB-Agent-Memory MCP (RFC-0105)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/laravel-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Laravel framework analysis — artisan commands, Eloquent models, Blade",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/learning-engine",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Learning engine for extracting lessons from runtime execution (RFC-0058)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/mcp-adapter",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "MCP server adapter for pi-harness — exposes harness capabilities as MCP tools/resources/prompts (RFC-0068)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/memory-engine",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Memory engine with OKF integration for durable knowledge management (RFC-0060)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/milestone-manager",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Track milestones and alerts when items are at risk",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/model-registry",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Model Registry for pi-harness-runtime — centralized model metadata with pricing",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/nextjs-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Next.js framework detection and analysis for pi-harness-runtime (RFC-0062)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/notification",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — notification",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/observability",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Comprehensive observability system with structured logging, tracing, metrics, and alerting",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/okf-indexer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "OKF document indexer for SKILL.md files (RFC-0106)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/performance-optimizer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Performance optimization analyzer for pi-harness runtime (RFC-0056)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/privilege-broker",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Privilege Broker — capability registry and command executor for autonomous runtime (RFC-0101 §7)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/project-analyzer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Project analysis system for pi-harness-runtime - detects frameworks, rules, and project structure",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/project-bootstrap",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Project scaffolding from typed ProjectSpec",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/projection-engine",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/prompt-compiler",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Deterministic prompt compiler for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/prompt-versioning",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Version control for prompts with rollback support (RFC-0019)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/provider-adapter-sdk",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "SDK for building, testing, and registering AI provider adapters",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/provider-router",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Enhanced Provider Router for pi-harness-runtime — intelligent routing with capabilities, costs, and quotas",
5
5
  "type": "module",
6
6
  "main": "./dist/provider-router.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/provider-selector",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Multi-Provider Selector — route requests by cost, quality, and latency (RFC-0012)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/providers",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — providers",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/quota-manager",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — quota-manager",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/rate-limiter",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Rate limiting with token bucket algorithm (RFC-0023)",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/react-vite-plugin",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "React/Vite framework analysis — components, config, TypeScript setup",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/release-manager",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Release management for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/requirement-compiler",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Compiles raw requirements into validated CompiledRequirement with ambiguity detection and risk tagging",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/runtime",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/scheduler",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — scheduler",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/scheduler-adapter",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Scheduler Adapter — cron, systemd, launchd, internal adapters for autonomous runtime (RFC-0101 §6)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/session",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Session management system for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/session-api",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/session-export",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/shared-context",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — shared-context",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/skill-mcp-client",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "MCP client for Skills SaaS backend",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/skill-registry",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Skill Registry for pi-harness-runtime — dynamic skill discovery and invocation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/sprint-planner",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "description": "Sprint planning engine for pi-harness",
6
6
  "main": "dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/subscription-engine",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/task-compiler",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Task Compiler for pi-harness-runtime — produces deterministic task DAG from CompiledRequirement",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/tencentdb-memory",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "TencentDB Agent Memory client - sync skills to centralized knowledge base",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/tencentdb-sync",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Sync SKILL.md skills to TencentDB-Agent-Memory server (RFC-0105/0106)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/test-data-generator",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Test data generation for pi-harness-runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/test-generator",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Auto-Test Generator — generate unit and E2E tests from source code (RFC-0013)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/todo-bd-sync",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Two-way sync between rpiv-todo overlay and bd issue tracker",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/token-estimation",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — token-estimation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/token-optimizer",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Token Budget Optimizer — maximize prompt value within token limits (RFC-0011)",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/tui",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — tui",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/types",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Shared TypeScript types for pi-harness-runtime packages",
5
5
  "type": "module",
6
6
  "main": "./src/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/workflow-events",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/workspace-scanner",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/worktree",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "pi-harness-runtime — worktree",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moocoding/write-review",
3
- "version": "1.1.42",
3
+ "version": "1.1.44",
4
4
  "description": "Two-agent write-review loop with blackboard coordination",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",