jfl 0.4.2 → 0.4.4
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/README.md +213 -34
- package/dist/commands/ci-setup.d.ts +5 -0
- package/dist/commands/ci-setup.d.ts.map +1 -0
- package/dist/commands/ci-setup.js +82 -0
- package/dist/commands/ci-setup.js.map +1 -0
- package/dist/commands/peter.d.ts +4 -1
- package/dist/commands/peter.d.ts.map +1 -1
- package/dist/commands/peter.js +491 -1
- package/dist/commands/peter.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +58 -4
- package/dist/commands/update.js.map +1 -1
- package/dist/index.js +18 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/flow-engine.d.ts +2 -0
- package/dist/lib/flow-engine.d.ts.map +1 -1
- package/dist/lib/flow-engine.js +40 -0
- package/dist/lib/flow-engine.js.map +1 -1
- package/dist/types/map.d.ts +1 -1
- package/dist/types/map.d.ts.map +1 -1
- package/dist/types/map.js.map +1 -1
- package/package.json +1 -1
- package/template/.github/workflows/jfl-eval.yml +540 -0
- package/template/.github/workflows/jfl-review.yml +371 -0
- package/template/.jfl/{flows-self-driving.yaml → flows/self-driving.yaml} +20 -0
package/README.md
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
# JFL - Just Fucking Launch
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/jfl)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**The engineering intelligence platform.**
|
|
6
|
+
|
|
7
|
+
JFL provides persistent context, autonomous agents, and self-driving improvement loops for any project. Agents read past sessions, understand decisions, track eval scores, and propose improvements — all backed by structured files in git.
|
|
6
8
|
|
|
7
9
|
Context lives in git as structured files (markdown, JSONL). Any AI tool can integrate via MCP.
|
|
8
10
|
|
|
@@ -16,8 +18,9 @@ AI agents are stateless. Each session starts from scratch:
|
|
|
16
18
|
- Previous decisions aren't remembered
|
|
17
19
|
- Work from other sessions isn't visible
|
|
18
20
|
- Context has to be re-explained every time
|
|
21
|
+
- Agent improvements aren't measured or tracked
|
|
19
22
|
|
|
20
|
-
JFL provides a shared context layer that accumulates over time and
|
|
23
|
+
JFL provides a shared context layer that accumulates over time, measures agent performance, and enables autonomous improvement loops — accessible to any AI tool.
|
|
21
24
|
|
|
22
25
|
---
|
|
23
26
|
|
|
@@ -136,11 +139,13 @@ jfl context-hub serve # Run in foreground (daemon mode)
|
|
|
136
139
|
| `memory_search` | Search indexed journal memories |
|
|
137
140
|
| `memory_status` | Memory system statistics |
|
|
138
141
|
| `memory_add` | Add manual memory entry |
|
|
142
|
+
| `events_publish` | Publish event to MAP event bus |
|
|
143
|
+
| `events_recent` | Get recent events (with pattern filter) |
|
|
139
144
|
| `query_experiment_history` | Query RL trajectories for agent experiments |
|
|
140
145
|
|
|
141
146
|
**Resilience:** 5-layer system — MCP auto-recovery on ECONNREFUSED, health-check-before-ensure hooks, `ensure-all` for batch startup, `doctor` diagnostics, launchd/systemd daemon with keepalive.
|
|
142
147
|
|
|
143
|
-
### Dashboard
|
|
148
|
+
### Dashboard
|
|
144
149
|
|
|
145
150
|
A pre-built Vite + Preact + Tailwind SPA served by Context Hub at `/dashboard/`. Auto-detects workspace type and adapts layout.
|
|
146
151
|
|
|
@@ -155,11 +160,15 @@ A pre-built Vite + Preact + Tailwind SPA served by Context Hub at `/dashboard/`.
|
|
|
155
160
|
| **Flows** | Flow definitions and execution history |
|
|
156
161
|
| **Health** | System metrics, context sources, memory index, tracked projects |
|
|
157
162
|
| **Agents** | Eval leaderboards grouped by product domain |
|
|
163
|
+
| **Experiments** | Experiment runs with dot plots — green (improved) / gray (no change) / red (regression) |
|
|
164
|
+
| **Telemetry** | Cost breakdown, command usage, error rates, hub health metrics |
|
|
165
|
+
| **Topology** | Service dependency graph and event flow visualization |
|
|
158
166
|
|
|
159
167
|
**Features:** Sidebar with structured sections (Workspace / Infra / Eval), inline SVG icons, agent leaderboard in sidebar, sparkline charts, real-time polling.
|
|
160
168
|
|
|
161
169
|
```bash
|
|
162
170
|
jfl context-hub dashboard # Opens /dashboard/ in browser
|
|
171
|
+
jfl viz dash # Terminal equivalent (no browser needed)
|
|
163
172
|
```
|
|
164
173
|
|
|
165
174
|
### MAP Event Bus
|
|
@@ -172,7 +181,7 @@ Metrics, Agents, Pipeline — an in-process event bus inside Context Hub.
|
|
|
172
181
|
- **Pattern-matching subscriptions** (glob support)
|
|
173
182
|
- **Transports:** SSE, WebSocket, HTTP polling
|
|
174
183
|
- **Cross-product routing** — portfolio flows route events between child GTMs
|
|
175
|
-
- **Event types:** `session:started`, `session:ended`, `eval:scored`, `journal:entry`, `flow:triggered`, `agent:iteration-complete`, `portfolio:phone-home`, and more
|
|
184
|
+
- **Event types:** `session:started`, `session:ended`, `eval:scored`, `journal:entry`, `flow:triggered`, `agent:iteration-complete`, `portfolio:phone-home`, `review:findings`, `telemetry:insight`, `peter:pr-proposed`, and more
|
|
176
185
|
|
|
177
186
|
Services emit events by appending to `.jfl/service-events.jsonl` — no auth needed, Context Hub watches the file automatically.
|
|
178
187
|
|
|
@@ -211,6 +220,58 @@ jfl eval tuples # Extract (state, action, reward) training tuples
|
|
|
211
220
|
- `GET /api/eval/leaderboard` — all agents ranked by composite
|
|
212
221
|
- `GET /api/eval/trajectory?agent=X&metric=composite` — score trajectory with timestamps
|
|
213
222
|
|
|
223
|
+
### Self-Driving Loop
|
|
224
|
+
|
|
225
|
+
The autonomous improvement cycle. Agents detect issues, create fixes, and the system auto-merges if eval scores improve.
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
Telemetry Agent detects issue
|
|
229
|
+
→ telemetry:insight event
|
|
230
|
+
→ Flow engine routes to Peter Parker
|
|
231
|
+
→ PP creates fix PR (pp/ branch)
|
|
232
|
+
→ GitHub Action runs eval + AI review
|
|
233
|
+
→ eval:scored event posted to hub
|
|
234
|
+
→ Auto-merge if improved / flag if regressed
|
|
235
|
+
→ Training tuple logged
|
|
236
|
+
→ Cycle repeats
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
**9 declarative flows** in `.jfl/flows/self-driving.yaml`:
|
|
240
|
+
|
|
241
|
+
| Flow | Trigger | Action |
|
|
242
|
+
|------|---------|--------|
|
|
243
|
+
| `auto-merge-on-improvement` | `eval:scored` (improved) | `gh pr merge` + journal milestone |
|
|
244
|
+
| `flag-regression` | `eval:scored` (regressed) | `gh pr review --request-changes` |
|
|
245
|
+
| `log-training-tuple` | `eval:scored` | Log (state, action, reward) to journal |
|
|
246
|
+
| `log-quality-training-tuple` | `eval:scored` | Enriched tuple with AI quality dimensions |
|
|
247
|
+
| `block-merge-on-blockers` | `review:findings` (red) | `gh pr review --request-changes` |
|
|
248
|
+
| `log-review-training-data` | `review:findings` | Log review results as training data |
|
|
249
|
+
| `pp-address-review-blockers` | `review:findings` (red) | Spawn PP to fix (gated, max 3 iterations) |
|
|
250
|
+
| `insight-triggers-pp` | `telemetry:insight` (high) | Spawn PP to create fix PR |
|
|
251
|
+
| `predict-before-pr` | `peter:pr-proposed` | Run Stratus prediction before acting |
|
|
252
|
+
|
|
253
|
+
**Review gate:** Eval checks for AI review blockers before auto-merging. If the AI review requested changes (red findings), eval holds the merge even if tests improved. PRs must pass both eval AND review to auto-merge.
|
|
254
|
+
|
|
255
|
+
**CI Workflows** that close the loop:
|
|
256
|
+
|
|
257
|
+
- **`jfl-eval.yml`** — Runs on PP pull requests (`pp/` prefix). Checks out main for baseline, runs tests on PR, computes delta, runs AI quality assessment, posts `eval:scored` event to hub, comments on PR with eval results.
|
|
258
|
+
- **`jfl-review.yml`** — Context-aware AI code review on PP PRs. Gathers project context + knowledge docs, reviews diff for bugs/security/architecture, extracts structured findings (red/yellow/blue severity), posts `review:findings` event to hub.
|
|
259
|
+
|
|
260
|
+
### Stratus Prediction Engine
|
|
261
|
+
|
|
262
|
+
Predict eval score deltas before executing changes using the Stratus world model (JEPA rollout + chat ensemble).
|
|
263
|
+
|
|
264
|
+
```bash
|
|
265
|
+
jfl predict run --proposal "Fix auth timeout" --goal "improve test pass rate" --type fix --scope small
|
|
266
|
+
jfl predict resolve --id <id> --actual-delta 0.05 --actual-score 0.92 --eval-run <run-id>
|
|
267
|
+
jfl predict accuracy # Direction accuracy, mean delta error, calibration
|
|
268
|
+
jfl predict history # Recent predictions with sparkline trend
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
**Dual Stratus strategy:**
|
|
272
|
+
- **Rollout API** (`/v1/rollout`) — JEPA world model, ~1.6s, ~$0.001. Fast state prediction for health trajectory.
|
|
273
|
+
- **Chat API** (`/v1/chat/completions`) — Full reasoning, ~28s, ~$0.05. Human-readable insights when patterns detected.
|
|
274
|
+
|
|
214
275
|
### RL Infrastructure
|
|
215
276
|
|
|
216
277
|
JFL generalizes the Karpathy nanochat pattern: structured journals are the replay buffer, eval scores are rewards, agents learn in-context from past trajectories.
|
|
@@ -221,15 +282,16 @@ Stratus (World Model) > predicts outcomes, filters bad proposals
|
|
|
221
282
|
Journals (Replay Buffer) > structured experiment history
|
|
222
283
|
Eval Framework (Reward) > composite scores, score deltas
|
|
223
284
|
Event Bus (Nervous System) > connects everything
|
|
285
|
+
Telemetry Agent > autonomous health monitoring + anomaly detection
|
|
224
286
|
```
|
|
225
287
|
|
|
226
288
|
**JournalEntry type** — canonical schema with 6 RL fields: `hypothesis`, `outcome`, `score_delta`, `eval_snapshot`, `diff_hash`, `context_entries`.
|
|
227
289
|
|
|
228
290
|
**TrajectoryLoader** — query, filter, and render experiment trajectories for agent context windows. Supports filtering by session, agent, outcome, score range.
|
|
229
291
|
|
|
230
|
-
**Peter Parker** — model-routed orchestrator with cost/balanced/quality profiles. Routes tasks to haiku/sonnet/opus based on complexity. Subscribes to event bus for reactive dispatch.
|
|
292
|
+
**Peter Parker** — model-routed orchestrator with cost/balanced/quality profiles. Routes tasks to haiku/sonnet/opus based on complexity. Subscribes to event bus for reactive dispatch. Creates PRs on `pp/` branches.
|
|
231
293
|
|
|
232
|
-
**Flow Engine** — declarative trigger-action automation in `.jfl/flows.yaml`:
|
|
294
|
+
**Flow Engine** — declarative trigger-action automation in `.jfl/flows.yaml` and `.jfl/flows/*.yaml`:
|
|
233
295
|
|
|
234
296
|
```yaml
|
|
235
297
|
- name: eval-scored-trigger-analysis
|
|
@@ -246,6 +308,34 @@ Flow actions: `log`, `emit`, `journal`, `webhook`, `command`, `spawn`. Gates: `a
|
|
|
246
308
|
|
|
247
309
|
**MCP tool:** `query_experiment_history` — agents query past experiment trajectories to inform next proposals.
|
|
248
310
|
|
|
311
|
+
### Telemetry Agent
|
|
312
|
+
|
|
313
|
+
Autonomous monitoring agent that runs inside Context Hub on a configurable interval.
|
|
314
|
+
|
|
315
|
+
- Analyzes local telemetry events for patterns
|
|
316
|
+
- Detects anomalies: cost spikes (2x baseline), error spikes (3x baseline)
|
|
317
|
+
- Calls Stratus rollout API for JEPA health trajectory prediction
|
|
318
|
+
- Tracks `brain_goal_proximity` over time (product health score)
|
|
319
|
+
- Emits `telemetry:insight` events that trigger the self-driving loop
|
|
320
|
+
- State persisted at `.jfl/telemetry-agent-state.json`
|
|
321
|
+
|
|
322
|
+
**Insight types:** `anomaly`, `regression`, `cost_spike`, `pattern`, `stratus_prediction`
|
|
323
|
+
|
|
324
|
+
### Terminal Visualizations
|
|
325
|
+
|
|
326
|
+
Headless dashboard data rendered in the terminal via `jfl viz`. No browser needed — same data as the web dashboard.
|
|
327
|
+
|
|
328
|
+
```bash
|
|
329
|
+
jfl viz dash # Composite: leaderboard + flows + events + status
|
|
330
|
+
jfl viz experiments # Experiment runs with dot plot and sparklines
|
|
331
|
+
jfl viz leaderboard # Ranked agents with bar chart
|
|
332
|
+
jfl viz flows # Flow definitions and pending executions
|
|
333
|
+
jfl viz events # Recent event stream with type coloring
|
|
334
|
+
jfl viz status # Hub health and sources
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
All subcommands support `--json` for programmatic consumption. Uses kuva for rich terminal plots with ASCII fallback.
|
|
338
|
+
|
|
249
339
|
### Portfolio Management
|
|
250
340
|
|
|
251
341
|
Coordinate multiple GTM workspaces under one portfolio.
|
|
@@ -404,6 +494,7 @@ jfl services # Interactive TUI (no args)
|
|
|
404
494
|
| `jfl validate-settings [--fix] [--json]` | Validate and repair .claude/settings.json |
|
|
405
495
|
| `jfl preferences [--clear-ai] [--show]` | Manage JFL preferences |
|
|
406
496
|
| `jfl profile [action]` | Manage profile (show, edit, export, import, generate) |
|
|
497
|
+
| `jfl ci setup` | Deploy eval + review CI workflows to project |
|
|
407
498
|
| `jfl test` | Test onboarding flow (isolated environment) |
|
|
408
499
|
|
|
409
500
|
### Context Hub
|
|
@@ -429,8 +520,28 @@ jfl services # Interactive TUI (no args)
|
|
|
429
520
|
| `jfl eval list [-a agent] [-l limit]` | List recent eval entries |
|
|
430
521
|
| `jfl eval trajectory -a <agent>` | Composite score trajectory with sparkline |
|
|
431
522
|
| `jfl eval log -a <agent> -m <metrics>` | Log an eval entry |
|
|
432
|
-
| `jfl eval compare
|
|
433
|
-
| `jfl eval tuples [--
|
|
523
|
+
| `jfl eval compare --agents <a,b>` | Side-by-side agent comparison |
|
|
524
|
+
| `jfl eval tuples [--team N] [--since date]` | Extract training tuples from journals |
|
|
525
|
+
|
|
526
|
+
### Prediction
|
|
527
|
+
|
|
528
|
+
| Command | Description |
|
|
529
|
+
|---------|-------------|
|
|
530
|
+
| `jfl predict run --proposal <text> --goal <text>` | Predict eval delta for proposed change |
|
|
531
|
+
| `jfl predict resolve --id <id> --actual-delta <n>` | Resolve prediction with actual results |
|
|
532
|
+
| `jfl predict accuracy` | Prediction accuracy stats (direction, delta error, calibration) |
|
|
533
|
+
| `jfl predict history [--limit N]` | Recent predictions with sparkline |
|
|
534
|
+
|
|
535
|
+
### Visualization
|
|
536
|
+
|
|
537
|
+
| Command | Description |
|
|
538
|
+
|---------|-------------|
|
|
539
|
+
| `jfl viz dash` | Composite terminal dashboard (default) |
|
|
540
|
+
| `jfl viz experiments [--agent name]` | Experiment runs with dot plot and sparklines |
|
|
541
|
+
| `jfl viz leaderboard` | Ranked agent leaderboard with bar chart |
|
|
542
|
+
| `jfl viz flows [--pending]` | Flow definitions and pending executions |
|
|
543
|
+
| `jfl viz events [--pattern glob] [--limit N]` | Recent events with type coloring |
|
|
544
|
+
| `jfl viz status` | Hub health, children, sources |
|
|
434
545
|
|
|
435
546
|
### Portfolio
|
|
436
547
|
|
|
@@ -478,8 +589,14 @@ jfl services # Interactive TUI (no args)
|
|
|
478
589
|
| `jfl agent init <name> [-d desc]` | Scaffold agent (manifest + policy + lifecycle flows) |
|
|
479
590
|
| `jfl agent list` | List registered agents |
|
|
480
591
|
| `jfl agent status <name>` | Show agent health and config |
|
|
592
|
+
| `jfl peter setup [--cost\|--balanced\|--quality]` | Configure model routing profile |
|
|
593
|
+
| `jfl peter run [--task text]` | Run orchestrator (interactive or headless) |
|
|
594
|
+
| `jfl peter pr --task <text>` | Run agent, create PR on pp/ branch, emit event |
|
|
595
|
+
| `jfl peter experiment` | Proactive: analyze trajectory, pick highest-value task, execute |
|
|
596
|
+
| `jfl peter autoresearch [--rounds N]` | Tight loop: N experiments, only PR the winner |
|
|
597
|
+
| `jfl peter status` | Show config and recent events |
|
|
598
|
+
| `jfl peter dashboard` | Live event stream TUI |
|
|
481
599
|
| `jfl ralph [args]` | Ralph-tui agent loop orchestrator |
|
|
482
|
-
| `jfl peter [action]` | Peter Parker model-routed orchestrator (setup, run, status) |
|
|
483
600
|
| `jfl orchestrate [name] [--list] [--create <n>]` | Multi-service orchestration workflows |
|
|
484
601
|
| `jfl dashboard` | Interactive service monitoring TUI |
|
|
485
602
|
| `jfl events [-p pattern]` | Live MAP event bus dashboard |
|
|
@@ -496,9 +613,11 @@ jfl services # Interactive TUI (no args)
|
|
|
496
613
|
| `jfl flows add` | Interactive flow builder |
|
|
497
614
|
| `jfl flows test <name>` | Test a flow with synthetic event |
|
|
498
615
|
| `jfl flows enable/disable <name>` | Toggle flows |
|
|
616
|
+
| `jfl flows approve [--flow name] [--all]` | Approve gated flow executions |
|
|
499
617
|
| `jfl scope list` | View service context scopes |
|
|
500
618
|
| `jfl scope set` | Set scope declarations |
|
|
501
619
|
| `jfl scope test` | Test scope enforcement |
|
|
620
|
+
| `jfl scope viz` | ASCII scope graph with access matrix |
|
|
502
621
|
|
|
503
622
|
### Platform
|
|
504
623
|
|
|
@@ -510,6 +629,8 @@ jfl services # Interactive TUI (no args)
|
|
|
510
629
|
| `jfl deploy [-f]` | Deploy to JFL platform |
|
|
511
630
|
| `jfl agents [action]` | Manage parallel agents (list, create, start, stop, destroy) |
|
|
512
631
|
| `jfl feedback [action]` | Rate session (0-5), view or sync |
|
|
632
|
+
| `jfl pi [--yolo] [--mode interactive\|rpc\|headless]` | Launch JFL in Pi runtime |
|
|
633
|
+
| `jfl pi agents run [--team yaml]` | Spawn agent team as Pi subprocesses |
|
|
513
634
|
|
|
514
635
|
### Telemetry & Intelligence
|
|
515
636
|
|
|
@@ -616,6 +737,7 @@ Pre-installed slash commands for Claude Code:
|
|
|
616
737
|
| `/remotion-best-practices` | Remotion video creation in React |
|
|
617
738
|
| `/geo` | GEO-first SEO analysis for AI search engines |
|
|
618
739
|
| `/geo-audit` | Full website GEO+SEO audit with parallel agents |
|
|
740
|
+
| `/viz` | Terminal data visualization via kuva |
|
|
619
741
|
|
|
620
742
|
```bash
|
|
621
743
|
# Install more skills
|
|
@@ -682,7 +804,9 @@ SessionStart hook fires You work normally Stop hook fire
|
|
|
682
804
|
├─ Create session branch ├─ Journal entries auto-tracked ├─ Auto-commit changes
|
|
683
805
|
├─ Recover crashed sessions ├─ Auto-commit every 2 min ├─ Merge to main
|
|
684
806
|
├─ Health-check Context Hub ├─ Events flow to MAP bus └─ Cleanup branch
|
|
685
|
-
└─ Start auto-commit
|
|
807
|
+
└─ Start auto-commit ├─ Memory indexes continuously
|
|
808
|
+
├─ Telemetry agent monitors
|
|
809
|
+
└─ Flows react to events
|
|
686
810
|
|
|
687
811
|
Context Hub (always running)
|
|
688
812
|
├─ Serves MCP tools to Claude Code
|
|
@@ -691,6 +815,7 @@ SessionStart hook fires You work normally Stop hook fire
|
|
|
691
815
|
├─ Watches journal/ for live entries
|
|
692
816
|
├─ Portfolio mode: fans out to child hubs
|
|
693
817
|
├─ Flow engine: reactive trigger→action
|
|
818
|
+
├─ Telemetry agent: health monitoring
|
|
694
819
|
└─ Web dashboard at /dashboard/
|
|
695
820
|
```
|
|
696
821
|
|
|
@@ -700,7 +825,7 @@ SessionStart hook fires You work normally Stop hook fire
|
|
|
700
825
|
|
|
701
826
|
## CI/CD
|
|
702
827
|
|
|
703
|
-
Two GitHub Actions workflows handle quality and releases.
|
|
828
|
+
Two GitHub Actions workflows handle quality and releases. Two additional workflows close the self-driving loop.
|
|
704
829
|
|
|
705
830
|
### CI — `.github/workflows/ci.yml`
|
|
706
831
|
|
|
@@ -710,38 +835,46 @@ Runs on every push and PR to `main`:
|
|
|
710
835
|
- Full test suite (~365 tests across 17 test files)
|
|
711
836
|
- Coverage report uploaded as artifact
|
|
712
837
|
|
|
713
|
-
###
|
|
714
|
-
|
|
715
|
-
Fires after CI passes on `main`. Uses [Changesets](https://github.com/changesets/changesets) for version management and npm Trusted Publisher (OIDC) for secretless publishing.
|
|
838
|
+
### Release — `.github/workflows/release.yml`
|
|
716
839
|
|
|
717
|
-
|
|
718
|
-
- `feat:` = minor bump
|
|
719
|
-
- `fix:` = patch bump
|
|
720
|
-
- `feat!:` = major bump
|
|
840
|
+
Fires after CI passes on `main`. Two paths:
|
|
721
841
|
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
**Release flow:**
|
|
842
|
+
1. **Version bumped** (package.json differs from npm): Build, publish with provenance, create git tag, create GitHub Release with auto-generated notes.
|
|
843
|
+
2. **Version matches npm**: Generate changesets from conventional commits, create "Version Packages" PR via changesets/action.
|
|
725
844
|
|
|
726
845
|
```bash
|
|
727
846
|
# Option A: Manual changeset
|
|
728
847
|
npx changeset # pick bump level, write summary
|
|
729
848
|
|
|
730
849
|
# Option B: Just use conventional commits — auto-generated on CI
|
|
850
|
+
# feat: = minor, fix: = patch, feat!: = major
|
|
731
851
|
|
|
732
|
-
# Push to main
|
|
733
|
-
# → changesets/action creates a "Version Packages" PR
|
|
734
|
-
|
|
735
|
-
# Merge the Version PR
|
|
736
|
-
# → release.yml fires again → npm publish --provenance --access public
|
|
852
|
+
# Push to main → CI runs → Release publishes or creates Version PR
|
|
737
853
|
```
|
|
738
854
|
|
|
739
|
-
|
|
855
|
+
**Secrets required:** `NPM_TOKEN` (granular access token scoped to jfl package). Provenance attestation via npm Trusted Publisher (OIDC).
|
|
856
|
+
|
|
857
|
+
### Eval — `.github/workflows/jfl-eval.yml`
|
|
740
858
|
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
859
|
+
Runs on PRs from Peter Parker (`pp/` prefix), any `agent/*` branch, or `run-eval` label:
|
|
860
|
+
|
|
861
|
+
- Detects agent from branch prefix (`pp/` → peter-parker, `agent/name/` → name, fallback → PR author)
|
|
862
|
+
- Baseline test pass rate from `main`
|
|
863
|
+
- PR test pass rate + AI quality assessment (correctness, coverage, architecture, value)
|
|
864
|
+
- Stratus prediction before eval, resolve after (optional, needs `STRATUS_API_KEY` secret)
|
|
865
|
+
- Auto-merge if improved + no AI review blockers; request changes if regressed
|
|
866
|
+
- Commits eval entry + service events to PR branch (file-drop pattern for hub)
|
|
867
|
+
- PR comment with full eval table, AI quality dimensions, and prediction accuracy
|
|
868
|
+
|
|
869
|
+
### AI Review — `.github/workflows/jfl-review.yml`
|
|
870
|
+
|
|
871
|
+
Runs on PRs from Peter Parker (`pp/` prefix) or `ai-review` label:
|
|
872
|
+
|
|
873
|
+
- Gathers project context (config, knowledge docs, journal)
|
|
874
|
+
- Context-aware diff review (bugs, security, architecture, tests)
|
|
875
|
+
- Structured findings with severity (red/yellow/blue)
|
|
876
|
+
- Posts `review:findings` event to Context Hub
|
|
877
|
+
- Comments on PR with findings
|
|
745
878
|
|
|
746
879
|
---
|
|
747
880
|
|
|
@@ -780,6 +913,51 @@ jfl wallet # Wallet and day pass status
|
|
|
780
913
|
|
|
781
914
|
## What's New
|
|
782
915
|
|
|
916
|
+
**0.4.4**
|
|
917
|
+
- Feat: **`jfl peter autoresearch --rounds N`** — tight inner loop: N experiments, branch/change/eval/keep|revert, only PRs the winner (Karpathy autoresearch pattern)
|
|
918
|
+
- Feat: **Stratus predictor in CI** — predicts eval delta before running tests, resolves after. PR comments show predicted vs actual with direction accuracy
|
|
919
|
+
- Feat: **Agent generalization** — CI detects agent from branch prefix (`pp/*` → peter-parker, `bot/*` → bot, `agent/name/*` → extracted). Any agent gets the self-driving loop
|
|
920
|
+
- Fix: Eval path alignment — CI writes `.jfl/eval.jsonl` matching `readEvals()` (was `.jfl/eval/eval.jsonl`)
|
|
921
|
+
- Feat: Eval entries include `prediction_id` and AI quality dimensions for dashboard linking
|
|
922
|
+
|
|
923
|
+
**0.4.3**
|
|
924
|
+
- Feat: **Self-driving loop proven end-to-end** — eval CI auto-merges improved PRs, requests changes on regressions. First auto-merged PP PR (#16) in 90 seconds
|
|
925
|
+
- Feat: **`jfl peter experiment`** — proactive experiment selection. Analyzes trajectory history + eval trends, uses Stratus to rank proposals (heuristic fallback), picks highest-value task, spawns PP to execute
|
|
926
|
+
- Feat: **`jfl ci setup`** — deploys eval + review CI workflows to any project with secret setup instructions
|
|
927
|
+
- Feat: **Review gate** — eval checks for AI review blockers before auto-merging. PRs must pass both eval AND review
|
|
928
|
+
- Feat: **Cron triggers** in flow engine — `cron:daily`, `cron:hourly`, `cron:every-30-minutes` patterns for proactive flows
|
|
929
|
+
- Feat: **`jfl update` syncs flows** — new flow files deployed on update (merge-only, never overwrites customizations)
|
|
930
|
+
- Fix: Eval CI self-sufficient — commits eval entries + service events to PR branch, no hub dependency for core loop
|
|
931
|
+
- Test: 274 tests (up from 266)
|
|
932
|
+
|
|
933
|
+
**0.4.2**
|
|
934
|
+
- Fix: HTTP hook port correction — `jfl init` and `jfl update` now detect and fix hooks pointing to wrong Context Hub port
|
|
935
|
+
- Fix: Release pipeline — direct publish when version bumped, changeset generation when version matches npm
|
|
936
|
+
- Fix: npm auth — NPM_TOKEN required (OIDC trusted publisher is for provenance only)
|
|
937
|
+
- Feat: Telemetry archive path fix — telemetry data properly flows to digest
|
|
938
|
+
|
|
939
|
+
**0.4.1**
|
|
940
|
+
- Feat: **Self-driving loop** — 9 declarative flows in `self-driving.yaml` for autonomous improvement (auto-merge, flag regression, training tuples, review response, telemetry-to-PP dispatch, Stratus prediction gate)
|
|
941
|
+
- Feat: **`jfl predict`** — Stratus prediction engine with run/resolve/accuracy/history subcommands
|
|
942
|
+
- Feat: **`jfl viz`** — terminal visualizations (experiments, leaderboard, flows, events, status, dash)
|
|
943
|
+
- Feat: **`jfl-eval.yml`** — CI workflow for eval on Peter Parker PRs (baseline comparison, AI quality scoring, event posting)
|
|
944
|
+
- Feat: **`jfl-review.yml`** — CI workflow for context-aware AI code review (structured findings, severity levels, event posting)
|
|
945
|
+
- Feat: **Telemetry agent** — autonomous monitoring in Context Hub (anomaly detection, Stratus JEPA health prediction, insight events)
|
|
946
|
+
- Feat: **`spawn` action type** in flow engine — spawn detached subprocesses with cleaned environment
|
|
947
|
+
- Feat: **`flows approve`** subcommand — approve gated flow executions (interactive or batch)
|
|
948
|
+
- Feat: Dashboard pages: **Experiments** (dot plots, sparklines), **Telemetry** (cost/usage/health), **Topology** (service dependency graph)
|
|
949
|
+
- Feat: **`jfl pi`** — Pi AI runtime integration with extensions, skills, and agent team spawning
|
|
950
|
+
- Feat: MCP tools: `events_publish`, `events_recent` for MAP event bus interaction
|
|
951
|
+
|
|
952
|
+
**0.4.0**
|
|
953
|
+
- Feat: **Peter Parker `pr` subcommand** — run agent, commit, push `pp/` branch, create PR, emit `pr:created` event
|
|
954
|
+
- Feat: **Peter Parker `dashboard`** — live event stream TUI
|
|
955
|
+
- Feat: Richer eval composite with AI quality dimensions (correctness, coverage, architecture, value)
|
|
956
|
+
- Feat: `scope viz` — ASCII scope graph with access matrix and flow visualization
|
|
957
|
+
- Feat: Context-aware AI review with structured findings + severity levels
|
|
958
|
+
- Fix: Baseline eval uses clean checkout (git checkout --force + clean)
|
|
959
|
+
- Test: Predictor unit tests, hub-client test coverage
|
|
960
|
+
|
|
783
961
|
**0.3.0**
|
|
784
962
|
- Feat: **Portfolio workspace type** — `jfl portfolio register/list/unregister/status/phone-home`. Portfolios contain multiple GTM workspaces with cross-product event routing via SSE, context scope enforcement (produces/consumes/denied), fan-out queries to child hubs, and portfolio-level leaderboard aggregation
|
|
785
963
|
- Feat: **Dashboard V2** — pre-built Vite + Preact + Tailwind SPA served at `/dashboard/`. Pages: Overview (activity charts, metric cards), Journal (search + type filters), Events (pattern filter presets), Services (type badges, context scope, data flows), Flows (definitions + execution history), Health (system metrics, memory index), Agents (eval leaderboards grouped by domain)
|
|
@@ -788,7 +966,7 @@ jfl wallet # Wallet and day pass status
|
|
|
788
966
|
- Feat: **Flow engine** — declarative trigger-action automation in `.jfl/flows.yaml`. Actions: log, emit, journal, webhook, command, spawn. Gates: time-gated, deadline, requires_approval. Template interpolation with `{{child.NAME.port}}`
|
|
789
967
|
- Feat: **HTTP hooks** — Claude Code lifecycle hooks (PostToolUse, Stop, PreCompact, SubagentStart/Stop) POST to Context Hub. `jfl hooks init/status/remove/deploy`
|
|
790
968
|
- Feat: **Context scope enforcement** — produces/consumes/denied patterns. Event bus filters by scope declarations. `jfl scope list/set/test`
|
|
791
|
-
- Feat: CI/CD pipeline — GitHub Actions CI (strict TypeScript + Jest gate) + CD via Changesets with auto-generation from conventional commits
|
|
969
|
+
- Feat: CI/CD pipeline — GitHub Actions CI (strict TypeScript + Jest gate) + CD via Changesets with auto-generation from conventional commits
|
|
792
970
|
- Feat: Service agent templates (CLAUDE.md, settings.json, knowledge docs)
|
|
793
971
|
- Feat: Session cleanup guard — prevents `rm -rf` on main when no worktrees exist
|
|
794
972
|
- Fix: TypeScript strict mode build errors resolved
|
|
@@ -847,6 +1025,7 @@ jfl wallet # Wallet and day pass status
|
|
|
847
1025
|
|
|
848
1026
|
```bash
|
|
849
1027
|
OPENAI_API_KEY=sk-... # Optional: enables semantic embeddings for memory search
|
|
1028
|
+
STRATUS_API_KEY=stratus_... # Optional: enables Stratus prediction engine + telemetry agent
|
|
850
1029
|
CONTEXT_HUB_PORT=4242 # Override per-project port
|
|
851
1030
|
CRM_SHEET_ID=your-sheet-id # Google Sheets CRM integration
|
|
852
1031
|
JFL_PLATFORM_URL=... # JFL platform URL (default: jfl.run)
|
|
@@ -864,4 +1043,4 @@ MIT License - see LICENSE file.
|
|
|
864
1043
|
|
|
865
1044
|
Built by [@tagga](https://x.com/taggaoyl) (Alec Taggart)
|
|
866
1045
|
|
|
867
|
-
Powered by [Claude](https://claude.ai) (Anthropic), [x402](https://x402.org) (crypto micropayments), Commander.js, sql.js, and more.
|
|
1046
|
+
Powered by [Claude](https://claude.ai) (Anthropic), [Stratus](https://stratus.run) (JEPA world model), [x402](https://x402.org) (crypto micropayments), Commander.js, sql.js, and more.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-setup.d.ts","sourceRoot":"","sources":["../../src/commands/ci-setup.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAsEpD"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @purpose CLI command for `jfl ci setup` — deploys eval + review CI workflows to a project
|
|
3
|
+
*/
|
|
4
|
+
import chalk from "chalk";
|
|
5
|
+
import { existsSync, mkdirSync, readFileSync, writeFileSync } from "fs";
|
|
6
|
+
import { join, dirname } from "path";
|
|
7
|
+
import { fileURLToPath } from "url";
|
|
8
|
+
import { execSync } from "child_process";
|
|
9
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
10
|
+
const __dirname = dirname(__filename);
|
|
11
|
+
const TEMPLATE_DIR = join(__dirname, "../../template/.github/workflows");
|
|
12
|
+
const WORKFLOW_FILES = ["jfl-eval.yml", "jfl-review.yml"];
|
|
13
|
+
function getRepoSlug() {
|
|
14
|
+
try {
|
|
15
|
+
const remote = execSync("git remote get-url origin", { encoding: "utf-8" }).trim();
|
|
16
|
+
const match = remote.match(/github\.com[:/](.+?)(?:\.git)?$/);
|
|
17
|
+
return match?.[1] ?? "OWNER/REPO";
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
return "OWNER/REPO";
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export async function ciSetupCommand() {
|
|
24
|
+
const cwd = process.cwd();
|
|
25
|
+
const targetDir = join(cwd, ".github", "workflows");
|
|
26
|
+
if (!existsSync(TEMPLATE_DIR)) {
|
|
27
|
+
console.log(chalk.red("\n Template workflows not found at: " + TEMPLATE_DIR));
|
|
28
|
+
console.log(chalk.gray(" This usually means the jfl CLI package is incomplete. Try: npm install -g jfl\n"));
|
|
29
|
+
process.exit(1);
|
|
30
|
+
}
|
|
31
|
+
if (!existsSync(join(cwd, ".github"))) {
|
|
32
|
+
mkdirSync(join(cwd, ".github"), { recursive: true });
|
|
33
|
+
}
|
|
34
|
+
if (!existsSync(targetDir)) {
|
|
35
|
+
mkdirSync(targetDir, { recursive: true });
|
|
36
|
+
}
|
|
37
|
+
let deployed = 0;
|
|
38
|
+
let skipped = 0;
|
|
39
|
+
for (const file of WORKFLOW_FILES) {
|
|
40
|
+
const src = join(TEMPLATE_DIR, file);
|
|
41
|
+
const dest = join(targetDir, file);
|
|
42
|
+
if (!existsSync(src)) {
|
|
43
|
+
console.log(chalk.yellow(` Template missing: ${file} — skipping`));
|
|
44
|
+
skipped++;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
const templateContent = readFileSync(src, "utf-8");
|
|
48
|
+
if (existsSync(dest)) {
|
|
49
|
+
const existingContent = readFileSync(dest, "utf-8");
|
|
50
|
+
if (existingContent === templateContent) {
|
|
51
|
+
console.log(chalk.gray(` ${file} — already up to date`));
|
|
52
|
+
deployed++;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
console.log(chalk.yellow(` ${file} — exists and differs from template, overwriting`));
|
|
56
|
+
}
|
|
57
|
+
writeFileSync(dest, templateContent);
|
|
58
|
+
console.log(chalk.green(` ${file} — deployed`));
|
|
59
|
+
deployed++;
|
|
60
|
+
}
|
|
61
|
+
const repoSlug = getRepoSlug();
|
|
62
|
+
console.log();
|
|
63
|
+
if (deployed > 0) {
|
|
64
|
+
console.log(chalk.green(" CI workflows deployed to .github/workflows/"));
|
|
65
|
+
}
|
|
66
|
+
if (skipped > 0) {
|
|
67
|
+
console.log(chalk.yellow(` ${skipped} workflow(s) skipped (template missing)`));
|
|
68
|
+
}
|
|
69
|
+
console.log();
|
|
70
|
+
console.log(chalk.bold(" Required GitHub secrets") + chalk.gray(` (set at github.com/${repoSlug}/settings/secrets):`));
|
|
71
|
+
console.log(chalk.cyan(" OPENAI_API_KEY") + chalk.gray(" — For AI quality assessment and code review"));
|
|
72
|
+
console.log();
|
|
73
|
+
console.log(chalk.bold(" Optional:"));
|
|
74
|
+
console.log(chalk.cyan(" OPENROUTER_API_KEY") + chalk.gray(" — Fallback if OpenAI unavailable"));
|
|
75
|
+
console.log(chalk.cyan(" JFL_HUB_URL") + chalk.gray(" — Context Hub URL for real-time dashboard updates"));
|
|
76
|
+
console.log(chalk.cyan(" JFL_HUB_TOKEN") + chalk.gray(" — Auth token for hub API"));
|
|
77
|
+
console.log();
|
|
78
|
+
console.log(chalk.gray(" The eval workflow runs on PRs from Peter Parker (pp/ branches)."));
|
|
79
|
+
console.log(chalk.gray(" To trigger manually, add the 'run-eval' or 'ai-review' label to any PR."));
|
|
80
|
+
console.log();
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=ci-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ci-setup.js","sourceRoot":"","sources":["../../src/commands/ci-setup.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/peter.d.ts
CHANGED
|
@@ -3,13 +3,16 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Orchestrator that wraps ralph-tui with model routing and event bridging.
|
|
5
5
|
* Spidey-sense for which model to use per agent role.
|
|
6
|
+
* Includes proactive experiment selection — PP picks its own next task.
|
|
6
7
|
*
|
|
7
|
-
* @purpose CLI command for Peter Parker orchestrator — setup, run, status
|
|
8
|
+
* @purpose CLI command for Peter Parker orchestrator — setup, run, status, experiment
|
|
8
9
|
*/
|
|
9
10
|
export declare function peterCommand(action?: string, options?: {
|
|
10
11
|
cost?: boolean;
|
|
11
12
|
quality?: boolean;
|
|
12
13
|
balanced?: boolean;
|
|
13
14
|
task?: string;
|
|
15
|
+
rounds?: string;
|
|
16
|
+
mode?: string;
|
|
14
17
|
}): Promise<void>;
|
|
15
18
|
//# sourceMappingURL=peter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"peter.d.ts","sourceRoot":"","sources":["../../src/commands/peter.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"peter.d.ts","sourceRoot":"","sources":["../../src/commands/peter.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAm9BH,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,CAAA;CAAO,iBAiEvH"}
|