jfl 0.5.0 → 0.6.1

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 (135) hide show
  1. package/dist/commands/context-hub.d.ts +1 -0
  2. package/dist/commands/context-hub.d.ts.map +1 -1
  3. package/dist/commands/context-hub.js +246 -2
  4. package/dist/commands/context-hub.js.map +1 -1
  5. package/dist/commands/peter.d.ts +2 -0
  6. package/dist/commands/peter.d.ts.map +1 -1
  7. package/dist/commands/peter.js +242 -52
  8. package/dist/commands/peter.js.map +1 -1
  9. package/dist/commands/setup.d.ts +12 -0
  10. package/dist/commands/setup.d.ts.map +1 -0
  11. package/dist/commands/setup.js +322 -0
  12. package/dist/commands/setup.js.map +1 -0
  13. package/dist/commands/train.d.ts +33 -0
  14. package/dist/commands/train.d.ts.map +1 -0
  15. package/dist/commands/train.js +510 -0
  16. package/dist/commands/train.js.map +1 -0
  17. package/dist/commands/verify.d.ts +14 -0
  18. package/dist/commands/verify.d.ts.map +1 -0
  19. package/dist/commands/verify.js +276 -0
  20. package/dist/commands/verify.js.map +1 -0
  21. package/dist/dashboard-static/assets/index-CW9ZxqX8.css +1 -0
  22. package/dist/dashboard-static/assets/index-DNN__p4K.js +121 -0
  23. package/dist/dashboard-static/index.html +2 -2
  24. package/dist/index.js +99 -3
  25. package/dist/index.js.map +1 -1
  26. package/dist/lib/agent-session.d.ts.map +1 -1
  27. package/dist/lib/agent-session.js +12 -4
  28. package/dist/lib/agent-session.js.map +1 -1
  29. package/dist/lib/eval-snapshot.js +1 -1
  30. package/dist/lib/eval-snapshot.js.map +1 -1
  31. package/dist/lib/pi-sky/bridge.d.ts +55 -0
  32. package/dist/lib/pi-sky/bridge.d.ts.map +1 -0
  33. package/dist/lib/pi-sky/bridge.js +264 -0
  34. package/dist/lib/pi-sky/bridge.js.map +1 -0
  35. package/dist/lib/pi-sky/cost-monitor.d.ts +21 -0
  36. package/dist/lib/pi-sky/cost-monitor.d.ts.map +1 -0
  37. package/dist/lib/pi-sky/cost-monitor.js +126 -0
  38. package/dist/lib/pi-sky/cost-monitor.js.map +1 -0
  39. package/dist/lib/pi-sky/eval-sweep.d.ts +27 -0
  40. package/dist/lib/pi-sky/eval-sweep.d.ts.map +1 -0
  41. package/dist/lib/pi-sky/eval-sweep.js +141 -0
  42. package/dist/lib/pi-sky/eval-sweep.js.map +1 -0
  43. package/dist/lib/pi-sky/event-router.d.ts +32 -0
  44. package/dist/lib/pi-sky/event-router.d.ts.map +1 -0
  45. package/dist/lib/pi-sky/event-router.js +176 -0
  46. package/dist/lib/pi-sky/event-router.js.map +1 -0
  47. package/dist/lib/pi-sky/experiment.d.ts +9 -0
  48. package/dist/lib/pi-sky/experiment.d.ts.map +1 -0
  49. package/dist/lib/pi-sky/experiment.js +83 -0
  50. package/dist/lib/pi-sky/experiment.js.map +1 -0
  51. package/dist/lib/pi-sky/index.d.ts +16 -0
  52. package/dist/lib/pi-sky/index.d.ts.map +1 -0
  53. package/dist/lib/pi-sky/index.js +16 -0
  54. package/dist/lib/pi-sky/index.js.map +1 -0
  55. package/dist/lib/pi-sky/stratus-gate.d.ts +28 -0
  56. package/dist/lib/pi-sky/stratus-gate.d.ts.map +1 -0
  57. package/dist/lib/pi-sky/stratus-gate.js +61 -0
  58. package/dist/lib/pi-sky/stratus-gate.js.map +1 -0
  59. package/dist/lib/pi-sky/swarm.d.ts +28 -0
  60. package/dist/lib/pi-sky/swarm.d.ts.map +1 -0
  61. package/dist/lib/pi-sky/swarm.js +208 -0
  62. package/dist/lib/pi-sky/swarm.js.map +1 -0
  63. package/dist/lib/pi-sky/types.d.ts +139 -0
  64. package/dist/lib/pi-sky/types.d.ts.map +1 -0
  65. package/dist/lib/pi-sky/types.js +2 -0
  66. package/dist/lib/pi-sky/types.js.map +1 -0
  67. package/dist/lib/pi-sky/voice-bridge.d.ts +20 -0
  68. package/dist/lib/pi-sky/voice-bridge.d.ts.map +1 -0
  69. package/dist/lib/pi-sky/voice-bridge.js +91 -0
  70. package/dist/lib/pi-sky/voice-bridge.js.map +1 -0
  71. package/dist/lib/policy-head.d.ts +16 -1
  72. package/dist/lib/policy-head.d.ts.map +1 -1
  73. package/dist/lib/policy-head.js +117 -19
  74. package/dist/lib/policy-head.js.map +1 -1
  75. package/dist/lib/predictor.d.ts +10 -0
  76. package/dist/lib/predictor.d.ts.map +1 -1
  77. package/dist/lib/predictor.js +46 -7
  78. package/dist/lib/predictor.js.map +1 -1
  79. package/dist/lib/setup/agent-generator.d.ts +18 -0
  80. package/dist/lib/setup/agent-generator.d.ts.map +1 -0
  81. package/dist/lib/setup/agent-generator.js +114 -0
  82. package/dist/lib/setup/agent-generator.js.map +1 -0
  83. package/dist/lib/setup/context-analyzer.d.ts +16 -0
  84. package/dist/lib/setup/context-analyzer.d.ts.map +1 -0
  85. package/dist/lib/setup/context-analyzer.js +112 -0
  86. package/dist/lib/setup/context-analyzer.js.map +1 -0
  87. package/dist/lib/setup/doc-auditor.d.ts +54 -0
  88. package/dist/lib/setup/doc-auditor.d.ts.map +1 -0
  89. package/dist/lib/setup/doc-auditor.js +629 -0
  90. package/dist/lib/setup/doc-auditor.js.map +1 -0
  91. package/dist/lib/setup/domain-generator.d.ts +7 -0
  92. package/dist/lib/setup/domain-generator.d.ts.map +1 -0
  93. package/dist/lib/setup/domain-generator.js +58 -0
  94. package/dist/lib/setup/domain-generator.js.map +1 -0
  95. package/dist/lib/setup/smart-eval-generator.d.ts +38 -0
  96. package/dist/lib/setup/smart-eval-generator.d.ts.map +1 -0
  97. package/dist/lib/setup/smart-eval-generator.js +378 -0
  98. package/dist/lib/setup/smart-eval-generator.js.map +1 -0
  99. package/dist/lib/setup/smart-recommender.d.ts +63 -0
  100. package/dist/lib/setup/smart-recommender.d.ts.map +1 -0
  101. package/dist/lib/setup/smart-recommender.js +329 -0
  102. package/dist/lib/setup/smart-recommender.js.map +1 -0
  103. package/dist/lib/setup/spec-generator.d.ts +63 -0
  104. package/dist/lib/setup/spec-generator.d.ts.map +1 -0
  105. package/dist/lib/setup/spec-generator.js +310 -0
  106. package/dist/lib/setup/spec-generator.js.map +1 -0
  107. package/dist/lib/setup/violation-agent-generator.d.ts +32 -0
  108. package/dist/lib/setup/violation-agent-generator.d.ts.map +1 -0
  109. package/dist/lib/setup/violation-agent-generator.js +255 -0
  110. package/dist/lib/setup/violation-agent-generator.js.map +1 -0
  111. package/package.json +1 -1
  112. package/packages/pi/extensions/context.ts +88 -55
  113. package/packages/pi/extensions/hub-resolver.ts +63 -0
  114. package/packages/pi/extensions/index.ts +16 -3
  115. package/packages/pi/extensions/memory-tool.ts +9 -4
  116. package/packages/pi/extensions/session.ts +68 -16
  117. package/packages/pi/extensions/tool-renderers.ts +23 -8
  118. package/scripts/train/requirements.txt +5 -0
  119. package/scripts/train/train-policy-head.py +477 -0
  120. package/scripts/train/v2/dataset.py +81 -0
  121. package/scripts/train/v2/domain.json +18 -0
  122. package/scripts/train/v2/eval.py +196 -0
  123. package/scripts/train/v2/generate_data.py +219 -0
  124. package/scripts/train/v2/infer.py +188 -0
  125. package/scripts/train/v2/model.py +112 -0
  126. package/scripts/train/v2/precompute.py +132 -0
  127. package/scripts/train/v2/train.py +302 -0
  128. package/scripts/train/v2/transform_buffer.py +227 -0
  129. package/scripts/train/v2/validate_data.py +115 -0
  130. package/template/.claude/settings.json +2 -15
  131. package/template/scripts/session/session-cleanup.sh +2 -11
  132. package/template/scripts/session/session-end-hub.sh +72 -0
  133. package/template/scripts/session/session-start-hub.sh +105 -0
  134. package/dist/dashboard-static/assets/index-B6b867Pv.js +0 -121
  135. package/dist/dashboard-static/assets/index-Y4BrqxV-.css +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doc-auditor.js","sourceRoot":"","sources":["../../../src/lib/setup/doc-auditor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * @purpose Generate project-specific domain.json from context analysis
