pi-harness-runtime 1.1.394 → 1.1.396

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 (214) hide show
  1. package/AGENTS.md +135 -4
  2. package/harness/glm-quota-logger.ts +17 -0
  3. package/harness/langchain/planner-logger.ts +15 -0
  4. package/harness/service-diagnostics.ts +32 -1
  5. package/index.ts +92 -3
  6. package/package.json +1 -1
  7. package/packages/a2a-adapter/package.json +1 -1
  8. package/packages/agent-policy/package.json +1 -1
  9. package/packages/architecture-generator/package.json +1 -1
  10. package/packages/auth/package.json +1 -1
  11. package/packages/autonomous-refactor/package.json +1 -1
  12. package/packages/autonomous-runtime/package.json +1 -1
  13. package/packages/cache-strategy/package.json +1 -1
  14. package/packages/capability-registry/package.json +1 -1
  15. package/packages/checkpoint/package.json +1 -1
  16. package/packages/cli-plugin-sdk/package.json +1 -1
  17. package/packages/clipboard/package.json +1 -1
  18. package/packages/clipboard-plugin/package.json +1 -1
  19. package/packages/code-generation/package.json +1 -1
  20. package/packages/code-review/package.json +1 -1
  21. package/packages/codex-adapter/package.json +1 -1
  22. package/packages/codex-watcher/package.json +1 -1
  23. package/packages/config-capture/package.json +1 -1
  24. package/packages/connection-runtime/package.json +1 -1
  25. package/packages/context-compiler/package.json +1 -1
  26. package/packages/context-discovery/package.json +1 -1
  27. package/packages/context-manager/package.json +1 -1
  28. package/packages/contracts/dist/workspace-env-format.d.ts +87 -0
  29. package/packages/contracts/dist/workspace-env-format.js +174 -6
  30. package/packages/contracts/dist/workspace-env.js +120 -9
  31. package/packages/contracts/package.json +1 -1
  32. package/packages/contracts/src/workspace-env-format.ts +209 -6
  33. package/packages/contracts/src/workspace-env.ts +128 -7
  34. package/packages/contracts/test/workspace-env.test.ts +177 -0
  35. package/packages/cookie-sanitizer/package.json +1 -1
  36. package/packages/cost-optimizer/package.json +1 -1
  37. package/packages/dependency-analyzer/package.json +1 -1
  38. package/packages/django-plugin/package.json +1 -1
  39. package/packages/doc-generator/package.json +1 -1
  40. package/packages/durable-review/package.json +1 -1
  41. package/packages/e2e-tester/package.json +1 -1
  42. package/packages/evaluation-engine/package.json +1 -1
  43. package/packages/evaluation-runner/package.json +1 -1
  44. package/packages/event-bus/package.json +1 -1
  45. package/packages/event-sink/package.json +1 -1
  46. package/packages/event-store/package.json +1 -1
  47. package/packages/experience-replay/package.json +1 -1
  48. package/packages/feedback-collector/package.json +1 -1
  49. package/packages/file-copy-helper/package.json +1 -1
  50. package/packages/framework-detector/package.json +1 -1
  51. package/packages/framework-plugin-sdk/package.json +1 -1
  52. package/packages/frappe-plugin/package.json +1 -1
  53. package/packages/generic-web-plugin/package.json +1 -1
  54. package/packages/health-monitor/package.json +1 -1
  55. package/packages/intent-analyzer/package.json +1 -1
  56. package/packages/jev-judge/dist/continuation-controller.d.ts +47 -0
  57. package/packages/jev-judge/dist/continuation-controller.d.ts.map +1 -1
  58. package/packages/jev-judge/dist/continuation-controller.js +142 -16
  59. package/packages/jev-judge/dist/continuation-controller.js.map +1 -1
  60. package/packages/jev-judge/dist/index.d.ts +6 -0
  61. package/packages/jev-judge/dist/index.d.ts.map +1 -1
  62. package/packages/jev-judge/dist/index.js +6 -0
  63. package/packages/jev-judge/dist/index.js.map +1 -1
  64. package/packages/jev-judge/dist/validation-ledger.d.ts +129 -0
  65. package/packages/jev-judge/dist/validation-ledger.d.ts.map +1 -0
  66. package/packages/jev-judge/dist/validation-ledger.js +234 -0
  67. package/packages/jev-judge/dist/validation-ledger.js.map +1 -0
  68. package/packages/jev-judge/dist/validation-plan.d.ts +176 -0
  69. package/packages/jev-judge/dist/validation-plan.d.ts.map +1 -0
  70. package/packages/jev-judge/dist/validation-plan.js +293 -0
  71. package/packages/jev-judge/dist/validation-plan.js.map +1 -0
  72. package/packages/jev-judge/dist/validation-tie-breaker.d.ts +48 -0
  73. package/packages/jev-judge/dist/validation-tie-breaker.d.ts.map +1 -0
  74. package/packages/jev-judge/dist/validation-tie-breaker.js +83 -0
  75. package/packages/jev-judge/dist/validation-tie-breaker.js.map +1 -0
  76. package/packages/jev-judge/package.json +1 -1
  77. package/packages/jev-judge/src/continuation-controller.ts +179 -20
  78. package/packages/jev-judge/src/index.ts +41 -0
  79. package/packages/jev-judge/src/validation-ledger.ts +290 -0
  80. package/packages/jev-judge/src/validation-plan.ts +406 -0
  81. package/packages/jev-judge/src/validation-tie-breaker.ts +123 -0
  82. package/packages/jev-judge/tests/continuation-controller.test.ts +167 -0
  83. package/packages/jev-judge/tests/validation-ledger.test.ts +181 -0
  84. package/packages/jev-judge/tests/validation-plan.test.ts +170 -0
  85. package/packages/jev-judge/tests/validation-tie-breaker.test.ts +88 -0
  86. package/packages/knowledge-graph/package.json +1 -1
  87. package/packages/knowledge-retrieval/package.json +1 -1
  88. package/packages/laravel-plugin/package.json +1 -1
  89. package/packages/learning-engine/package.json +1 -1
  90. package/packages/logging/README.md +37 -0
  91. package/packages/logging/dist/buffer.d.ts +33 -0
  92. package/packages/logging/dist/buffer.d.ts.map +1 -0
  93. package/packages/logging/dist/buffer.js +60 -0
  94. package/packages/logging/dist/buffer.js.map +1 -0
  95. package/packages/logging/dist/config.d.ts +40 -0
  96. package/packages/logging/dist/config.d.ts.map +1 -0
  97. package/packages/logging/dist/config.js +114 -0
  98. package/packages/logging/dist/config.js.map +1 -0
  99. package/packages/logging/dist/index.d.ts +32 -0
  100. package/packages/logging/dist/index.d.ts.map +1 -0
  101. package/packages/logging/dist/index.js +31 -0
  102. package/packages/logging/dist/index.js.map +1 -0
  103. package/packages/logging/dist/redact.d.ts +43 -0
  104. package/packages/logging/dist/redact.d.ts.map +1 -0
  105. package/packages/logging/dist/redact.js +220 -0
  106. package/packages/logging/dist/redact.js.map +1 -0
  107. package/packages/logging/dist/sampler.d.ts +37 -0
  108. package/packages/logging/dist/sampler.d.ts.map +1 -0
  109. package/packages/logging/dist/sampler.js +78 -0
  110. package/packages/logging/dist/sampler.js.map +1 -0
  111. package/packages/logging/dist/shipper.d.ts +82 -0
  112. package/packages/logging/dist/shipper.d.ts.map +1 -0
  113. package/packages/logging/dist/shipper.js +238 -0
  114. package/packages/logging/dist/shipper.js.map +1 -0
  115. package/packages/logging/dist/singleton.d.ts +38 -0
  116. package/packages/logging/dist/singleton.d.ts.map +1 -0
  117. package/packages/logging/dist/singleton.js +95 -0
  118. package/packages/logging/dist/singleton.js.map +1 -0
  119. package/packages/logging/dist/spool.d.ts +39 -0
  120. package/packages/logging/dist/spool.d.ts.map +1 -0
  121. package/packages/logging/dist/spool.js +110 -0
  122. package/packages/logging/dist/spool.js.map +1 -0
  123. package/packages/logging/dist/transports/r2.d.ts +31 -0
  124. package/packages/logging/dist/transports/r2.d.ts.map +1 -0
  125. package/packages/logging/dist/transports/r2.js +60 -0
  126. package/packages/logging/dist/transports/r2.js.map +1 -0
  127. package/packages/logging/dist/transports/webhook.d.ts +22 -0
  128. package/packages/logging/dist/transports/webhook.d.ts.map +1 -0
  129. package/packages/logging/dist/transports/webhook.js +37 -0
  130. package/packages/logging/dist/transports/webhook.js.map +1 -0
  131. package/packages/logging/dist/types.d.ts +73 -0
  132. package/packages/logging/dist/types.d.ts.map +1 -0
  133. package/packages/logging/dist/types.js +19 -0
  134. package/packages/logging/dist/types.js.map +1 -0
  135. package/packages/logging/package.json +37 -0
  136. package/packages/logging/src/buffer.ts +77 -0
  137. package/packages/logging/src/config.ts +163 -0
  138. package/packages/logging/src/index.ts +87 -0
  139. package/packages/logging/src/redact.ts +271 -0
  140. package/packages/logging/src/sampler.ts +97 -0
  141. package/packages/logging/src/shipper.ts +281 -0
  142. package/packages/logging/src/singleton.ts +142 -0
  143. package/packages/logging/src/spool.ts +139 -0
  144. package/packages/logging/src/transports/r2.ts +86 -0
  145. package/packages/logging/src/transports/webhook.ts +54 -0
  146. package/packages/logging/src/types.ts +85 -0
  147. package/packages/logging/test/buffer.test.ts +44 -0
  148. package/packages/logging/test/config.test.ts +97 -0
  149. package/packages/logging/test/integration.test.ts +135 -0
  150. package/packages/logging/test/redact.test.ts +109 -0
  151. package/packages/logging/test/sampler.test.ts +57 -0
  152. package/packages/logging/test/shipper.test.ts +152 -0
  153. package/packages/logging/test/spool.test.ts +93 -0
  154. package/packages/mcp-adapter/package.json +1 -1
  155. package/packages/memory-engine/package.json +1 -1
  156. package/packages/milestone-manager/package.json +1 -1
  157. package/packages/model-registry/package.json +1 -1
  158. package/packages/nextjs-plugin/package.json +1 -1
  159. package/packages/notification/package.json +1 -1
  160. package/packages/observability/package.json +1 -1
  161. package/packages/okf-indexer/package.json +1 -1
  162. package/packages/paperclip-integration/package.json +1 -1
  163. package/packages/performance-optimizer/package.json +1 -1
  164. package/packages/permission-mode/package.json +1 -1
  165. package/packages/privilege-broker/package.json +1 -1
  166. package/packages/project-analyzer/package.json +1 -1
  167. package/packages/project-bootstrap/package.json +1 -1
  168. package/packages/projection-engine/package.json +1 -1
  169. package/packages/prompt-compiler/package.json +1 -1
  170. package/packages/prompt-versioning/package.json +1 -1
  171. package/packages/provider-adapter-sdk/package.json +1 -1
  172. package/packages/provider-router/package.json +1 -1
  173. package/packages/provider-selector/package.json +1 -1
  174. package/packages/providers/package.json +1 -1
  175. package/packages/qdrant-skills/package.json +1 -1
  176. package/packages/quota-manager/package.json +1 -1
  177. package/packages/rate-limiter/package.json +1 -1
  178. package/packages/react-vite-plugin/package.json +1 -1
  179. package/packages/relay/package.json +1 -1
  180. package/packages/release-manager/package.json +1 -1
  181. package/packages/requirement-compiler/package.json +1 -1
  182. package/packages/runtime/package.json +1 -1
  183. package/packages/scheduler/package.json +1 -1
  184. package/packages/scheduler-adapter/package.json +1 -1
  185. package/packages/session/package.json +1 -1
  186. package/packages/session-api/package.json +1 -1
  187. package/packages/session-export/package.json +1 -1
  188. package/packages/shared-context/package.json +1 -1
  189. package/packages/skill-mcp-client/package.json +1 -1
  190. package/packages/skill-registry/package.json +1 -1
  191. package/packages/skills/package.json +1 -1
  192. package/packages/sprint-planner/package.json +1 -1
  193. package/packages/subscription-engine/package.json +1 -1
  194. package/packages/task-compiler/package.json +1 -1
  195. package/packages/telegram/package.json +1 -1
  196. package/packages/tencentdb-memory/package.json +1 -1
  197. package/packages/tencentdb-sync/package.json +1 -1
  198. package/packages/test-data-generator/package.json +1 -1
  199. package/packages/test-generator/package.json +1 -1
  200. package/packages/todo-bd-sync/package.json +1 -1
  201. package/packages/token-estimation/package.json +1 -1
  202. package/packages/token-optimizer/package.json +1 -1
  203. package/packages/trajectory/package.json +1 -1
  204. package/packages/tui/package.json +1 -1
  205. package/packages/types/package.json +1 -1
  206. package/packages/voice-api/package.json +1 -1
  207. package/packages/webmcp-tester/package.json +1 -1
  208. package/packages/wiki/package.json +1 -1
  209. package/packages/workflow-events/package.json +1 -1
  210. package/packages/workspace-scanner/package.json +1 -1
  211. package/packages/worktree/package.json +1 -1
  212. package/packages/write-review/package.json +1 -1
  213. package/scripts/unified-webhook-server.ts +102 -0
  214. package/scripts/validation-run.ts +191 -0
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/cost-optimizer",
3
- "version": "1.1.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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": "@moocoding/durable-review",
3
- "version": "1.1.394",
3
+ "version": "1.1.396",
4
4
  "description": "SQLite-backed durable reviewer using @earendil-works/pi-durable",
