jfl 0.8.0 → 0.9.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.
Files changed (249) hide show
  1. package/dist/commands/doctor.d.ts +1 -0
  2. package/dist/commands/doctor.d.ts.map +1 -1
  3. package/dist/commands/doctor.js +30 -1
  4. package/dist/commands/doctor.js.map +1 -1
  5. package/dist/commands/ide.d.ts +2 -1
  6. package/dist/commands/ide.d.ts.map +1 -1
  7. package/dist/commands/ide.js +60 -1
  8. package/dist/commands/ide.js.map +1 -1
  9. package/dist/commands/init-from-service.d.ts +15 -0
  10. package/dist/commands/init-from-service.d.ts.map +1 -0
  11. package/dist/commands/init-from-service.js +541 -0
  12. package/dist/commands/init-from-service.js.map +1 -0
  13. package/dist/commands/init.d.ts +1 -0
  14. package/dist/commands/init.d.ts.map +1 -1
  15. package/dist/commands/init.js +32 -1
  16. package/dist/commands/init.js.map +1 -1
  17. package/dist/commands/kanban.d.ts.map +1 -1
  18. package/dist/commands/kanban.js +13 -4
  19. package/dist/commands/kanban.js.map +1 -1
  20. package/dist/commands/linear.d.ts +41 -0
  21. package/dist/commands/linear.d.ts.map +1 -0
  22. package/dist/commands/linear.js +715 -0
  23. package/dist/commands/linear.js.map +1 -0
  24. package/dist/commands/peter.d.ts.map +1 -1
  25. package/dist/commands/peter.js +232 -25
  26. package/dist/commands/peter.js.map +1 -1
  27. package/dist/commands/services.d.ts.map +1 -1
  28. package/dist/commands/services.js +146 -0
  29. package/dist/commands/services.js.map +1 -1
  30. package/dist/commands/setup.d.ts.map +1 -1
  31. package/dist/commands/setup.js +173 -13
  32. package/dist/commands/setup.js.map +1 -1
  33. package/dist/commands/telemetry-monitor.d.ts +11 -0
  34. package/dist/commands/telemetry-monitor.d.ts.map +1 -0
  35. package/dist/commands/telemetry-monitor.js +224 -0
  36. package/dist/commands/telemetry-monitor.js.map +1 -0
  37. package/dist/commands/telemetry-test.d.ts +11 -0
  38. package/dist/commands/telemetry-test.d.ts.map +1 -0
  39. package/dist/commands/telemetry-test.js +67 -0
  40. package/dist/commands/telemetry-test.js.map +1 -0
  41. package/dist/commands/tenet-agents.d.ts +13 -0
  42. package/dist/commands/tenet-agents.d.ts.map +1 -0
  43. package/dist/commands/tenet-agents.js +191 -0
  44. package/dist/commands/tenet-agents.js.map +1 -0
  45. package/dist/commands/tenet-setup.d.ts +19 -0
  46. package/dist/commands/tenet-setup.d.ts.map +1 -0
  47. package/dist/commands/tenet-setup.js +131 -0
  48. package/dist/commands/tenet-setup.js.map +1 -0
  49. package/dist/commands/train.d.ts +18 -0
  50. package/dist/commands/train.d.ts.map +1 -1
  51. package/dist/commands/train.js +182 -0
  52. package/dist/commands/train.js.map +1 -1
  53. package/dist/commands/whoami.d.ts +2 -0
  54. package/dist/commands/whoami.d.ts.map +1 -0
  55. package/dist/commands/whoami.js +24 -0
  56. package/dist/commands/whoami.js.map +1 -0
  57. package/dist/index.js +159 -10
  58. package/dist/index.js.map +1 -1
  59. package/dist/lib/advanced-setup.d.ts +78 -0
  60. package/dist/lib/advanced-setup.d.ts.map +1 -0
  61. package/dist/lib/advanced-setup.js +433 -0
  62. package/dist/lib/advanced-setup.js.map +1 -0
  63. package/dist/lib/agent-config.d.ts +33 -0
  64. package/dist/lib/agent-config.d.ts.map +1 -1
  65. package/dist/lib/agent-config.js +26 -0
  66. package/dist/lib/agent-config.js.map +1 -1
  67. package/dist/lib/counterfactual-training-bridge.d.ts +114 -0
  68. package/dist/lib/counterfactual-training-bridge.d.ts.map +1 -0
  69. package/dist/lib/counterfactual-training-bridge.js +322 -0
  70. package/dist/lib/counterfactual-training-bridge.js.map +1 -0
  71. package/dist/lib/discovery-agent.d.ts +48 -0
  72. package/dist/lib/discovery-agent.d.ts.map +1 -0
  73. package/dist/lib/discovery-agent.js +111 -0
  74. package/dist/lib/discovery-agent.js.map +1 -0
  75. package/dist/lib/flow-engine.d.ts.map +1 -1
  76. package/dist/lib/flow-engine.js +46 -8
  77. package/dist/lib/flow-engine.js.map +1 -1
  78. package/dist/lib/gtm-generator.d.ts +29 -0
  79. package/dist/lib/gtm-generator.d.ts.map +1 -0
  80. package/dist/lib/gtm-generator.js +252 -0
  81. package/dist/lib/gtm-generator.js.map +1 -0
  82. package/dist/lib/hub-health.d.ts +40 -0
  83. package/dist/lib/hub-health.d.ts.map +1 -0
  84. package/dist/lib/hub-health.js +89 -0
  85. package/dist/lib/hub-health.js.map +1 -0
  86. package/dist/lib/invariant-monitor.d.ts +6 -2
  87. package/dist/lib/invariant-monitor.d.ts.map +1 -1
  88. package/dist/lib/invariant-monitor.js +89 -2
  89. package/dist/lib/invariant-monitor.js.map +1 -1
  90. package/dist/lib/journal-analyzer.d.ts +71 -0
  91. package/dist/lib/journal-analyzer.d.ts.map +1 -0
  92. package/dist/lib/journal-analyzer.js +306 -0
  93. package/dist/lib/journal-analyzer.js.map +1 -0
  94. package/dist/lib/linear-client.d.ts +73 -0
  95. package/dist/lib/linear-client.d.ts.map +1 -0
  96. package/dist/lib/linear-client.js +112 -0
  97. package/dist/lib/linear-client.js.map +1 -0
  98. package/dist/lib/linear-id-map.d.ts +20 -0
  99. package/dist/lib/linear-id-map.d.ts.map +1 -0
  100. package/dist/lib/linear-id-map.js +57 -0
  101. package/dist/lib/linear-id-map.js.map +1 -0
  102. package/dist/lib/linear-kanban.d.ts +66 -0
  103. package/dist/lib/linear-kanban.d.ts.map +1 -0
  104. package/dist/lib/linear-kanban.js +175 -0
  105. package/dist/lib/linear-kanban.js.map +1 -0
  106. package/dist/lib/onboarding.d.ts +40 -0
  107. package/dist/lib/onboarding.d.ts.map +1 -0
  108. package/dist/lib/onboarding.js +213 -0
  109. package/dist/lib/onboarding.js.map +1 -0
  110. package/dist/lib/physical-world-model.d.ts +50 -0
  111. package/dist/lib/physical-world-model.d.ts.map +1 -0
  112. package/dist/lib/physical-world-model.js +251 -0
  113. package/dist/lib/physical-world-model.js.map +1 -0
  114. package/dist/lib/planning-loop.d.ts +157 -0
  115. package/dist/lib/planning-loop.d.ts.map +1 -0
  116. package/dist/lib/planning-loop.js +537 -0
  117. package/dist/lib/planning-loop.js.map +1 -0
  118. package/dist/lib/policy-head.d.ts +13 -0
  119. package/dist/lib/policy-head.d.ts.map +1 -1
  120. package/dist/lib/policy-head.js +168 -2
  121. package/dist/lib/policy-head.js.map +1 -1
  122. package/dist/lib/resource-optimizer-middleware.d.ts +39 -0
  123. package/dist/lib/resource-optimizer-middleware.d.ts.map +1 -0
  124. package/dist/lib/resource-optimizer-middleware.js +222 -0
  125. package/dist/lib/resource-optimizer-middleware.js.map +1 -0
  126. package/dist/lib/resource-optimizer.d.ts +71 -0
  127. package/dist/lib/resource-optimizer.d.ts.map +1 -0
  128. package/dist/lib/resource-optimizer.js +228 -0
  129. package/dist/lib/resource-optimizer.js.map +1 -0
  130. package/dist/lib/rl-manager.d.ts +74 -0
  131. package/dist/lib/rl-manager.d.ts.map +1 -0
  132. package/dist/lib/rl-manager.js +244 -0
  133. package/dist/lib/rl-manager.js.map +1 -0
  134. package/dist/lib/service-analyzer.d.ts +76 -0
  135. package/dist/lib/service-analyzer.d.ts.map +1 -0
  136. package/dist/lib/service-analyzer.js +704 -0
  137. package/dist/lib/service-analyzer.js.map +1 -0
  138. package/dist/lib/service-gtm.js +2 -2
  139. package/dist/lib/service-gtm.js.map +1 -1
  140. package/dist/lib/service-questionnaire.d.ts +11 -0
  141. package/dist/lib/service-questionnaire.d.ts.map +1 -0
  142. package/dist/lib/service-questionnaire.js +89 -0
  143. package/dist/lib/service-questionnaire.js.map +1 -0
  144. package/dist/lib/setup/agent-generator.d.ts +2 -0
  145. package/dist/lib/setup/agent-generator.d.ts.map +1 -1
  146. package/dist/lib/setup/agent-generator.js +128 -4
  147. package/dist/lib/setup/agent-generator.js.map +1 -1
  148. package/dist/lib/setup/flow-generator.d.ts +10 -0
  149. package/dist/lib/setup/flow-generator.d.ts.map +1 -0
  150. package/dist/lib/setup/flow-generator.js +113 -0
  151. package/dist/lib/setup/flow-generator.js.map +1 -0
  152. package/dist/lib/setup/invariant-bridge.d.ts +91 -0
  153. package/dist/lib/setup/invariant-bridge.d.ts.map +1 -0
  154. package/dist/lib/setup/invariant-bridge.js +384 -0
  155. package/dist/lib/setup/invariant-bridge.js.map +1 -0
  156. package/dist/lib/setup/spec-generator.d.ts +41 -5
  157. package/dist/lib/setup/spec-generator.d.ts.map +1 -1
  158. package/dist/lib/setup/spec-generator.js +503 -29
  159. package/dist/lib/setup/spec-generator.js.map +1 -1
  160. package/dist/lib/stratus-client.js +1 -1
  161. package/dist/lib/stratus-client.js.map +1 -1
  162. package/dist/lib/surface-agent.d.ts +78 -0
  163. package/dist/lib/surface-agent.d.ts.map +1 -0
  164. package/dist/lib/surface-agent.js +105 -0
  165. package/dist/lib/surface-agent.js.map +1 -0
  166. package/dist/lib/surface-coordination-example.d.ts +30 -0
  167. package/dist/lib/surface-coordination-example.d.ts.map +1 -0
  168. package/dist/lib/surface-coordination-example.js +164 -0
  169. package/dist/lib/surface-coordination-example.js.map +1 -0
  170. package/dist/lib/telemetry/physical-world-collector.d.ts +15 -0
  171. package/dist/lib/telemetry/physical-world-collector.d.ts.map +1 -0
  172. package/dist/lib/telemetry/physical-world-collector.js +177 -0
  173. package/dist/lib/telemetry/physical-world-collector.js.map +1 -0
  174. package/dist/lib/telemetry/training-bridge.d.ts +51 -0
  175. package/dist/lib/telemetry/training-bridge.d.ts.map +1 -0
  176. package/dist/lib/telemetry/training-bridge.js +185 -0
  177. package/dist/lib/telemetry/training-bridge.js.map +1 -0
  178. package/dist/lib/telemetry.d.ts +2 -1
  179. package/dist/lib/telemetry.d.ts.map +1 -1
  180. package/dist/lib/telemetry.js +23 -2
  181. package/dist/lib/telemetry.js.map +1 -1
  182. package/dist/lib/tenet-board-agent.d.ts +52 -0
  183. package/dist/lib/tenet-board-agent.d.ts.map +1 -0
  184. package/dist/lib/tenet-board-agent.js +226 -0
  185. package/dist/lib/tenet-board-agent.js.map +1 -0
  186. package/dist/lib/tenet-ide-agent.d.ts +40 -0
  187. package/dist/lib/tenet-ide-agent.d.ts.map +1 -0
  188. package/dist/lib/tenet-ide-agent.js +199 -0
  189. package/dist/lib/tenet-ide-agent.js.map +1 -0
  190. package/dist/lib/workspace/data-pipeline.d.ts.map +1 -1
  191. package/dist/lib/workspace/data-pipeline.js +27 -5
  192. package/dist/lib/workspace/data-pipeline.js.map +1 -1
  193. package/dist/lib/workspace/sidebar-runner.d.ts +13 -0
  194. package/dist/lib/workspace/sidebar-runner.d.ts.map +1 -0
  195. package/dist/lib/workspace/sidebar-runner.js +419 -0
  196. package/dist/lib/workspace/sidebar-runner.js.map +1 -0
  197. package/dist/lib/workspace/surface-registry.d.ts.map +1 -1
  198. package/dist/lib/workspace/surface-registry.js +4 -1
  199. package/dist/lib/workspace/surface-registry.js.map +1 -1
  200. package/dist/lib/workspace/surfaces/agent-overview.d.ts +3 -3
  201. package/dist/lib/workspace/surfaces/agent-overview.d.ts.map +1 -1
  202. package/dist/lib/workspace/surfaces/agent-overview.js +3 -3
  203. package/dist/lib/workspace/surfaces/agent-overview.js.map +1 -1
  204. package/dist/lib/workspace/surfaces/index.d.ts +3 -0
  205. package/dist/lib/workspace/surfaces/index.d.ts.map +1 -1
  206. package/dist/lib/workspace/surfaces/index.js +3 -0
  207. package/dist/lib/workspace/surfaces/index.js.map +1 -1
  208. package/dist/lib/workspace/surfaces/kanban.d.ts +15 -0
  209. package/dist/lib/workspace/surfaces/kanban.d.ts.map +1 -0
  210. package/dist/lib/workspace/surfaces/kanban.js +43 -0
  211. package/dist/lib/workspace/surfaces/kanban.js.map +1 -0
  212. package/dist/lib/workspace/surfaces/physical-world.d.ts +15 -0
  213. package/dist/lib/workspace/surfaces/physical-world.d.ts.map +1 -0
  214. package/dist/lib/workspace/surfaces/physical-world.js +37 -0
  215. package/dist/lib/workspace/surfaces/physical-world.js.map +1 -0
  216. package/dist/lib/workspace/surfaces/sidebar.d.ts +22 -0
  217. package/dist/lib/workspace/surfaces/sidebar.d.ts.map +1 -0
  218. package/dist/lib/workspace/surfaces/sidebar.js +90 -0
  219. package/dist/lib/workspace/surfaces/sidebar.js.map +1 -0
  220. package/dist/types/flows.d.ts +2 -1
  221. package/dist/types/flows.d.ts.map +1 -1
  222. package/dist/types/physical-world-model.d.ts +65 -0
  223. package/dist/types/physical-world-model.d.ts.map +1 -0
  224. package/dist/types/physical-world-model.js +43 -0
  225. package/dist/types/physical-world-model.js.map +1 -0
  226. package/dist/types/telemetry.d.ts +37 -0
  227. package/dist/types/telemetry.d.ts.map +1 -1
  228. package/dist/types/world-model.d.ts.map +1 -1
  229. package/dist/types/world-model.js +14 -7
  230. package/dist/types/world-model.js.map +1 -1
  231. package/dist/utils/context-hub-port.d.ts.map +1 -1
  232. package/dist/utils/context-hub-port.js +6 -1
  233. package/dist/utils/context-hub-port.js.map +1 -1
  234. package/package.json +3 -2
  235. package/packages/pi/extensions/index.ts +34 -6
  236. package/packages/pi/extensions/onboarding-v1.ts +8 -8
  237. package/packages/pi/extensions/onboarding-v2.ts +5 -5
  238. package/scripts/telemetry-dashboard.sh +44 -0
  239. package/scripts/test-planning-loop-e2e.ts +181 -0
  240. package/scripts/test-server-inference.ts +49 -0
  241. package/scripts/test-state-sensitivity.ts +32 -0
  242. package/scripts/train/v2/benchmark.py +661 -0
  243. package/scripts/train/v2/generate_balanced.py +439 -0
  244. package/scripts/train/v2/generate_hard_negatives.py +219 -0
  245. package/scripts/train/v2/infer.py +149 -36
  246. package/scripts/train/v2/infer_server.py +224 -0
  247. package/scripts/train/v2/online_train.py +576 -0
  248. package/scripts/train/v2/precompute.py +24 -6
  249. package/template/CLAUDE.md +74 -132