3
+ */
4
+ import type { ProjectContext } from "./context-analyzer.js";
5
+ export declare function generateDomain(projectRoot: string, ctx: ProjectContext): object;
6
+ export declare function writeDomain(projectRoot: string, domain: object): string;
7
+ //# sourceMappingURL=domain-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-generator.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/domain-generator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAuB3D,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,MAAM,CA+B/E;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQvE"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @purpose Generate project-specific domain.json from context analysis
3
+ */
4
+ import { writeFileSync, readFileSync, existsSync } from "fs";
5
+ import { join } from "path";
6
+ const BASE_TOOLS = [
7
+ { name: "fix_bug", description: "Fix a bug or error in existing code — address failing tests, runtime errors, or incorrect behavior", category: "modification" },
8
+ { name: "refactor_code", description: "Restructure existing code without changing behavior — improve readability, reduce complexity, extract functions", category: "modification" },
9
+ { name: "add_feature", description: "Implement a new feature or capability — add new functions, endpoints, CLI commands, or UI components", category: "modification" },
10
+ { name: "add_tests", description: "Write or improve test coverage — unit tests, integration tests, eval datasets", category: "execution" },
11
+ { name: "update_config", description: "Change configuration, settings, or infrastructure — update package.json, tsconfig, CI workflows, deploy configs", category: "system" },
12
+ { name: "run_experiment", description: "Conduct a research experiment — try a hypothesis, benchmark alternatives, A/B test approaches", category: "execution" },
13
+ { name: "update_docs", description: "Update documentation, README, or knowledge docs — specs, decision records, API docs", category: "communication" },
14
+ { name: "optimize_performance", description: "Improve speed, reduce resource usage, optimize queries or algorithms", category: "execution" },
15
+ { name: "add_monitoring", description: "Add observability — logging, metrics, health checks, alerting, telemetry", category: "observation" },
16
+ { name: "security_hardening", description: "Fix security issues — input validation, auth, secrets management, dependency updates", category: "system" },
17
+ { name: "dependency_update", description: "Update, add, or remove package dependencies — version bumps, migration to new libraries", category: "system" },
18
+ { name: "data_pipeline", description: "Build or modify data processing pipelines — ETL, data transformation, training data preparation", category: "execution" },
19
+ ];
20
+ export function generateDomain(projectRoot, ctx) {
21
+ // Start with base tools
22
+ const tools = [...BASE_TOOLS];
23
+ // Read project config for name/description
24
+ let projectName = "project";
25
+ let projectDesc = "Software development";
26
+ const configPath = join(projectRoot, ".jfl", "config.json");
27
+ if (existsSync(configPath)) {
28
+ try {
29
+ const config = JSON.parse(readFileSync(configPath, "utf-8"));
30
+ projectName = config.name || projectName;
31
+ projectDesc = config.description || projectDesc;
32
+ }
33
+ catch { /* skip */ }
34
+ }
35
+ // Read vision for better description
36
+ const visionPath = join(projectRoot, "knowledge", "VISION.md");
37
+ if (existsSync(visionPath)) {
38
+ const vision = readFileSync(visionPath, "utf-8");
39
+ const firstLine = vision.split("\n").find(l => l.trim() && !l.startsWith("#"));
40
+ if (firstLine) {
41
+ projectDesc = firstLine.trim().slice(0, 200);
42
+ }
43
+ }
44
+ return {
45
+ domain: `${projectName}_development`,
46
+ description: `AI-driven development for ${projectName} — ${projectDesc}`,
47
+ tools,
48
+ };
49
+ }
50
+ export function writeDomain(projectRoot, domain) {
51
+ const v2Dir = join(projectRoot, "scripts", "train", "v2");
52
+ const domainPath = existsSync(v2Dir)
53
+ ? join(v2Dir, "domain.json")
54
+ : join(projectRoot, ".jfl", "domain.json");
55
+ writeFileSync(domainPath, JSON.stringify(domain, null, 2) + "\n");
56
+ return domainPath;
57
+ }
58
+ //# sourceMappingURL=domain-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domain-generator.js","sourceRoot":"","sources":["../../../src/lib/setup/domain-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @purpose Generate real eval scripts from TLC violations + journal patterns
3
+ *
4
+ * Instead of bash templates with TODOs, this:
5
+ * 1. Analyzes the TLC violation trace to understand WHAT broke
6
+ * 2. Reads journal patterns to understand HOW it manifests in practice
7
+ * 3. Reads the actual codebase to find real endpoints/files to test
8
+ * 4. Optionally uses Stratus to reason about the best eval strategy
9
+ * 5. Generates eval scripts that test against the REAL system
10
+ */
11
+ export interface ViolationContext {
12
+ invariant: string;
13
+ trace: TraceStep[];
14
+ stateVars: string[];
15
+ services: string[];
16
+ concurrencyPatterns: string[];
17
+ }
18
+ export interface TraceStep {
19
+ step: number;
20
+ action: string;
21
+ state: Record<string, string>;
22
+ }
23
+ export interface EvalStrategy {
24
+ type: "http" | "process" | "file" | "git" | "composite";
25
+ checks: EvalCheck[];
26
+ setup?: string;
27
+ teardown?: string;
28
+ }
29
+ export interface EvalCheck {
30
+ name: string;
31
+ description: string;
32
+ command: string;
33
+ scoreExtractor: string;
34
+ weight: number;
35
+ }
36
+ export declare function generateSmartEval(projectRoot: string, violation: ViolationContext): string;
37
+ export declare function generateSmartEvalWithStratus(projectRoot: string, violation: ViolationContext): Promise<string>;
38
+ //# sourceMappingURL=smart-eval-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-eval-generator.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/smart-eval-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,SAAS,EAAE,CAAA;IAClB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,mBAAmB,EAAE,MAAM,EAAE,CAAA;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC9B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,CAAA;IACvD,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACf;AAMD,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,GAC1B,MAAM,CAGR;AAgSD,wBAAsB,4BAA4B,CAChD,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,gBAAgB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAqCjB"}
@@ -0,0 +1,378 @@
1
+ /**
2
+ * @purpose Generate real eval scripts from TLC violations + journal patterns
3
+ *
4
+ * Instead of bash templates with TODOs, this:
5
+ * 1. Analyzes the TLC violation trace to understand WHAT broke
6
+ * 2. Reads journal patterns to understand HOW it manifests in practice
7
+ * 3. Reads the actual codebase to find real endpoints/files to test
8
+ * 4. Optionally uses Stratus to reason about the best eval strategy
9
+ * 5. Generates eval scripts that test against the REAL system
10
+ */
11
+ import { existsSync, readFileSync } from "fs";
12
+ import { join } from "path";
13
+ // ============================================================================
14
+ // Main entry: generate smart eval from violation
15
+ // ============================================================================
16
+ export function generateSmartEval(projectRoot, violation) {
17
+ const strategy = analyzeViolation(projectRoot, violation);
18
+ return renderEvalScript(violation.invariant, strategy);
19
+ }
20
+ // ============================================================================
21
+ // Analyze violation → determine eval strategy
22
+ // ============================================================================
23
+ function analyzeViolation(projectRoot, violation) {
24
+ const invariant = violation.invariant;
25
+ const checks = [];
26
+ let evalType = "composite";
27
+ // Detect what kind of system we're testing
28
+ const hasServices = detectServices(projectRoot);
29
+ const hasHub = hasServices.some(s => s.type === "hub");
30
+ const hasAPI = hasServices.some(s => s.port !== undefined);
31
+ const hasAgents = existsSync(join(projectRoot, ".jfl", "agents"));
32
+ // ---- Analyze trace to understand the failure pattern ----
33
+ const crashAction = violation.trace.find(s => s.action.includes("Crash") || s.action.includes("Stop"));
34
+ const startAction = violation.trace.find(s => s.action.includes("Start") || s.action.includes("Schedule"));
35
+ const conflictActions = violation.trace.filter(s => s.action.includes("Human") || s.action.includes("Lock") || s.action.includes("Edit"));
36
+ // ---- Generate checks based on invariant type ----
37
+ // 1. Hub availability checks
38
+ if (invariant.includes("Hub") || invariant.includes("Required") || crashAction) {
39
+ const hubPort = findHubPort(projectRoot);
40
+ checks.push({
41
+ name: "hub_health",
42
+ description: "Hub is responsive and healthy",
43
+ command: `curl -sf "http://localhost:${hubPort}/health" -o /dev/null -w "%{http_code}"`,
44
+ scoreExtractor: '[ "$RESULT" = "200" ] && echo 100 || echo 0',
45
+ weight: 0.3,
46
+ });
47
+ checks.push({
48
+ name: "hub_context_available",
49
+ description: "Hub context API returns data",
50
+ command: `TOKEN=$(cat .jfl/context-hub.token 2>/dev/null) && curl -sf -H "Authorization: Bearer $TOKEN" "http://localhost:${hubPort}/api/context/status" | jq -r '.itemCount // 0'`,
51
+ scoreExtractor: '[ "$RESULT" -gt 0 ] && echo 100 || echo 0',
52
+ weight: 0.2,
53
+ });
54
+ // If trace shows crash → check recovery
55
+ if (crashAction) {
56
+ checks.push({
57
+ name: "hub_recovery",
58
+ description: "Hub recovers within 10 seconds after simulated stop",
59
+ command: `
60
+ HUB_PID=$(lsof -ti :${hubPort} 2>/dev/null)
61
+ if [ -n "$HUB_PID" ]; then
62
+ kill "$HUB_PID" 2>/dev/null
63
+ sleep 2
64
+ jfl context-hub start --port ${hubPort} --quiet 2>/dev/null
65
+ sleep 3
66
+ curl -sf "http://localhost:${hubPort}/health" -o /dev/null && echo "recovered" || echo "failed"
67
+ else
68
+ echo "not_running"
69
+ fi`,
70
+ scoreExtractor: '[ "$RESULT" = "recovered" ] && echo 100 || echo 0',
71
+ weight: 0.3,
72
+ });
73
+ }
74
+ }
75
+ // 2. Agent isolation checks
76
+ if (invariant.includes("Isolation") || invariant.includes("Lock") || conflictActions.length > 0) {
77
+ checks.push({
78
+ name: "lock_files_valid",
79
+ description: "All active lock files reference live processes",
80
+ command: `
81
+ STALE=0
82
+ for lock in .jfl/locks/*.lock 2>/dev/null; do
83
+ [ -f "$lock" ] || continue
84
+ PID=$(jq -r '.pid // empty' "$lock" 2>/dev/null)
85
+ if [ -n "$PID" ] && ! kill -0 "$PID" 2>/dev/null; then
86
+ STALE=$((STALE + 1))
87
+ fi
88
+ done
89
+ echo $STALE`,
90
+ scoreExtractor: '[ "$RESULT" -eq 0 ] && echo 100 || echo $((100 - RESULT * 20))',
91
+ weight: 0.3,
92
+ });
93
+ checks.push({
94
+ name: "no_concurrent_repo_writes",
95
+ description: "No two agents writing to same repo simultaneously",
96
+ command: `
97
+ CONFLICTS=0
98
+ declare -A REPOS
99
+ for lock in .jfl/locks/*.lock 2>/dev/null; do
100
+ [ -f "$lock" ] || continue
101
+ REPO=$(jq -r '.repo // empty' "$lock" 2>/dev/null)
102
+ if [ -n "$REPO" ] && [ -n "\${REPOS[$REPO]+x}" ]; then
103
+ CONFLICTS=$((CONFLICTS + 1))
104
+ fi
105
+ REPOS[$REPO]=1
106
+ done
107
+ echo $CONFLICTS`,
108
+ scoreExtractor: '[ "$RESULT" -eq 0 ] && echo 100 || echo 0',
109
+ weight: 0.4,
110
+ });
111
+ // Git-level check
112
+ checks.push({
113
+ name: "worktree_clean",
114
+ description: "Agent worktrees have no uncommitted conflicts",
115
+ command: `
116
+ DIRTY=0
117
+ for wt in .jfl/worktrees/*/; do
118
+ [ -d "$wt/.git" ] || continue
119
+ CHANGES=$(cd "$wt" && git status --porcelain 2>/dev/null | grep -c "^UU" || echo 0)
120
+ DIRTY=$((DIRTY + CHANGES))
121
+ done
122
+ echo $DIRTY`,
123
+ scoreExtractor: '[ "$RESULT" -eq 0 ] && echo 100 || echo 0',
124
+ weight: 0.3,
125
+ });
126
+ }
127
+ // 3. Scheduling invariant checks
128
+ if (invariant.includes("Scheduling") || invariant.includes("Bounded") || startAction) {
129
+ checks.push({
130
+ name: "agent_count_bounded",
131
+ description: "Number of concurrent agents within limit",
132
+ command: `
133
+ MAX=\${JFL_MAX_CONCURRENT:-3}
134
+ RUNNING=$(find .jfl/locks -name "*.lock" 2>/dev/null | wc -l | tr -d ' ')
135
+ echo "$RUNNING:$MAX"`,
136
+ scoreExtractor: `
137
+ RUNNING=$(echo "$RESULT" | cut -d: -f1)
138
+ MAX=$(echo "$RESULT" | cut -d: -f2)
139
+ [ "$RUNNING" -le "$MAX" ] && echo 100 || echo 0`,
140
+ weight: 0.4,
141
+ });
142
+ // Check that evals complete in time budget
143
+ checks.push({
144
+ name: "eval_within_budget",
145
+ description: "Last eval run completed within time budget",
146
+ command: `
147
+ LAST_EVAL=$(ls -t .jfl/journal/eval-*.jsonl 2>/dev/null | head -1)
148
+ if [ -n "$LAST_EVAL" ]; then
149
+ DURATION=$(tail -1 "$LAST_EVAL" | jq -r '.duration_seconds // 999')
150
+ echo $DURATION
151
+ else
152
+ echo 0
153
+ fi`,
154
+ scoreExtractor: '[ "$RESULT" -lt 180 ] && echo 100 || echo $((100 - (RESULT - 180) / 2))',
155
+ weight: 0.3,
156
+ });
157
+ }
158
+ // 4. Service health checks (from services.json)
159
+ if (hasAPI) {
160
+ for (const svc of hasServices.filter(s => s.port)) {
161
+ checks.push({
162
+ name: `service_${svc.name}_health`,
163
+ description: `${svc.name} service responds on port ${svc.port}`,
164
+ command: `curl -sf "http://localhost:${svc.port}${svc.healthPath || "/health"}" -o /dev/null -w "%{http_code}" 2>/dev/null || echo 0`,
165
+ scoreExtractor: '[ "$RESULT" = "200" ] && echo 100 || echo 0',
166
+ weight: 0.15,
167
+ });
168
+ }
169
+ }
170
+ // 5. Journal-based regression check
171
+ checks.push({
172
+ name: "no_recent_reverts",
173
+ description: "No reverts in last 24 hours for related files",
174
+ command: `
175
+ REVERTS=$(find .jfl/journal -name "*.jsonl" -newer <(date -v-24H +%Y%m%d 2>/dev/null || date -d "24 hours ago" +%Y%m%d) 2>/dev/null | xargs grep -l '"type":"revert"' 2>/dev/null | wc -l | tr -d ' ')
176
+ echo $REVERTS`,
177
+ scoreExtractor: '[ "$RESULT" -eq 0 ] && echo 100 || echo $((100 - RESULT * 25))',
178
+ weight: 0.2,
179
+ });
180
+ return {
181
+ type: evalType,
182
+ checks: checks.slice(0, 8), // cap at 8 checks
183
+ };
184
+ }
185
+ // ============================================================================
186
+ // Render eval script
187
+ // ============================================================================
188
+ function renderEvalScript(invariant, strategy) {
189
+ const checks = strategy.checks;
190
+ const totalWeight = checks.reduce((s, c) => s + c.weight, 0);
191
+ let script = `#!/bin/bash
192
+ # Eval: ${invariant.toLowerCase().replace(/[^a-z0-9]/g, "-")}
193
+ # Tests: ${checks.map(c => c.name).join(", ")}
194
+ # Generated by smart-eval-generator — tests against the REAL system
195
+ #
196
+ # Scoring: weighted composite of ${checks.length} checks
197
+ # Total weight: ${totalWeight.toFixed(2)}
198
+
199
+ set -uo pipefail
200
+
201
+ TOTAL_SCORE=0
202
+ TOTAL_WEIGHT=0
203
+ RESULTS=()
204
+
205
+ run_check() {
206
+ local name="$1"
207
+ local weight="$2"
208
+ local description="$3"
209
+ shift 3
210
+ local cmd="$*"
211
+
212
+ RESULT=$(eval "$cmd" 2>/dev/null || echo "error")
213
+ local score
214
+ score=$(eval "$4" 2>/dev/null || echo 0)
215
+
216
+ # Clamp score to 0-100
217
+ [ "$score" -gt 100 ] 2>/dev/null && score=100
218
+ [ "$score" -lt 0 ] 2>/dev/null && score=0
219
+
220
+ local weighted=$(echo "$score * $weight" | bc -l 2>/dev/null || echo 0)
221
+ TOTAL_SCORE=$(echo "$TOTAL_SCORE + $weighted" | bc -l 2>/dev/null || echo "$TOTAL_SCORE")
222
+ TOTAL_WEIGHT=$(echo "$TOTAL_WEIGHT + $weight" | bc -l 2>/dev/null || echo "$TOTAL_WEIGHT")
223
+
224
+ RESULTS+=("{\\"check\\": \\"$name\\", \\"score\\": $score, \\"weight\\": $weight, \\"description\\": \\"$description\\"}")
225
+ echo " [$name] score=$score weight=$weight — $description"
226
+ }
227
+
228
+ echo "Running ${checks.length} checks for ${invariant}..."
229
+ echo ""
230
+
231
+ `;
232
+ // Generate each check
233
+ for (const check of checks) {
234
+ // Escape the command for embedding in bash
235
+ const escapedCmd = check.command.trim().replace(/\n/g, "\n ");
236
+ const escapedExtractor = check.scoreExtractor.trim();
237
+ script += `# --- ${check.name} ---
238
+ CHECK_CMD() {
239
+ ${escapedCmd}
240
+ }
241
+ RESULT=$(CHECK_CMD)
242
+ SCORE_EXPR() {
243
+ ${escapedExtractor}
244
+ }
245
+ SCORE=$(SCORE_EXPR)
246
+ [ "$SCORE" -gt 100 ] 2>/dev/null && SCORE=100
247
+ [ "$SCORE" -lt 0 ] 2>/dev/null && SCORE=0
248
+ WEIGHTED=$(echo "$SCORE * ${check.weight}" | bc -l 2>/dev/null || echo 0)
249
+ TOTAL_SCORE=$(echo "$TOTAL_SCORE + $WEIGHTED" | bc -l 2>/dev/null || echo "$TOTAL_SCORE")
250
+ TOTAL_WEIGHT=$(echo "$TOTAL_WEIGHT + ${check.weight}" | bc -l 2>/dev/null || echo "$TOTAL_WEIGHT")
251
+ RESULTS+=("{\\"check\\": \\"${check.name}\\", \\"score\\": $SCORE, \\"weight\\": ${check.weight}}")
252
+ echo " [${check.name}] score=$SCORE — ${check.description}"
253
+
254
+ `;
255
+ }
256
+ script += `# --- Final score ---
257
+ if [ "$(echo "$TOTAL_WEIGHT > 0" | bc -l 2>/dev/null)" = "1" ]; then
258
+ FINAL=$(echo "$TOTAL_SCORE / $TOTAL_WEIGHT" | bc -l 2>/dev/null | cut -d. -f1)
259
+ else
260
+ FINAL=0
261
+ fi
262
+
263
+ echo ""
264
+ echo "Final score: $FINAL / 100"
265
+ echo ""
266
+
267
+ # Output structured result
268
+ CHECKS_JSON=$(printf '%s,' "\${RESULTS[@]}" | sed 's/,$//')
269
+ echo "{\\"metric\\": \\"${invariant.toLowerCase().replace(/[^a-z0-9]/g, "_")}\\", \\"value\\": $FINAL, \\"checks\\": [$CHECKS_JSON]}"
270
+ `;
271
+ return script;
272
+ }
273
+ // ============================================================================
274
+ // Stratus-powered eval generation
275
+ // ============================================================================
276
+ export async function generateSmartEvalWithStratus(projectRoot, violation) {
277
+ const apiKey = process.env.STRATUS_API_KEY;
278
+ const apiUrl = process.env.STRATUS_API_URL || "https://api.stratus.run/v1/chat/completions";
279
+ if (!apiKey)
280
+ return generateSmartEval(projectRoot, violation);
281
+ const services = detectServices(projectRoot);
282
+ const prompt = buildEvalPrompt(violation, services);
283
+ try {
284
+ const response = await fetch(apiUrl, {
285
+ method: "POST",
286
+ headers: {
287
+ "Content-Type": "application/json",
288
+ "Authorization": `Bearer ${apiKey}`,
289
+ },
290
+ body: JSON.stringify({
291
+ model: "stratus-x1ac-base-claude-haiku-4-5",
292
+ messages: [{ role: "user", content: prompt }],
293
+ max_tokens: 3000,
294
+ temperature: 0.2,
295
+ }),
296
+ });
297
+ if (!response.ok)
298
+ return generateSmartEval(projectRoot, violation);
299
+ const data = await response.json();
300
+ const content = data.choices?.[0]?.message?.content || "";
301
+ // Extract bash script from response
302
+ const scriptMatch = content.match(/```bash\n([\s\S]*?)```/) || content.match(/```sh\n([\s\S]*?)```/);
303
+ if (scriptMatch)
304
+ return scriptMatch[1];
305
+ return generateSmartEval(projectRoot, violation);
306
+ }
307
+ catch {
308
+ return generateSmartEval(projectRoot, violation);
309
+ }
310
+ }
311
+ function buildEvalPrompt(violation, services) {
312
+ return `Generate a bash eval script for a JFL RL agent that monitors the "${violation.invariant}" invariant.
313
+
314
+ ## Context
315
+ The TLA+ model checker found this invariant can be violated. The trace shows:
316
+ ${violation.trace.map(s => `Step ${s.step}: ${s.action}`).join("\n")}
317
+
318
+ ## Available services
319
+ ${services.map(s => `- ${s.name} (port: ${s.port || "none"}, health: ${s.healthPath || "/health"})`).join("\n")}
320
+
321
+ ## Requirements
322
+ 1. Script must output JSON: {"metric": "name", "value": 0-100, "checks": [...]}
323
+ 2. Test against the REAL running system (curl endpoints, check processes, inspect files)
324
+ 3. Score 100 = no violations found, 0 = critical violation
325
+ 4. Include at least 3 independent checks with weights
326
+ 5. Handle services being down gracefully (don't crash, just score 0 for that check)
327
+ 6. Use bc for floating point math
328
+ 7. Set -uo pipefail at top
329
+
330
+ Output ONLY the bash script in a \`\`\`bash code block. No explanation.`;
331
+ }
332
+ function detectServices(projectRoot) {
333
+ const servicesPath = join(projectRoot, ".jfl", "services.json");
334
+ if (existsSync(servicesPath)) {
335
+ try {
336
+ const data = JSON.parse(readFileSync(servicesPath, "utf-8"));
337
+ return (data.services || data || []).map((s) => ({
338
+ name: s.name || s.id || "unknown",
339
+ type: s.type || "service",
340
+ port: s.port || s.dev_port,
341
+ healthPath: s.health_path || s.healthPath || "/health",
342
+ }));
343
+ }
344
+ catch { /* fall through */ }
345
+ }
346
+ // Fallback: scan for common patterns
347
+ const services = [];
348
+ // Check for running hubs
349
+ const hubConfig = join(projectRoot, ".jfl", "config.json");
350
+ if (existsSync(hubConfig)) {
351
+ try {
352
+ const cfg = JSON.parse(readFileSync(hubConfig, "utf-8"));
353
+ if (cfg.port) {
354
+ services.push({ name: "context-hub", type: "hub", port: cfg.port, healthPath: "/health" });
355
+ }
356
+ }
357
+ catch { /* ignore */ }
358
+ }
359
+ return services;
360
+ }
361
+ function findHubPort(projectRoot) {
362
+ const services = detectServices(projectRoot);
363
+ const hub = services.find(s => s.type === "hub" || s.name.includes("hub"));
364
+ if (hub?.port)
365
+ return hub.port;
366
+ // Check config
367
+ const configPath = join(projectRoot, ".jfl", "config.json");
368
+ if (existsSync(configPath)) {
369
+ try {
370
+ const cfg = JSON.parse(readFileSync(configPath, "utf-8"));
371
+ if (cfg.port)
372
+ return cfg.port;
373
+ }
374
+ catch { /* ignore */ }
375
+ }
376
+ return 4360; // default
377
+ }
378
+ //# sourceMappingURL=smart-eval-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-eval-generator.js","sourceRoot":"","sources":["../../../src/lib/setup/smart-eval-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ /**
2
+ * @purpose Smart agent recommendations using Stratus reasoning model
3
+ * Instead of template matching, analyzes journal patterns and asks an LLM
4
+ * to reason about what agents would actually improve the codebase.
5
+ */
6
+ export interface JournalInsight {
7
+ totalSessions: number;
8
+ totalEntries: number;
9
+ revertRate: number;
10
+ topReverts: {
11
+ pattern: string;
12
+ count: number;
13
+ }[];
14
+ topImproved: {
15
+ pattern: string;
16
+ count: number;
17
+ }[];
18
+ fileHotspots: {
19
+ path: string;
20
+ touches: number;
21
+ reverts: number;
22
+ }[];
23
+ sessionDurations: number[];
24
+ entryTypes: Record<string, number>;
25
+ commonPatterns: string[];
26
+ evalHistory: {
27
+ agent: string;
28
+ scores: number[];
29
+ trend: "improving" | "flat" | "degrading";
30
+ }[];
31
+ }
32
+ export interface SmartRecommendation {
33
+ name: string;
34
+ scope: string;
35
+ metric: string;
36
+ direction: "maximize" | "minimize";
37
+ rationale: string;
38
+ confidence: number;
39
+ filePatterns: string[];
40
+ evalHint: string;
41
+ priority: number;
42
+ }
43
+ /**
44
+ * Deep-analyze journals to extract patterns that template matching misses
45
+ */
46
+ export declare function extractJournalInsights(projectRoot: string): JournalInsight;
47
+ /**
48
+ * Build the prompt for Stratus to reason about agent recommendations
49
+ */
50
+ export declare function buildRecommendationPrompt(insight: JournalInsight, existingAgents: string[]): string;
51
+ /**
52
+ * Call Stratus to get smart recommendations
53
+ */
54
+ export declare function getSmartRecommendations(projectRoot: string, existingAgents: string[], options?: {
55
+ apiKey?: string;
56
+ apiUrl?: string;
57
+ model?: string;
58
+ }): Promise<SmartRecommendation[]>;
59
+ /**
60
+ * Format insights for human-readable display
61
+ */
62
+ export declare function formatInsightsSummary(insight: JournalInsight): string;
63
+ //# sourceMappingURL=smart-recommender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-recommender.d.ts","sourceRoot":"","sources":["../../../src/lib/setup/smart-recommender.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAChD,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACjD,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IAClE,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,WAAW,CAAA;KAAE,EAAE,CAAA;CAC9F;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,UAAU,GAAG,UAAU,CAAA;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CAgJ1E;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,CAoDnG;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EAAE,EACxB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACjE,OAAO,CAAC,mBAAmB,EAAE,CAAC,CA6ChC;AAsED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,cAAc,GAAG,MAAM,CA6BrE"}