5
5
  "type": "module",
6
6
  "main": "src/index.ts",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/e2e-tester",
3
- "version": "1.1.394",
3
+ "version": "1.1.396",
4
4
  "description": "WebMCP-powered E2E testing for pi-harness - natural language test scenarios",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi-harness/event-sink",
3
- "version": "1.1.394",
3
+ "version": "1.1.396",
4
4
  "type": "module",
5
5
  "description": "Atomic event sourcing with SQLite transactions for pi-harness",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pi/event-store",
3
- "version": "1.1.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
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.394",
3
+ "version": "1.1.396",
4
4
  "type": "module",
5
5
  "main": "src/index.ts",
6
6
  "exports": {
@@ -1,4 +1,6 @@
1
1
  import type { TodoItem, TodoContext, TodoProvider } from "./todo-provider.js";
2
+ import { type ValidationBudgetStatus } from "./validation-plan.js";
3
+ import type { ValidationLedger } from "./validation-ledger.js";
2
4
  export interface ContinuationConfig {
3
5
  /** Dispatch function to send messages to the agent (required) */
4
6
  dispatch: (content: string) => Promise<void>;
@@ -50,6 +52,14 @@ export interface ContinuationConfig {
50
52
  * A dispatch that never settles must not block every later continuation.
51
53
  */
52
54
  inFlightTimeoutMs?: number;
55
+ /**
56
+ * Ledger of validation runs.
57
+ *
58
+ * When a ledger is wired, the controller knows which tier already ran and
59
+ * whether the final tier is still pending, and it can pause an item whose
60
+ * declared time budget is spent.
61
+ */
62
+ validationLedger?: ValidationLedger;
53
63
  }
54
64
  /**
55
65
  * Continuation state
@@ -106,6 +116,8 @@ export interface ContinuationResult {
106
116
  nextItemId?: number;
107
117
  question?: string;
108
118
  reason?: string;
119
+ /** Budget status of the item the decision was about. */
120
+ budget?: ValidationBudgetStatus;
109
121
  }
110
122
  /**
111
123
  * Todo-Driven Continuation Controller
@@ -138,9 +150,11 @@ export declare class TodoContinuationController {
138
150
  private _circuitBreakerCooldownMs;
139
151
  private _inFlightTimeoutMs;
140
152
  private _attemptsByItem;
153
+ private _itemStartedAt;
141
154
  private _totalAttempts;
142
155
  private _maxTotalSteerAttempts;
143
156
  private _disposed;
157
+ private _validationLedger?;
144
158
  /** True while a dispatch is on the wire */
145
159
  private get inFlight();
146
160
  constructor(ctx: TodoContext, config?: ContinuationConfig);
@@ -152,6 +166,35 @@ export declare class TodoContinuationController {
152
166
  * still bounds an alternating run.
153
167
  */
154
168
  private attemptsFor;
169
+ /**
170
+ * Elapsed work time on an item, measured from the first continuation.
171
+ *
172
+ * `undefined` means the item was never continued, so no elapsed time can
173
+ * be reported yet.
174
+ */
175
+ private elapsedForItem;
176
+ /**
177
+ * Remember when work on an item started (first continuation only).
178
+ */
179
+ private markItemStarted;
180
+ /**
181
+ * The validation state of an item, read from the ledger.
182
+ *
183
+ * `undefined` when no ledger is wired: the caller then falls back to the
184
+ * declared plan alone.
185
+ */
186
+ private validationStateFor;
187
+ /**
188
+ * The budget status of an item.
189
+ *
190
+ * Only a declared `budgetMinutes` arms a budget - the harness never
191
+ * invents one, because an invented budget could pause legitimate work.
192
+ */
193
+ private budgetStatusFor;
194
+ /**
195
+ * The reason reported when an item ran out of its declared time budget.
196
+ */
197
+ private budgetAbortReason;
155
198
  /**
156
199
  * True while the circuit breaker forbids a send.
157
200
  *
@@ -218,6 +261,10 @@ export declare class TodoContinuationController {
218
261
  /**
219
262
  * Guarded dispatch - checks all conditions before sending
220
263
  * Uses in-flight guard to prevent race conditions
264
+ *
265
+ * The message is built by `buildMessage` at the moment the dispatch is
266
+ * about to send, so the payload always reflects the state at that moment
267
+ * (and the item comes from the snapshot read this dispatch already does).
221
268
  */
222
269
  private guardedDispatch;
223
270
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-controller.d.ts","sourceRoot":"","sources":["../src/continuation-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation-controller.d.ts","sourceRoot":"","sources":["../src/continuation-controller.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { createTodoProvider } from "./todo-provider.js";
2
+ import { buildValidationSteerSuffix, formatDuration, parseValidationPlan, validationBudgetStatus, } from "./validation-plan.js";
2
3
  /**
3
4
  * Simple debug logger that writes to file, not stdout
4
5
  */
@@ -78,9 +79,11 @@ export class TodoContinuationController {
78
79
  _circuitBreakerCooldownMs = 5 * 60 * 1000; // How long the breaker stays open
79
80
  _inFlightTimeoutMs = INFLIGHT_TIMEOUT_MS; // Watchdog for a hanging dispatch
80
81
  _attemptsByItem = new Map(); // Successful dispatches per item
82
+ _itemStartedAt = new Map(); // First continuation of an item (elapsed-time budget)
81
83
  _totalAttempts = 0; // Successful dispatches in this session (runaway guard)
82
84
  _maxTotalSteerAttempts = 9; // Session-wide cap on successful dispatches
83
85
  _disposed = false; // Set on shutdown: no dispatch and no timer may act anymore
86
+ _validationLedger; // Optional ledger of validation runs
84
87
  /** True while a dispatch is on the wire */
85
88
  get inFlight() {
86
89
  return this._inFlightSeq !== null;
@@ -93,6 +96,7 @@ export class TodoContinuationController {
93
96
  this._circuitBreakerCooldownMs = config?.circuitBreakerCooldownMs ?? 5 * 60 * 1000;
94
97
  this._maxConsecutiveFailures = config?.maxConsecutiveFailures ?? 3;
95
98
  this._inFlightTimeoutMs = config?.inFlightTimeoutMs ?? INFLIGHT_TIMEOUT_MS;
99
+ this._validationLedger = config?.validationLedger;
96
100
  this.config = {
97
101
  jevFallbackMinWaitMs: 5 * 60 * 1000, // 5 minutes
98
102
  routineThreshold: 0.7,
@@ -113,6 +117,54 @@ export class TodoContinuationController {
113
117
  attemptsFor(itemId) {
114
118
  return this._attemptsByItem.get(itemId) ?? 0;
115
119
  }
120
+ /**
121
+ * Elapsed work time on an item, measured from the first continuation.
122
+ *
123
+ * `undefined` means the item was never continued, so no elapsed time can
124
+ * be reported yet.
125
+ */
126
+ elapsedForItem(itemId) {
127
+ const startedAt = this._itemStartedAt.get(itemId);
128
+ if (startedAt === undefined)
129
+ return undefined;
130
+ return Date.now() - startedAt;
131
+ }
132
+ /**
133
+ * Remember when work on an item started (first continuation only).
134
+ */
135
+ markItemStarted(itemId) {
136
+ if (!this._itemStartedAt.has(itemId))
137
+ this._itemStartedAt.set(itemId, Date.now());
138
+ }
139
+ /**
140
+ * The validation state of an item, read from the ledger.
141
+ *
142
+ * `undefined` when no ledger is wired: the caller then falls back to the
143
+ * declared plan alone.
144
+ */
145
+ validationStateFor(item) {
146
+ if (!item || !this._validationLedger)
147
+ return undefined;
148
+ return this._validationLedger.stateFor(item);
149
+ }
150
+ /**
151
+ * The budget status of an item.
152
+ *
153
+ * Only a declared `budgetMinutes` arms a budget - the harness never
154
+ * invents one, because an invented budget could pause legitimate work.
155
+ */
156
+ budgetStatusFor(item) {
157
+ const plan = parseValidationPlan(item);
158
+ return validationBudgetStatus(plan, item ? this.elapsedForItem(item.id) : undefined);
159
+ }
160
+ /**
161
+ * The reason reported when an item ran out of its declared time budget.
162
+ */
163
+ budgetAbortReason(item, budget) {
164
+ const spent = formatDuration(budget.elapsedMs ?? 0);
165
+ const total = formatDuration(budget.budgetMs ?? 0);
166
+ return `budget exhausted for task ${item.id} (${spent} of ${total}) - pausing at a safe boundary`;
167
+ }
116
168
  /**
117
169
  * True while the circuit breaker forbids a send.
118
170
  *
@@ -332,6 +384,16 @@ export class TodoContinuationController {
332
384
  if (this._totalAttempts >= this._maxTotalSteerAttempts) {
333
385
  return { action: "stop", reason: `max total attempts (${this._maxTotalSteerAttempts}) reached` };
334
386
  }
387
+ // A declared time budget that is spent pauses the item at a safe
388
+ // boundary: the work stays open, the report says what is pending.
389
+ const budget = this.budgetStatusFor(item);
390
+ if (budget.exhausted) {
391
+ return {
392
+ action: "stop",
393
+ reason: this.budgetAbortReason(item, budget),
394
+ budget,
395
+ };
396
+ }
335
397
  this.state.currentItemId = item.id;
336
398
  this.state.nextItemId = item.id;
337
399
  return { action: "continue", nextItemId: item.id };
@@ -351,6 +413,16 @@ export class TodoContinuationController {
351
413
  if (this._totalAttempts >= this._maxTotalSteerAttempts) {
352
414
  return { action: "stop", reason: `max total attempts (${this._maxTotalSteerAttempts}) reached` };
353
415
  }
416
+ // A declared time budget that is spent pauses the item at a safe
417
+ // boundary: the work stays open, the report says what is pending.
418
+ const budget = this.budgetStatusFor(item);
419
+ if (budget.exhausted) {
420
+ return {
421
+ action: "stop",
422
+ reason: this.budgetAbortReason(item, budget),
423
+ budget,
424
+ };
425
+ }
354
426
  this.state.currentItemId = item.id;
355
427
  this.state.nextItemId = item.id;
356
428
  return { action: "continue", nextItemId: item.id };
@@ -383,17 +455,38 @@ export class TodoContinuationController {
383
455
  debugLog("TodoContinuation", "Max total steer attempts reached");
384
456
  return;
385
457
  }
386
- // Build continuation message
387
- const message = item.description
388
- ? `Continue task: ${item.subject}\n\n${item.description}`
389
- : `Continue task: ${item.subject}`;
390
- // A retry after a stalled dispatch gets the same duplicate warning as
391
- // the automatic continuation path.
392
- const finalMessage = this._stalledItemId === item.id
393
- ? `${message} (retry after a stalled dispatch - a duplicate continuation for this item may still arrive)`
394
- : message;
458
+ // The message is built when the dispatch is about to be sent: the
459
+ // validation context must reflect the state at that moment.
460
+ this.markItemStarted(item.id);
395
461
  debugLog("TodoContinuation", "Sending continuation:", item.subject);
396
- const result = await this.guardedDispatch(item.id, finalMessage);
462
+ const result = await this.guardedDispatch(item.id, (dispatched) => {
463
+ const target = dispatched ?? item;
464
+ const baseMessage = target.description
465
+ ? `Continue task: ${target.subject}\n\n${target.description}`
466
+ : `Continue task: ${target.subject}`;
467
+ // A retry after a stalled dispatch gets the same duplicate warning
468
+ // as the automatic continuation path.
469
+ const retryNote = this._stalledItemId === item.id
470
+ ? " (retry after a stalled dispatch - a duplicate continuation for this item may still arrive)"
471
+ : "";
472
+ // A spent time budget pauses the item: nothing goes on the wire.
473
+ const budget = this.budgetStatusFor(target);
474
+ if (budget.exhausted) {
475
+ return { abort: this.budgetAbortReason(target, budget) };
476
+ }
477
+ // A declared staged-validation plan rides along with the
478
+ // continuation: the agent must know which tier is cheap before it
479
+ // picks a command.
480
+ const validation = buildValidationSteerSuffix(target, {
481
+ elapsedMs: this.elapsedForItem(target.id),
482
+ state: this.validationStateFor(target),
483
+ });
484
+ return {
485
+ send: validation
486
+ ? `${baseMessage}${retryNote}\n\n${validation}`
487
+ : `${baseMessage}${retryNote}`,
488
+ };
489
+ });
397
490
  if (result.dispatched) {
398
491
  // Only a dispatch that actually reached the agent consumes an attempt
399
492
  this.recordAttempt(item.id);
@@ -416,8 +509,12 @@ export class TodoContinuationController {
416
509
  /**
417
510
  * Guarded dispatch - checks all conditions before sending
418
511
  * Uses in-flight guard to prevent race conditions
512
+ *
513
+ * The message is built by `buildMessage` at the moment the dispatch is
514
+ * about to send, so the payload always reflects the state at that moment
515
+ * (and the item comes from the snapshot read this dispatch already does).
419
516
  */
420
- async guardedDispatch(itemId, message) {
517
+ async guardedDispatch(itemId, buildMessage) {
421
518
  // 0. A disposed controller never dispatches.
422
519
  if (this._disposed) {
423
520
  debugLog("TodoContinuation", "Guarded dispatch: controller disposed, skipping");
@@ -555,6 +652,18 @@ export class TodoContinuationController {
555
652
  // must not leave the guard armed forever.
556
653
  this.scheduleGuardRelease();
557
654
  try {
655
+ const payload = buildMessage(item);
656
+ if ("abort" in payload) {
657
+ // The message builder refused the dispatch (e.g. the item
658
+ // ran out of its declared time budget). Nothing goes on the
659
+ // wire, and the guard is released again.
660
+ debugLog("TodoContinuation", "Guarded dispatch: aborted before send:", payload.abort);
661
+ this.state.continuationQueued = false;
662
+ this.cancelGuardTimer();
663
+ this._blockedDispatches++;
664
+ return { dispatched: false, reason: payload.abort, blocked: true };
665
+ }
666
+ const message = payload.send;
558
667
  await this.config.dispatch(message);
559
668
  this.state.lastSteerMessage = message;
560
669
  // Only the dispatch that owns the guard may reset the
@@ -658,12 +767,29 @@ export class TodoContinuationController {
658
767
  blockedDispatches: this._blockedDispatches,
659
768
  };
660
769
  }
661
- const message = this._stalledItemId === itemId
662
- ? `Continue todo item ID ${itemId}. (retry after a stalled dispatch - a duplicate continuation for this item may still arrive)`
663
- : `Continue todo item ID ${itemId}.`;
770
+ this.markItemStarted(itemId);
664
771
  debugLog("TodoContinuation", "Attempting steer to continue item", itemId);
665
- // Use guarded dispatch to verify all conditions
666
- const result = await this.guardedDispatch(itemId, message);
772
+ // The message is built when the dispatch is about to be sent, from the
773
+ // item the dispatch itself read: one snapshot read, no extra latency,
774
+ // and the validation context is always current.
775
+ const result = await this.guardedDispatch(itemId, (item) => {
776
+ const baseMessage = this._stalledItemId === itemId
777
+ ? `Continue todo item ID ${itemId}. (retry after a stalled dispatch - a duplicate continuation for this item may still arrive)`
778
+ : `Continue todo item ID ${itemId}.`;
779
+ // A spent time budget pauses the item: nothing goes on the wire.
780
+ const budget = this.budgetStatusFor(item);
781
+ if (budget.exhausted && item) {
782
+ return { abort: this.budgetAbortReason(item, budget) };
783
+ }
784
+ // A declared staged-validation plan rides along with the
785
+ // continuation: the agent must know which tier is cheap before it
786
+ // picks a command.
787
+ const validation = buildValidationSteerSuffix(item, {
788
+ elapsedMs: this.elapsedForItem(itemId),
789
+ state: this.validationStateFor(item),
790
+ });
791
+ return { send: validation ? `${baseMessage}\n\n${validation}` : baseMessage };
792
+ });
667
793
  if (result.dispatched) {
668
794
  // Only a dispatch that actually reached the agent consumes an attempt
669
795
  this.recordAttempt(itemId);
@@ -1 +1 @@
1
- {"version":3,"file":"continuation-controller.js","sourceRoot":"","sources":["../src/continuation-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"continuation-controller.js","sourceRoot":"","sources":["../src/continuation-controller.ts"],"names":[],"mappings":"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"}