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.
- package/dist/commands/doctor.d.ts +1 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +30 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/ide.d.ts +2 -1
- package/dist/commands/ide.d.ts.map +1 -1
- package/dist/commands/ide.js +60 -1
- package/dist/commands/ide.js.map +1 -1
- package/dist/commands/init-from-service.d.ts +15 -0
- package/dist/commands/init-from-service.d.ts.map +1 -0
- package/dist/commands/init-from-service.js +541 -0
- package/dist/commands/init-from-service.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +32 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/kanban.d.ts.map +1 -1
- package/dist/commands/kanban.js +13 -4
- package/dist/commands/kanban.js.map +1 -1
- package/dist/commands/linear.d.ts +41 -0
- package/dist/commands/linear.d.ts.map +1 -0
- package/dist/commands/linear.js +715 -0
- package/dist/commands/linear.js.map +1 -0
- package/dist/commands/peter.d.ts.map +1 -1
- package/dist/commands/peter.js +232 -25
- package/dist/commands/peter.js.map +1 -1
- package/dist/commands/services.d.ts.map +1 -1
- package/dist/commands/services.js +146 -0
- package/dist/commands/services.js.map +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +173 -13
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/telemetry-monitor.d.ts +11 -0
- package/dist/commands/telemetry-monitor.d.ts.map +1 -0
- package/dist/commands/telemetry-monitor.js +224 -0
- package/dist/commands/telemetry-monitor.js.map +1 -0
- package/dist/commands/telemetry-test.d.ts +11 -0
- package/dist/commands/telemetry-test.d.ts.map +1 -0
- package/dist/commands/telemetry-test.js +67 -0
- package/dist/commands/telemetry-test.js.map +1 -0
- package/dist/commands/tenet-agents.d.ts +13 -0
- package/dist/commands/tenet-agents.d.ts.map +1 -0
- package/dist/commands/tenet-agents.js +191 -0
- package/dist/commands/tenet-agents.js.map +1 -0
- package/dist/commands/tenet-setup.d.ts +19 -0
- package/dist/commands/tenet-setup.d.ts.map +1 -0
- package/dist/commands/tenet-setup.js +131 -0
- package/dist/commands/tenet-setup.js.map +1 -0
- package/dist/commands/train.d.ts +18 -0
- package/dist/commands/train.d.ts.map +1 -1
- package/dist/commands/train.js +182 -0
- package/dist/commands/train.js.map +1 -1
- package/dist/commands/whoami.d.ts +2 -0
- package/dist/commands/whoami.d.ts.map +1 -0
- package/dist/commands/whoami.js +24 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/index.js +159 -10
- package/dist/index.js.map +1 -1
- package/dist/lib/advanced-setup.d.ts +78 -0
- package/dist/lib/advanced-setup.d.ts.map +1 -0
- package/dist/lib/advanced-setup.js +433 -0
- package/dist/lib/advanced-setup.js.map +1 -0
- package/dist/lib/agent-config.d.ts +33 -0
- package/dist/lib/agent-config.d.ts.map +1 -1
- package/dist/lib/agent-config.js +26 -0
- package/dist/lib/agent-config.js.map +1 -1
- package/dist/lib/counterfactual-training-bridge.d.ts +114 -0
- package/dist/lib/counterfactual-training-bridge.d.ts.map +1 -0
- package/dist/lib/counterfactual-training-bridge.js +322 -0
- package/dist/lib/counterfactual-training-bridge.js.map +1 -0
- package/dist/lib/discovery-agent.d.ts +48 -0
- package/dist/lib/discovery-agent.d.ts.map +1 -0
- package/dist/lib/discovery-agent.js +111 -0
- package/dist/lib/discovery-agent.js.map +1 -0
- package/dist/lib/flow-engine.d.ts.map +1 -1
- package/dist/lib/flow-engine.js +46 -8
- package/dist/lib/flow-engine.js.map +1 -1
- package/dist/lib/gtm-generator.d.ts +29 -0
- package/dist/lib/gtm-generator.d.ts.map +1 -0
- package/dist/lib/gtm-generator.js +252 -0
- package/dist/lib/gtm-generator.js.map +1 -0
- package/dist/lib/hub-health.d.ts +40 -0
- package/dist/lib/hub-health.d.ts.map +1 -0
- package/dist/lib/hub-health.js +89 -0
- package/dist/lib/hub-health.js.map +1 -0
- package/dist/lib/invariant-monitor.d.ts +6 -2
- package/dist/lib/invariant-monitor.d.ts.map +1 -1
- package/dist/lib/invariant-monitor.js +89 -2
- package/dist/lib/invariant-monitor.js.map +1 -1
- package/dist/lib/journal-analyzer.d.ts +71 -0
- package/dist/lib/journal-analyzer.d.ts.map +1 -0
- package/dist/lib/journal-analyzer.js +306 -0
- package/dist/lib/journal-analyzer.js.map +1 -0
- package/dist/lib/linear-client.d.ts +73 -0
- package/dist/lib/linear-client.d.ts.map +1 -0
- package/dist/lib/linear-client.js +112 -0
- package/dist/lib/linear-client.js.map +1 -0
- package/dist/lib/linear-id-map.d.ts +20 -0
- package/dist/lib/linear-id-map.d.ts.map +1 -0
- package/dist/lib/linear-id-map.js +57 -0
- package/dist/lib/linear-id-map.js.map +1 -0
- package/dist/lib/linear-kanban.d.ts +66 -0
- package/dist/lib/linear-kanban.d.ts.map +1 -0
- package/dist/lib/linear-kanban.js +175 -0
- package/dist/lib/linear-kanban.js.map +1 -0
- package/dist/lib/onboarding.d.ts +40 -0
- package/dist/lib/onboarding.d.ts.map +1 -0
- package/dist/lib/onboarding.js +213 -0
- package/dist/lib/onboarding.js.map +1 -0
- package/dist/lib/physical-world-model.d.ts +50 -0
- package/dist/lib/physical-world-model.d.ts.map +1 -0
- package/dist/lib/physical-world-model.js +251 -0
- package/dist/lib/physical-world-model.js.map +1 -0
- package/dist/lib/planning-loop.d.ts +157 -0
- package/dist/lib/planning-loop.d.ts.map +1 -0
- package/dist/lib/planning-loop.js +537 -0
- package/dist/lib/planning-loop.js.map +1 -0
- package/dist/lib/policy-head.d.ts +13 -0
- package/dist/lib/policy-head.d.ts.map +1 -1
- package/dist/lib/policy-head.js +168 -2
- package/dist/lib/policy-head.js.map +1 -1
- package/dist/lib/resource-optimizer-middleware.d.ts +39 -0
- package/dist/lib/resource-optimizer-middleware.d.ts.map +1 -0
- package/dist/lib/resource-optimizer-middleware.js +222 -0
- package/dist/lib/resource-optimizer-middleware.js.map +1 -0
- package/dist/lib/resource-optimizer.d.ts +71 -0
- package/dist/lib/resource-optimizer.d.ts.map +1 -0
- package/dist/lib/resource-optimizer.js +228 -0
- package/dist/lib/resource-optimizer.js.map +1 -0
- package/dist/lib/rl-manager.d.ts +74 -0
- package/dist/lib/rl-manager.d.ts.map +1 -0
- package/dist/lib/rl-manager.js +244 -0
- package/dist/lib/rl-manager.js.map +1 -0
- package/dist/lib/service-analyzer.d.ts +76 -0
- package/dist/lib/service-analyzer.d.ts.map +1 -0
- package/dist/lib/service-analyzer.js +704 -0
- package/dist/lib/service-analyzer.js.map +1 -0
- package/dist/lib/service-gtm.js +2 -2
- package/dist/lib/service-gtm.js.map +1 -1
- package/dist/lib/service-questionnaire.d.ts +11 -0
- package/dist/lib/service-questionnaire.d.ts.map +1 -0
- package/dist/lib/service-questionnaire.js +89 -0
- package/dist/lib/service-questionnaire.js.map +1 -0
- package/dist/lib/setup/agent-generator.d.ts +2 -0
- package/dist/lib/setup/agent-generator.d.ts.map +1 -1
- package/dist/lib/setup/agent-generator.js +128 -4
- package/dist/lib/setup/agent-generator.js.map +1 -1
- package/dist/lib/setup/flow-generator.d.ts +10 -0
- package/dist/lib/setup/flow-generator.d.ts.map +1 -0
- package/dist/lib/setup/flow-generator.js +113 -0
- package/dist/lib/setup/flow-generator.js.map +1 -0
- package/dist/lib/setup/invariant-bridge.d.ts +91 -0
- package/dist/lib/setup/invariant-bridge.d.ts.map +1 -0
- package/dist/lib/setup/invariant-bridge.js +384 -0
- package/dist/lib/setup/invariant-bridge.js.map +1 -0
- package/dist/lib/setup/spec-generator.d.ts +41 -5
- package/dist/lib/setup/spec-generator.d.ts.map +1 -1
- package/dist/lib/setup/spec-generator.js +503 -29
- package/dist/lib/setup/spec-generator.js.map +1 -1
- package/dist/lib/stratus-client.js +1 -1
- package/dist/lib/stratus-client.js.map +1 -1
- package/dist/lib/surface-agent.d.ts +78 -0
- package/dist/lib/surface-agent.d.ts.map +1 -0
- package/dist/lib/surface-agent.js +105 -0
- package/dist/lib/surface-agent.js.map +1 -0
- package/dist/lib/surface-coordination-example.d.ts +30 -0
- package/dist/lib/surface-coordination-example.d.ts.map +1 -0
- package/dist/lib/surface-coordination-example.js +164 -0
- package/dist/lib/surface-coordination-example.js.map +1 -0
- package/dist/lib/telemetry/physical-world-collector.d.ts +15 -0
- package/dist/lib/telemetry/physical-world-collector.d.ts.map +1 -0
- package/dist/lib/telemetry/physical-world-collector.js +177 -0
- package/dist/lib/telemetry/physical-world-collector.js.map +1 -0
- package/dist/lib/telemetry/training-bridge.d.ts +51 -0
- package/dist/lib/telemetry/training-bridge.d.ts.map +1 -0
- package/dist/lib/telemetry/training-bridge.js +185 -0
- package/dist/lib/telemetry/training-bridge.js.map +1 -0
- package/dist/lib/telemetry.d.ts +2 -1
- package/dist/lib/telemetry.d.ts.map +1 -1
- package/dist/lib/telemetry.js +23 -2
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/tenet-board-agent.d.ts +52 -0
- package/dist/lib/tenet-board-agent.d.ts.map +1 -0
- package/dist/lib/tenet-board-agent.js +226 -0
- package/dist/lib/tenet-board-agent.js.map +1 -0
- package/dist/lib/tenet-ide-agent.d.ts +40 -0
- package/dist/lib/tenet-ide-agent.d.ts.map +1 -0
- package/dist/lib/tenet-ide-agent.js +199 -0
- package/dist/lib/tenet-ide-agent.js.map +1 -0
- package/dist/lib/workspace/data-pipeline.d.ts.map +1 -1
- package/dist/lib/workspace/data-pipeline.js +27 -5
- package/dist/lib/workspace/data-pipeline.js.map +1 -1
- package/dist/lib/workspace/sidebar-runner.d.ts +13 -0
- package/dist/lib/workspace/sidebar-runner.d.ts.map +1 -0
- package/dist/lib/workspace/sidebar-runner.js +419 -0
- package/dist/lib/workspace/sidebar-runner.js.map +1 -0
- package/dist/lib/workspace/surface-registry.d.ts.map +1 -1
- package/dist/lib/workspace/surface-registry.js +4 -1
- package/dist/lib/workspace/surface-registry.js.map +1 -1
- package/dist/lib/workspace/surfaces/agent-overview.d.ts +3 -3
- package/dist/lib/workspace/surfaces/agent-overview.d.ts.map +1 -1
- package/dist/lib/workspace/surfaces/agent-overview.js +3 -3
- package/dist/lib/workspace/surfaces/agent-overview.js.map +1 -1
- package/dist/lib/workspace/surfaces/index.d.ts +3 -0
- package/dist/lib/workspace/surfaces/index.d.ts.map +1 -1
- package/dist/lib/workspace/surfaces/index.js +3 -0
- package/dist/lib/workspace/surfaces/index.js.map +1 -1
- package/dist/lib/workspace/surfaces/kanban.d.ts +15 -0
- package/dist/lib/workspace/surfaces/kanban.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/kanban.js +43 -0
- package/dist/lib/workspace/surfaces/kanban.js.map +1 -0
- package/dist/lib/workspace/surfaces/physical-world.d.ts +15 -0
- package/dist/lib/workspace/surfaces/physical-world.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/physical-world.js +37 -0
- package/dist/lib/workspace/surfaces/physical-world.js.map +1 -0
- package/dist/lib/workspace/surfaces/sidebar.d.ts +22 -0
- package/dist/lib/workspace/surfaces/sidebar.d.ts.map +1 -0
- package/dist/lib/workspace/surfaces/sidebar.js +90 -0
- package/dist/lib/workspace/surfaces/sidebar.js.map +1 -0
- package/dist/types/flows.d.ts +2 -1
- package/dist/types/flows.d.ts.map +1 -1
- package/dist/types/physical-world-model.d.ts +65 -0
- package/dist/types/physical-world-model.d.ts.map +1 -0
- package/dist/types/physical-world-model.js +43 -0
- package/dist/types/physical-world-model.js.map +1 -0
- package/dist/types/telemetry.d.ts +37 -0
- package/dist/types/telemetry.d.ts.map +1 -1
- package/dist/types/world-model.d.ts.map +1 -1
- package/dist/types/world-model.js +14 -7
- package/dist/types/world-model.js.map +1 -1
- package/dist/utils/context-hub-port.d.ts.map +1 -1
- package/dist/utils/context-hub-port.js +6 -1
- package/dist/utils/context-hub-port.js.map +1 -1
- package/package.json +3 -2
- package/packages/pi/extensions/index.ts +34 -6
- package/packages/pi/extensions/onboarding-v1.ts +8 -8
- package/packages/pi/extensions/onboarding-v2.ts +5 -5
- package/scripts/telemetry-dashboard.sh +44 -0
- package/scripts/test-planning-loop-e2e.ts +181 -0
- package/scripts/test-server-inference.ts +49 -0
- package/scripts/test-state-sensitivity.ts +32 -0
- package/scripts/train/v2/benchmark.py +661 -0
- package/scripts/train/v2/generate_balanced.py +439 -0
- package/scripts/train/v2/generate_hard_negatives.py +219 -0
- package/scripts/train/v2/infer.py +149 -36
- package/scripts/train/v2/infer_server.py +224 -0
- package/scripts/train/v2/online_train.py +576 -0
- package/scripts/train/v2/precompute.py +24 -6
- 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;
|
|
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"}
|
package/dist/commands/peter.js
CHANGED
|
@@ -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
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
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
|
-
|
|
327
|
-
const
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
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(
|
|
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
|
-
|
|
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
|
-
|
|
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) {
|