@@ -0,0 +1 @@
1
+ {"version":3,"file":"linear.js","sourceRoot":"","sources":["../../src/commands/linear.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"peter.d.ts","sourceRoot":"","sources":["../../src/commands/peter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAwsEH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAO,iBA4JrK"}
1
+ {"version":3,"file":"peter.d.ts","sourceRoot":"","sources":["../../src/commands/peter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA07EH,wBAAsB,YAAY,CAChC,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,OAAO,CAAA;CAAO,iBA4JrK"}
@@ -19,6 +19,7 @@ import { readEvals } from "../lib/eval-store.js";
19
19
  import { TrainingBuffer } from "../lib/training-buffer.js";
20
20
  import { PolicyHeadInference } from "../lib/policy-head.js";
21
21
  import { PiRpcBridge, CostMonitor, EventRouter } from "../lib/pi-sky/index.js";
22
+ import { createPlanningLoop } from "../lib/planning-loop.js";
22
23
  function hasRalphTui() {
23
24
  try {
24
25
  execSync("which ralph-tui", { stdio: "ignore" });
@@ -275,6 +276,21 @@ async function runTaskWithPi(bridge, task, costMonitor, timeout = 300000) {
275
276
  if (!bridge.started) {
276
277
  await bridge.start();
277
278
  }
279
+ // TOCTOU guard: re-verify hub before starting agent (TLA+ invariant: HubRequiredForScheduling)
280
+ // TLC found: agent can be scheduled when hub is up, then hub crashes before start
281
+ try {
282
+ const { guardHubAvailable } = await import("../lib/hub-health.js");
283
+ const projectRoot = process.cwd();
284
+ const guard = await guardHubAvailable(projectRoot, "peter-parker");
285
+ if (!guard.proceed) {
286
+ console.log(chalk.yellow(`\n ⚠ Hub health check failed: ${guard.reason}`));
287
+ console.log(chalk.gray(` Proceeding without hub (results won't be tracked).\n`));
288
+ // Don't block — hub is optional for execution, just warn
289
+ }
290
+ }
291
+ catch {
292
+ // Hub health check not available — proceed
293
+ }
278
294
  // Check critical path for model upgrade if cost monitor is active
279
295
  if (costMonitor) {
280
296
  await costMonitor.checkCriticalPath("experiment", task);
@@ -306,36 +322,84 @@ async function shutdownPiRuntime(state) {
306
322
  await state.bridge.shutdown().catch(() => { });
307
323
  }
308
324
  }
309
- async function runWithPR(projectRoot, task) {
310
- if (!task) {
311
- console.log(chalk.yellow("\n --task is required for pr mode"));
312
- console.log(chalk.gray(" Usage: jfl peter pr --task \"fix the login bug\"\n"));
313
- return;
314
- }
315
- if (!hasRalphTui()) {
316
- console.log(chalk.yellow("\n ralph-tui is not installed"));
317
- console.log(chalk.gray(" Install: bun install -g ralph-tui\n"));
318
- return;
319
- }
325
+ /**
326
+ * Run an agent task using pi in non-interactive mode.
327
+ *
328
+ * Pi automatically picks up project context:
329
+ * - AGENTS.md / CLAUDE.md — project instructions, skills, commands
330
+ * - JFL custom tools — jfl_context, jfl_memory_search, jfl_eval_status, etc.
331
+ * - Skills — eval, context, react-best-practices, etc.
332
+ *
333
+ * No lock files, no session management — just runs the task and exits.
334
+ */
335
+ async function runAgentWithPi(projectRoot, task) {
336
+ // Minimal append — pi already loads AGENTS.md and project context.
337
+ // Just add PP-specific guardrails.
338
+ const appendPrompt = [
339
+ "You are Peter Parker (PP), an autonomous agent in the JFL self-driving loop.",
340
+ "You are fixing an issue that was auto-picked from the backlog.",
341
+ "Rules:",
342
+ "- Make minimal, focused changes. Don't refactor unrelated code.",
343
+ "- Run the build (npm run build) and check for type errors before finishing.",
344
+ "- If tests exist for the area you're changing, run them.",
345
+ "- Do NOT create new test files unless the task specifically asks for tests.",
346
+ "- Do NOT modify files outside the scope of the task.",
347
+ "- When done, stop immediately. Do not ask for confirmation.",
348
+ ].join("\n");
349
+ console.log(chalk.cyan(" PP: Using pi agent (headless, with full JFL context)"));
350
+ await new Promise((resolve) => {
351
+ const env = { ...process.env };
352
+ // Prevent pi from detecting it's inside another agent
353
+ delete env.CLAUDECODE;
354
+ delete env.CLAUDE_CODE;
355
+ const child = spawn("pi", [
356
+ "--print", task,
357
+ "--append-system-prompt", appendPrompt,
358
+ "--no-session", // Ephemeral — no lock files, no session state
359
+ ], {
360
+ cwd: projectRoot,
361
+ stdio: "inherit",
362
+ env,
363
+ });
364
+ child.on("error", (error) => {
365
+ console.error(chalk.red(` PP: Failed to start pi: ${error.message}`));
366
+ resolve();
367
+ });
368
+ child.on("exit", () => {
369
+ resolve();
370
+ });
371
+ });
372
+ }
373
+ /**
374
+ * Run an agent task using ralph-tui (legacy fallback).
375
+ * Has session lock issues — prefer pi.
376
+ */
377
+ async function runAgentWithRalphTui(projectRoot, task) {
320
378
  const configPath = path.join(projectRoot, ".ralph-tui", "config.toml");
321
379
  if (!fs.existsSync(configPath)) {
322
380
  console.log(chalk.yellow("\n No Peter Parker config found"));
323
381
  console.log(chalk.gray(" Run: jfl peter setup\n"));
324
382
  return;
325
383
  }
326
- const baseBranch = "main";
327
- const branchName = `pp/fix-${Date.now()}`;
328
- console.log(chalk.cyan(`\n PP: Creating branch ${branchName}`));
329
- gitExec(["fetch", "origin", baseBranch], projectRoot);
330
- let checkout = gitExec(["checkout", "-b", branchName, `origin/${baseBranch}`], projectRoot);
331
- if (!checkout.ok) {
332
- checkout = gitExec(["checkout", "-b", branchName, baseBranch], projectRoot);
333
- }
334
- if (!checkout.ok) {
335
- console.log(chalk.red(` PP: Failed to create branch ${branchName}`));
336
- return;
384
+ // Clear stale locks — dead PIDs shouldn't block autonomous operation
385
+ const lockPath = path.join(projectRoot, ".ralph-tui", "ralph.lock");
386
+ if (fs.existsSync(lockPath)) {
387
+ try {
388
+ const lock = JSON.parse(fs.readFileSync(lockPath, "utf-8"));
389
+ try {
390
+ process.kill(lock.pid, 0); // Check if PID is alive
391
+ }
392
+ catch {
393
+ // PID is dead remove stale lock
394
+ fs.unlinkSync(lockPath);
395
+ console.log(chalk.gray(" PP: Cleared stale ralph-tui lock"));
396
+ }
397
+ }
398
+ catch {
399
+ fs.unlinkSync(lockPath);
400
+ }
337
401
  }
338
- console.log(chalk.cyan(` PP: Running agent on task: ${task}`));
402
+ console.log(chalk.cyan(" PP: Using ralph-tui agent (legacy)"));
339
403
  await new Promise((resolve) => {
340
404
  const ralphDir = path.join(projectRoot, ".ralph-tui");
341
405
  if (!fs.existsSync(ralphDir)) {
@@ -403,6 +467,39 @@ async function runWithPR(projectRoot, task) {
403
467
  resolve();
404
468
  });
405
469
  });
470
+ }
471
+ async function runWithPR(projectRoot, task) {
472
+ if (!task) {
473
+ console.log(chalk.yellow("\n --task is required for pr mode"));
474
+ console.log(chalk.gray(" Usage: jfl peter pr --task \"fix the login bug\"\n"));
475
+ return;
476
+ }
477
+ if (!hasPi() && !hasRalphTui()) {
478
+ console.log(chalk.yellow("\n Neither pi nor ralph-tui is installed"));
479
+ console.log(chalk.gray(" Install pi: npm i -g @mariozechner/pi-coding-agent"));
480
+ console.log(chalk.gray(" Or ralph-tui: bun install -g ralph-tui\n"));
481
+ return;
482
+ }
483
+ const baseBranch = "main";
484
+ const branchName = `pp/fix-${Date.now()}`;
485
+ console.log(chalk.cyan(`\n PP: Creating branch ${branchName}`));
486
+ gitExec(["fetch", "origin", baseBranch], projectRoot);
487
+ let checkout = gitExec(["checkout", "-b", branchName, `origin/${baseBranch}`], projectRoot);
488
+ if (!checkout.ok) {
489
+ checkout = gitExec(["checkout", "-b", branchName, baseBranch], projectRoot);
490
+ }
491
+ if (!checkout.ok) {
492
+ console.log(chalk.red(` PP: Failed to create branch ${branchName}`));
493
+ return;
494
+ }
495
+ console.log(chalk.cyan(` PP: Running agent on task: ${task}`));
496
+ // Use pi (preferred) or fall back to ralph-tui
497
+ if (hasPi()) {
498
+ await runAgentWithPi(projectRoot, task);
499
+ }
500
+ else {
501
+ await runAgentWithRalphTui(projectRoot, task);
502
+ }
406
503
  const diffCheck = gitExec(["diff", "--quiet", "HEAD"], projectRoot);
407
504
  const untrackedResult = spawnSync("git", ["ls-files", "--others", "--exclude-standard"], {
408
505
  cwd: projectRoot,
@@ -442,12 +539,16 @@ async function runWithPR(projectRoot, task) {
442
539
  }
443
540
  console.log(chalk.cyan(" PP: Creating PR..."));
444
541
  const prTitle = `PP: ${task.slice(0, 60)}`;
542
+ // Extract issue number from task text (e.g. "GitHub #20: ..." or "Closes #20")
543
+ const issueMatch = task.match(/GitHub #(\d+)/i) || task.match(/(?:Closes|Fixes|Resolves) #(\d+)/i);
544
+ const linkedIssue = issueMatch ? issueMatch[1] : null;
445
545
  const prBody = [
446
546
  "## Auto-generated by Peter Parker",
447
547
  "",
448
548
  `**Task:** ${task}`,
449
549
  `**Branch:** \`${branchName}\``,
450
550
  "",
551
+ ...(linkedIssue ? [`Closes #${linkedIssue}`, ""] : []),
451
552
  "### Eval Suite",
452
553
  "This PR will be evaluated by the CI eval suite.",
453
554
  "Auto-merge will trigger if eval score improves over baseline.",
@@ -533,6 +634,92 @@ async function rerankWithPolicyHead(projectRoot, proposals, evals, recentDeltas)
533
634
  return proposals;
534
635
  }
535
636
  }
637
+ /**
638
+ * Use the planning loop (PH → WM rollouts → select) to choose the best action.
639
+ * Falls back to rerankWithPolicyHead if planning loop fails.
640
+ */
641
+ async function planWithRollouts(projectRoot, agentId, goal, proposals, evals, recentDeltas, verbose = false) {
642
+ try {
643
+ const planner = createPlanningLoop(projectRoot, {
644
+ topK: Math.min(5, proposals.length),
645
+ verbose,
646
+ maxPlanningTimeMs: 10000, // 10s for experiment selection
647
+ });
648
+ if (!planner.isReady) {
649
+ if (verbose)
650
+ console.log(chalk.gray(" Planning loop: PolicyHead not loaded, using rerank fallback"));
651
+ const reranked = await rerankWithPolicyHead(projectRoot, proposals, evals, recentDeltas);
652
+ return { proposals: reranked, planningResult: null };
653
+ }
654
+ console.log(chalk.magenta(" Planning loop: PH → WM rollouts → select"));
655
+ const result = await planner.plan(agentId, goal);
656
+ if (result.selectedAction) {
657
+ console.log(chalk.magenta(` Planning completed in ${result.planningTimeMs}ms, ${result.rolloutsPerformed} rollouts`));
658
+ // Map planning results back to proposals by scoring alignment
659
+ const scoredProposals = proposals.map(p => {
660
+ // Find best matching evaluated action
661
+ const bestMatch = result.allActions
662
+ .filter(a => !a.filtered)
663
+ .sort((a, b) => {
664
+ // Score by how well the action type matches the proposal
665
+ const aMatch = proposalMatchesAction(p, a) ? 1 : 0;
666
+ const bMatch = proposalMatchesAction(p, b) ? 1 : 0;
667
+ if (aMatch !== bMatch)
668
+ return bMatch - aMatch;
669
+ return b.combinedScore - a.combinedScore;
670
+ })[0];
671
+ return {
672
+ proposal: p,
673
+ score: bestMatch?.combinedScore ?? 0,
674
+ prediction: bestMatch?.prediction,
675
+ };
676
+ });
677
+ scoredProposals.sort((a, b) => b.score - a.score);
678
+ // Log the ranked results
679
+ for (let i = 0; i < scoredProposals.length; i++) {
680
+ const s = scoredProposals[i];
681
+ const predDelta = s.prediction?.outcome?.immediate?.evalScoreChange;
682
+ const conf = s.prediction?.confidence;
683
+ console.log(chalk.gray(` #${i + 1} [score=${s.score.toFixed(3)}` +
684
+ (predDelta !== undefined ? ` pred_delta=${predDelta > 0 ? "+" : ""}${predDelta.toFixed(4)}` : "") +
685
+ (conf !== undefined ? ` conf=${conf.toFixed(2)}` : "") +
686
+ `] ${s.proposal.task.slice(0, 60)}`));
687
+ }
688
+ console.log();
689
+ return {
690
+ proposals: scoredProposals.map(s => s.proposal),
691
+ planningResult: result,
692
+ };
693
+ }
694
+ else {
695
+ console.log(chalk.yellow(` Planning loop: no valid action selected (${result.noSelectionReason})`));
696
+ const reranked = await rerankWithPolicyHead(projectRoot, proposals, evals, recentDeltas);
697
+ return { proposals: reranked, planningResult: result };
698
+ }
699
+ }
700
+ catch (err) {
701
+ console.log(chalk.yellow(` Planning loop failed: ${err.message}`));
702
+ const reranked = await rerankWithPolicyHead(projectRoot, proposals, evals, recentDeltas);
703
+ return { proposals: reranked, planningResult: null };
704
+ }
705
+ }
706
+ /** Check if a proposal's task description matches an evaluated action type */
707
+ function proposalMatchesAction(proposal, action) {
708
+ const task = proposal.task.toLowerCase();
709
+ const actionType = action.action.actionType;
710
+ const matches = {
711
+ "fix": ["fix", "bug", "error", "crash", "broken"],
712
+ "refactor": ["refactor", "clean", "simplify", "extract", "dedup"],
713
+ "feature": ["add", "implement", "create", "build", "new"],
714
+ "test": ["test", "coverage", "spec", "assert"],
715
+ "config": ["config", "setting", "env", "deploy"],
716
+ "experiment": ["experiment", "try", "investigate", "explore"],
717
+ "eval": ["eval", "score", "metric", "measure"],
718
+ "research": ["research", "read", "analyze", "understand"],
719
+ };
720
+ const keywords = matches[actionType] || [];
721
+ return keywords.some(kw => task.includes(kw));
722
+ }
536
723
  function writeJournalEntry(projectRoot, entry) {
537
724
  const journalDir = path.join(projectRoot, ".jfl", "journal");
538
725
  if (!fs.existsSync(journalDir)) {
@@ -650,7 +837,9 @@ Respond with ONLY a JSON array, no other text.`;
650
837
  .slice(0, 5)
651
838
  .map(e => e.score_delta ?? 0)
652
839
  .filter((d) => typeof d === "number");
653
- proposals = await rerankWithPolicyHead(projectRoot, proposals, evals, recentDeltas);
840
+ // Use planning loop (PH WM rollouts) when available, fallback to rerank
841
+ const planResult = await planWithRollouts(projectRoot, "peter-parker", "Select highest-impact experiment for eval score improvement", proposals, evals, recentDeltas);
842
+ proposals = planResult.proposals;
654
843
  console.log(chalk.bold(" Top 3 Proposals:\n"));
655
844
  for (let i = 0; i < Math.min(3, proposals.length); i++) {
656
845
  const p = proposals[i];
@@ -883,7 +1072,9 @@ Suggest the SINGLE highest-value change. JSON format:
883
1072
  if (jsonMatch) {
884
1073
  let proposals = JSON.parse(jsonMatch[0]);
885
1074
  const recentDeltas = results.slice(-5).map(r => r.delta);
886
- proposals = await rerankWithPolicyHead(projectRoot, proposals, evals, recentDeltas);
1075
+ // Use planning loop (PH WM rollouts) when available
1076
+ const planResult = await planWithRollouts(projectRoot, "peter-parker", `Autoresearch round ${round}: improve eval score`, proposals, evals, recentDeltas);
1077
+ proposals = planResult.proposals;
887
1078
  if (proposals.length > 0)
888
1079
  proposal = proposals[0];
889
1080
  }
@@ -1741,6 +1932,22 @@ Be concise. Output a JSON object: { "run": ["agent1", "agent2"], "skip": ["agent
1741
1932
  }
1742
1933
  console.log();
1743
1934
  }
1935
+ // TOCTOU guard: verify hub before starting agents (TLA+ invariant: HubRequiredForScheduling)
1936
+ try {
1937
+ const { guardHubAvailable } = await import("../lib/hub-health.js");
1938
+ const hubGuard = await guardHubAvailable(projectRoot, "daily-loop");
1939
+ if (hubGuard.proceed) {
1940
+ console.log(chalk.green(` Hub health: ✓ (${hubGuard.status.responseMs}ms)`));
1941
+ }
1942
+ else {
1943
+ console.log(chalk.yellow(` Hub health: ✗ (${hubGuard.status.error})`));
1944
+ console.log(chalk.gray(" Agents will run without hub tracking. Results may not be recorded."));
1945
+ }
1946
+ console.log();
1947
+ }
1948
+ catch {
1949
+ // Hub check unavailable — proceed
1950
+ }
1744
1951
  // Schedule next agent using meta-orchestrator
1745
1952
  const decision = orchestrator.scheduleNext();
1746
1953
  if (!decision) {