@percepta/kaizen 0.2.0 → 0.2.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.
- package/README.md +10 -2
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/BUILD_ID +1 -1
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/build-manifest.json +2 -2
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/prerender-manifest.json +3 -3
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/server/pages/404.html +1 -1
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/server/pages/500.html +1 -1
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/server/pages/[pipeline]/run/[runId].html +1 -1
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/server/pages/[pipeline].html +1 -1
- package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/server/pages/index.html +1 -1
- package/dist/commands/init-pipeline.js +18 -3
- package/dist/commands/init-pipeline.js.map +1 -1
- package/dist/commands/init.js +1 -0
- package/dist/commands/init.js.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/langfuse.d.ts +8 -0
- package/dist/langfuse.js +9 -0
- package/dist/langfuse.js.map +1 -1
- package/dist/lib/runner.js +8 -0
- package/dist/lib/runner.js.map +1 -1
- package/package.json +2 -2
- package/templates/pipeline/eval.py +9 -0
- package/templates/pipeline/eval.ts +168 -0
- package/templates/pipeline/pipeline.md +10 -1
- package/templates/workspace/.claude/agents/variant-builder.md +2 -0
- package/templates/workspace/.claude/commands/kaizen.md +20 -0
- /package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/static/{SjAC88d3utiBvgy5eS--0 → NipfouxkPumeJ20wdsKlr}/_buildManifest.js +0 -0
- /package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/static/{SjAC88d3utiBvgy5eS--0 → NipfouxkPumeJ20wdsKlr}/_clientMiddlewareManifest.json +0 -0
- /package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/static/{SjAC88d3utiBvgy5eS--0 → NipfouxkPumeJ20wdsKlr}/_ssgManifest.js +0 -0
package/README.md
CHANGED
|
@@ -9,7 +9,7 @@ For a persistent local `kaizen` command:
|
|
|
9
9
|
```bash
|
|
10
10
|
npm install -g @percepta/kaizen
|
|
11
11
|
kaizen init
|
|
12
|
-
kaizen create pipeline <pipeline-id>
|
|
12
|
+
kaizen create pipeline <pipeline-id> # add --eval-language ts for TypeScript
|
|
13
13
|
kaizen run --pipeline <pipeline-id> --variant baseline --hypothesis "starting baseline"
|
|
14
14
|
kaizen studio
|
|
15
15
|
```
|
|
@@ -96,7 +96,7 @@ The web app (Next.js, pages router) provides:
|
|
|
96
96
|
In real use, each target/customer repo owns its own `customers/`, `pipelines/`, `rubrics/`, `eval/`, and optional `views/` directories. Each pipeline is defined in `pipelines/*.md` with YAML frontmatter:
|
|
97
97
|
|
|
98
98
|
```yaml
|
|
99
|
-
run_eval: eval/<pipeline>.py
|
|
99
|
+
run_eval: eval/<pipeline>.ts # or .py
|
|
100
100
|
eval_version: 1
|
|
101
101
|
dataset_version: v1
|
|
102
102
|
eval_style: ground-truth
|
|
@@ -104,6 +104,14 @@ primary_metric: score
|
|
|
104
104
|
```
|
|
105
105
|
|
|
106
106
|
The eval script emits NDJSON events to `--out-fd`; the runner owns `.kaizen/runs/`.
|
|
107
|
+
Kaizen runs Python evals with `python3`, JavaScript evals with `node`, and
|
|
108
|
+
TypeScript evals with the package's bundled `tsx` loader. New pipeline scaffolds
|
|
109
|
+
default to Python; pass `--eval-language ts` to create a TypeScript eval.
|
|
110
|
+
For Langfuse-backed production evals, the same script should also link each
|
|
111
|
+
dataset item to the fresh trace produced by that run in a Langfuse dataset run
|
|
112
|
+
and write the primary metric as a trace score. Those writes are for durable
|
|
113
|
+
trace inspection; the NDJSON `complete.score` remains Kaizen's required result
|
|
114
|
+
contract.
|
|
107
115
|
|
|
108
116
|
This repo keeps historical definitions under `examples/legacy-workspace/` only as sample data for local Studio development:
|
|
109
117
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
NipfouxkPumeJ20wdsKlr
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"devFiles": [],
|
|
44
44
|
"polyfillFiles": [],
|
|
45
45
|
"lowPriorityFiles": [
|
|
46
|
-
"static/
|
|
47
|
-
"static/
|
|
46
|
+
"static/NipfouxkPumeJ20wdsKlr/_ssgManifest.js",
|
|
47
|
+
"static/NipfouxkPumeJ20wdsKlr/_buildManifest.js"
|
|
48
48
|
],
|
|
49
49
|
"rootMainFiles": []
|
|
50
50
|
}
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"routes": {},
|
|
4
4
|
"dynamicRoutes": {},
|
|
5
5
|
"preview": {
|
|
6
|
-
"previewModeId": "
|
|
7
|
-
"previewModeSigningKey": "
|
|
8
|
-
"previewModeEncryptionKey": "
|
|
6
|
+
"previewModeId": "14d2fc42d25999f83d901a6bb9c0bb4e",
|
|
7
|
+
"previewModeSigningKey": "c02fd44ac790fb468aa02132a5d362a652dc3ee4fd0ccf568119192c571c38da",
|
|
8
|
+
"previewModeEncryptionKey": "fcb067da738d6d323243f1a6965618a3d3b75c1dd15ae4e6ea6d6130a58d8a02"
|
|
9
9
|
},
|
|
10
10
|
"notFoundRoutes": []
|
|
11
11
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/1d3222853e278f3b.js" defer=""></script><script src="/_next/static/chunks/turbopack-2020b4e8396ddd91.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">404: This page could not be found</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/1d3222853e278f3b.js" defer=""></script><script src="/_next/static/chunks/turbopack-2020b4e8396ddd91.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_ssgManifest.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_buildManifest.js" defer=""></script></head><body><div id="__next"><div style="display:flex;height:100vh;overflow:hidden"><div style="flex:1;overflow:hidden;display:flex;flex-direction:column"><div style="flex:1;overflow:auto"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">404</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">This page could not be found<!-- -->.</h2></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":404}},"page":"/_error","query":{},"buildId":"NipfouxkPumeJ20wdsKlr","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/1d3222853e278f3b.js" defer=""></script><script src="/_next/static/chunks/turbopack-2020b4e8396ddd91.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">500: Internal Server Error</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/1d3222853e278f3b.js" defer=""></script><script src="/_next/static/chunks/turbopack-2020b4e8396ddd91.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_ssgManifest.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_buildManifest.js" defer=""></script></head><body><div id="__next"><div style="display:flex;height:100vh;overflow:hidden"><div style="flex:1;overflow:hidden;display:flex;flex-direction:column"><div style="flex:1;overflow:auto"><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error<!-- -->.</h2></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"statusCode":500}},"page":"/_error","query":{},"buildId":"NipfouxkPumeJ20wdsKlr","nextExport":true,"isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Kaizen</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="preload" href="/_next/static/chunks/fc08cb52cbbd9486.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/fc08cb52cbbd9486.css" data-n-p=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/ea7338704ffb3b75.js" defer=""></script><script src="/_next/static/chunks/0407c34857ed1d44.js" defer=""></script><script src="/_next/static/chunks/turbopack-3ef30666a4876a93.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Kaizen</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="preload" href="/_next/static/chunks/fc08cb52cbbd9486.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/fc08cb52cbbd9486.css" data-n-p=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/ea7338704ffb3b75.js" defer=""></script><script src="/_next/static/chunks/0407c34857ed1d44.js" defer=""></script><script src="/_next/static/chunks/turbopack-3ef30666a4876a93.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_buildManifest.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_ssgManifest.js" defer=""></script></head><body><div id="__next"><div style="display:flex;height:100vh;overflow:hidden"><div style="flex:1;overflow:hidden;display:flex;flex-direction:column"><div style="flex:1;overflow:auto"></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/[pipeline]/run/[runId]","query":{},"buildId":"NipfouxkPumeJ20wdsKlr","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
package/dashboard/.next/standalone/packages/kaizen/dashboard/.next/server/pages/[pipeline].html
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Kaizen</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="preload" href="/_next/static/chunks/fc08cb52cbbd9486.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/fc08cb52cbbd9486.css" data-n-p=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/ff7d20e97680d2ee.js" defer=""></script><script src="/_next/static/chunks/6f8a28bb54d1476e.js" defer=""></script><script src="/_next/static/chunks/d00ef473c6e5deb6.js" defer=""></script><script src="/_next/static/chunks/turbopack-4ab2e5754ea0dfc2.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Kaizen</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="preload" href="/_next/static/chunks/fc08cb52cbbd9486.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/fc08cb52cbbd9486.css" data-n-p=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/ff7d20e97680d2ee.js" defer=""></script><script src="/_next/static/chunks/6f8a28bb54d1476e.js" defer=""></script><script src="/_next/static/chunks/d00ef473c6e5deb6.js" defer=""></script><script src="/_next/static/chunks/turbopack-4ab2e5754ea0dfc2.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_buildManifest.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_ssgManifest.js" defer=""></script></head><body><link rel="preload" as="image" href="/logo-cream.svg"/><div id="__next"><div style="display:flex;height:100vh;overflow:hidden"><div style="flex:1;overflow:hidden;display:flex;flex-direction:column"><div style="flex:1;overflow:auto"><div class="Runs-module__drje5a__container"><div style="display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem;padding:4rem 2rem;position:relative"><div style="position:absolute;top:1rem;right:1rem"><div class="PipelineSelector-module__xQFfUa__wrapper"><button class="PipelineSelector-module__xQFfUa__trigger"><span class="PipelineSelector-module__xQFfUa__triggerPlaceholder">Select pipeline</span><svg width="10" height="10" viewBox="0 0 10 10" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="PipelineSelector-module__xQFfUa__triggerChevron"><polyline points="2,3.5 5,6.5 8,3.5"></polyline></svg></button></div></div><img src="/logo-cream.svg" alt="Kaizen" class="Runs-module__drje5a__heroLogo"/><h1 style="font-size:1.5rem;font-weight:600;color:#fafafa;margin:0">Kaizen</h1><p style="font-size:0.9rem;color:var(--text-secondary);text-align:center;max-width:400px;line-height:1.6">Select a pipeline on the left to investigate traces, build evaluation datasets, record runs, and prepare improvements.</p><div style="display:flex;gap:2rem;margin-top:1rem;font-size:0.75rem;color:var(--text-tertiary)"><span>0<!-- --> pipeline<!-- -->s</span><span>0<!-- --> with eval datasets</span><span>0<!-- --> in progress</span></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/[pipeline]","query":{},"buildId":"NipfouxkPumeJ20wdsKlr","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Kaizen</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="preload" href="/_next/static/chunks/fc08cb52cbbd9486.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/fc08cb52cbbd9486.css" data-n-p=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/4a52053c5f0b5bd9.js" defer=""></script><script src="/_next/static/chunks/6f8a28bb54d1476e.js" defer=""></script><script src="/_next/static/chunks/d00ef473c6e5deb6.js" defer=""></script><script src="/_next/static/chunks/turbopack-55cc3a90e23138f9.js" defer=""></script><script src="/_next/static/
|
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width" data-next-head=""/><title data-next-head="">Kaizen</title><link rel="icon" href="/favicon.svg" type="image/svg+xml"/><link rel="preload" href="/_next/static/chunks/957e4eafeea52721.css" as="style"/><link rel="preload" href="/_next/static/chunks/fc08cb52cbbd9486.css" as="style"/><link rel="stylesheet" href="/_next/static/chunks/957e4eafeea52721.css" data-n-g=""/><link rel="stylesheet" href="/_next/static/chunks/fc08cb52cbbd9486.css" data-n-p=""/><noscript data-n-css=""></noscript><script src="/_next/static/chunks/e7de444fec87369c.js" defer=""></script><script src="/_next/static/chunks/e39ca73a3364340b.js" defer=""></script><script src="/_next/static/chunks/31c9bc0d82922da1.js" defer=""></script><script src="/_next/static/chunks/turbopack-7c8bece1dcb2a025.js" defer=""></script><script src="/_next/static/chunks/4a52053c5f0b5bd9.js" defer=""></script><script src="/_next/static/chunks/6f8a28bb54d1476e.js" defer=""></script><script src="/_next/static/chunks/d00ef473c6e5deb6.js" defer=""></script><script src="/_next/static/chunks/turbopack-55cc3a90e23138f9.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_ssgManifest.js" defer=""></script><script src="/_next/static/NipfouxkPumeJ20wdsKlr/_buildManifest.js" defer=""></script></head><body><link rel="preload" as="image" href="/logo-cream.svg"/><div id="__next"><div style="display:flex;height:100vh;overflow:hidden"><div style="flex:1;overflow:hidden;display:flex;flex-direction:column"><div style="flex:1;overflow:auto"><div class="Runs-module__drje5a__container"><div style="display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:1.5rem;padding:4rem 2rem;position:relative"><div style="position:absolute;top:1rem;right:1rem"><div class="PipelineSelector-module__xQFfUa__wrapper"><button class="PipelineSelector-module__xQFfUa__trigger"><span class="PipelineSelector-module__xQFfUa__triggerPlaceholder">Select pipeline</span><svg width="10" height="10" viewBox="0 0 10 10" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" class="PipelineSelector-module__xQFfUa__triggerChevron"><polyline points="2,3.5 5,6.5 8,3.5"></polyline></svg></button></div></div><img src="/logo-cream.svg" alt="Kaizen" class="Runs-module__drje5a__heroLogo"/><h1 style="font-size:1.5rem;font-weight:600;color:#fafafa;margin:0">Kaizen</h1><p style="font-size:0.9rem;color:var(--text-secondary);text-align:center;max-width:400px;line-height:1.6">Select a pipeline on the left to investigate traces, build evaluation datasets, record runs, and prepare improvements.</p><div style="display:flex;gap:2rem;margin-top:1rem;font-size:0.75rem;color:var(--text-tertiary)"><span>0<!-- --> pipeline<!-- -->s</span><span>0<!-- --> with eval datasets</span><span>0<!-- --> in progress</span></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"NipfouxkPumeJ20wdsKlr","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -5,6 +5,7 @@ import { boolFlag, parseFlags, strFlag } from "../lib/parse-args.js";
|
|
|
5
5
|
import { templatesDir, workspaceRoot } from "../lib/paths.js";
|
|
6
6
|
import { prompt, promptChoice } from "../lib/prompt.js";
|
|
7
7
|
const EVAL_STYLES = ["ground-truth", "llm-as-judge", "hybrid"];
|
|
8
|
+
const EVAL_LANGUAGES = ["python", "typescript"];
|
|
8
9
|
export async function runInitPipeline(argv) {
|
|
9
10
|
const { positional, flags } = parseFlags(argv);
|
|
10
11
|
const root = workspaceRoot();
|
|
@@ -24,6 +25,11 @@ export async function runInitPipeline(argv) {
|
|
|
24
25
|
(await prompt("one-line description", `${name} pipeline`));
|
|
25
26
|
const evalStyle = (strFlag(flags, "eval-style") ??
|
|
26
27
|
(await promptChoice("eval style", [...EVAL_STYLES], "ground-truth")));
|
|
28
|
+
const evalLanguage = normalizeEvalLanguage(strFlag(flags, "eval-language") ?? strFlag(flags, "language") ?? "python");
|
|
29
|
+
if (!evalLanguage) {
|
|
30
|
+
process.stderr.write(`invalid eval language. use one of: ${EVAL_LANGUAGES.join(", ")}, py, ts.\n`);
|
|
31
|
+
return 1;
|
|
32
|
+
}
|
|
27
33
|
const primaryMetric = strFlag(flags, "metric") ??
|
|
28
34
|
(await prompt("primary metric name", evalStyle === "ground-truth" ? "accuracy" : "score"));
|
|
29
35
|
const target = strFlag(flags, "target") ?? (await prompt("target score (0-1)", "0.90"));
|
|
@@ -33,10 +39,11 @@ export async function runInitPipeline(argv) {
|
|
|
33
39
|
eval_style: evalStyle,
|
|
34
40
|
primary_metric: primaryMetric,
|
|
35
41
|
target,
|
|
42
|
+
eval_ext: evalLanguage === "typescript" ? "ts" : "py",
|
|
36
43
|
iso_now: new Date().toISOString(),
|
|
37
44
|
};
|
|
38
45
|
const pipelinePath = join(root, "pipelines", `${name}.md`);
|
|
39
|
-
const evalPath = join(root, "eval", `${name}.
|
|
46
|
+
const evalPath = join(root, "eval", `${name}.${vars.eval_ext}`);
|
|
40
47
|
const rubricPath = join(root, "rubrics", `${name}.md`);
|
|
41
48
|
if (!force) {
|
|
42
49
|
for (const p of [pipelinePath, evalPath]) {
|
|
@@ -50,14 +57,14 @@ export async function runInitPipeline(argv) {
|
|
|
50
57
|
ensureDir(join(root, "eval"));
|
|
51
58
|
const tpl = templatesDir();
|
|
52
59
|
writeFileSafely(pipelinePath, applyVars(readFileSync(join(tpl, "pipeline", "pipeline.md"), "utf-8"), vars), { overwrite: force });
|
|
53
|
-
writeFileSafely(evalPath, applyVars(readFileSync(join(tpl, "pipeline", "eval.py"), "utf-8"), vars), { overwrite: force });
|
|
60
|
+
writeFileSafely(evalPath, applyVars(readFileSync(join(tpl, "pipeline", evalLanguage === "typescript" ? "eval.ts" : "eval.py"), "utf-8"), vars), { overwrite: force });
|
|
54
61
|
if (evalStyle !== "ground-truth") {
|
|
55
62
|
ensureDir(join(root, "rubrics"));
|
|
56
63
|
writeFileSafely(rubricPath, applyVars(readFileSync(join(tpl, "pipeline", "rubric.md"), "utf-8"), vars), { overwrite: force });
|
|
57
64
|
}
|
|
58
65
|
process.stdout.write(`scaffolded pipeline "${name}":\n`);
|
|
59
66
|
process.stdout.write(` pipelines/${name}.md\n`);
|
|
60
|
-
process.stdout.write(` eval/${name}.
|
|
67
|
+
process.stdout.write(` eval/${name}.${vars.eval_ext}\n`);
|
|
61
68
|
if (evalStyle !== "ground-truth")
|
|
62
69
|
process.stdout.write(` rubrics/${name}.md\n`);
|
|
63
70
|
process.stdout.write([
|
|
@@ -70,4 +77,12 @@ export async function runInitPipeline(argv) {
|
|
|
70
77
|
].join("\n"));
|
|
71
78
|
return 0;
|
|
72
79
|
}
|
|
80
|
+
function normalizeEvalLanguage(raw) {
|
|
81
|
+
const normalized = raw.toLowerCase();
|
|
82
|
+
if (normalized === "python" || normalized === "py")
|
|
83
|
+
return "python";
|
|
84
|
+
if (normalized === "typescript" || normalized === "ts")
|
|
85
|
+
return "typescript";
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
73
88
|
//# sourceMappingURL=init-pipeline.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-pipeline.js","sourceRoot":"","sources":["../../src/commands/init-pipeline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAExD,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,cAAc,EAAE,QAAQ,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"init-pipeline.js","sourceRoot":"","sources":["../../src/commands/init-pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -108,6 +108,7 @@ function appendClaudeSection(path, vars) {
|
|
|
108
108
|
"",
|
|
109
109
|
"- Pipeline definitions live in `pipelines/*.md`.",
|
|
110
110
|
"- Each pipeline has an eval script under `eval/` that emits NDJSON events.",
|
|
111
|
+
"- Real Langfuse-backed eval scripts should also link each dataset item to the fresh run trace in a Langfuse dataset run and write the primary metric as a trace score.",
|
|
111
112
|
"- Record runs via the supervisor: `kaizen run --pipeline <p> --variant <v>`.",
|
|
112
113
|
"- Open the dashboard with `kaizen studio` (default port 6789).",
|
|
113
114
|
"- Custom per-pipeline UIs go in `views/<pipeline>/index.tsx`.",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ const HELP = `kaizen — automated AI researcher
|
|
|
9
9
|
human-facing:
|
|
10
10
|
kaizen init scaffold a Kaizen workspace (run once per repo)
|
|
11
11
|
kaizen create pipeline [name] add a pipeline definition + starter eval
|
|
12
|
+
[--eval-language py|ts]
|
|
12
13
|
kaizen studio [--port 6789] [--state-dir <dir>]
|
|
13
14
|
open the local Kaizen dashboard against this workspace
|
|
14
15
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/langfuse.d.ts
CHANGED
|
@@ -25,6 +25,13 @@ export interface LangfuseScoreInput {
|
|
|
25
25
|
comment?: string;
|
|
26
26
|
metadata?: Record<string, unknown>;
|
|
27
27
|
}
|
|
28
|
+
export interface LangfuseDatasetRunItemInput {
|
|
29
|
+
datasetItemId: string;
|
|
30
|
+
traceId: string;
|
|
31
|
+
runName: string;
|
|
32
|
+
runDescription?: string;
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
}
|
|
28
35
|
export declare function langfuseConfigFromEnv(env?: NodeJS.ProcessEnv): LangfuseConfig;
|
|
29
36
|
export declare class LangfuseApiClient {
|
|
30
37
|
private readonly host;
|
|
@@ -35,6 +42,7 @@ export declare class LangfuseApiClient {
|
|
|
35
42
|
}): Promise<LangfuseDatasetItem[]>;
|
|
36
43
|
getTrace(traceId: string): Promise<LangfuseTrace>;
|
|
37
44
|
createScore(input: LangfuseScoreInput): Promise<unknown>;
|
|
45
|
+
createDatasetRunItem(input: LangfuseDatasetRunItemInput): Promise<unknown>;
|
|
38
46
|
private get;
|
|
39
47
|
private post;
|
|
40
48
|
private request;
|
package/dist/langfuse.js
CHANGED
|
@@ -50,6 +50,15 @@ export class LangfuseApiClient {
|
|
|
50
50
|
metadata: input.metadata,
|
|
51
51
|
});
|
|
52
52
|
}
|
|
53
|
+
async createDatasetRunItem(input) {
|
|
54
|
+
return this.post("/api/public/dataset-run-items", {
|
|
55
|
+
datasetItemId: input.datasetItemId,
|
|
56
|
+
traceId: input.traceId,
|
|
57
|
+
runName: input.runName,
|
|
58
|
+
runDescription: input.runDescription,
|
|
59
|
+
metadata: input.metadata,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
53
62
|
async get(path) {
|
|
54
63
|
return this.request(path, { method: "GET" });
|
|
55
64
|
}
|
package/dist/langfuse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langfuse.js","sourceRoot":"","sources":["../src/langfuse.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"langfuse.js","sourceRoot":"","sources":["../src/langfuse.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/runner.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execSync, spawn } from "node:child_process";
|
|
2
2
|
import { createWriteStream, existsSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { createRequire } from "node:module";
|
|
3
4
|
import { arch, hostname, platform } from "node:os";
|
|
4
5
|
import { extname, join } from "node:path";
|
|
5
6
|
import { NdjsonReader, } from "./events.js";
|
|
@@ -8,6 +9,7 @@ import { loadPipeline, resolveEvalPath } from "./pipeline.js";
|
|
|
8
9
|
import { decidePromotion } from "./promotion.js";
|
|
9
10
|
import { appendNdjsonLine, clearLock, ensureDir, generateRunId, hypothesesPath, isPidAlive, pipelineRunsDir, readJsonIfExists, readLock, runDir, writeJsonAtomic, writeLock, } from "./run-dir.js";
|
|
10
11
|
const FAILURE_K = 10;
|
|
12
|
+
const require = createRequire(import.meta.url);
|
|
11
13
|
export async function runExperiment(opts) {
|
|
12
14
|
const stateDir = opts.stateDir ?? join(opts.workspace, ".kaizen");
|
|
13
15
|
// 0. Reap stale runs across this pipeline (lock present, PID dead, no terminal event).
|
|
@@ -273,6 +275,12 @@ function detectInterpreter(evalPath) {
|
|
|
273
275
|
return { cmd: "python3", preArgs: [] };
|
|
274
276
|
if (ext === ".js" || ext === ".mjs" || ext === ".cjs")
|
|
275
277
|
return { cmd: "node", preArgs: [] };
|
|
278
|
+
if (ext === ".ts" || ext === ".tsx" || ext === ".mts" || ext === ".cts") {
|
|
279
|
+
return {
|
|
280
|
+
cmd: process.execPath,
|
|
281
|
+
preArgs: ["--import", require.resolve("tsx")],
|
|
282
|
+
};
|
|
283
|
+
}
|
|
276
284
|
// Default: assume executable with shebang.
|
|
277
285
|
return { cmd: evalPath, preArgs: [] };
|
|
278
286
|
}
|
package/dist/lib/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/lib/runner.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@percepta/kaizen",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Automated AI researcher that improves AI pipelines",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai",
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"node-pty": "^1.1.0",
|
|
40
|
+
"tsx": "^4.21.0",
|
|
40
41
|
"ws": "^8.20.0",
|
|
41
42
|
"yaml": "^2.8.2"
|
|
42
43
|
},
|
|
@@ -59,7 +60,6 @@
|
|
|
59
60
|
"react-dom": "19.2.3",
|
|
60
61
|
"react-markdown": "^10.1.0",
|
|
61
62
|
"rimraf": "^5.0.5",
|
|
62
|
-
"tsx": "^4.21.0",
|
|
63
63
|
"typescript": "^6.0.3",
|
|
64
64
|
"vitest": "^4.0.17",
|
|
65
65
|
"zod": "4.1.4",
|
|
@@ -14,6 +14,13 @@ The supervisor will record the run as `crashed` if no `complete` event is seen.
|
|
|
14
14
|
|
|
15
15
|
This template runs against 3 dummy items so you can verify the event stream end-to-end
|
|
16
16
|
before plugging in real data. Replace `iter_items` and `score_one` with your logic.
|
|
17
|
+
|
|
18
|
+
For production evals backed by Langfuse, keep the NDJSON stream as the required
|
|
19
|
+
Kaizen contract and also persist results back to Langfuse as a best-effort side
|
|
20
|
+
effect: load the versioned dataset, run the pipeline to create a fresh trace for
|
|
21
|
+
each item, link that trace to the dataset item in a dataset run, and write the
|
|
22
|
+
primary metric as a score on the trace. Include that fresh trace id in the
|
|
23
|
+
Kaizen item event so failure analysis can jump directly to Langfuse.
|
|
17
24
|
"""
|
|
18
25
|
from __future__ import annotations
|
|
19
26
|
|
|
@@ -53,6 +60,8 @@ def score_one(item: dict[str, Any], variant: str) -> dict[str, Any]:
|
|
|
53
60
|
Returns a dict with at minimum: {"score": float, "breakdown": dict, "trace_id": str | None}.
|
|
54
61
|
"""
|
|
55
62
|
# TODO: call your actual pipeline here, then compare to ground truth.
|
|
63
|
+
# TODO: for Langfuse-backed evals, create/link a dataset-run item and
|
|
64
|
+
# write the primary metric as a Langfuse score on the fresh trace.
|
|
56
65
|
# The dummy logic below produces a deterministic score so the supervisor sees real numbers.
|
|
57
66
|
expected = item.get("expected", "")
|
|
58
67
|
actual = item.get("input", "") # placeholder
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Eval script for the {{name}} pipeline.
|
|
3
|
+
*
|
|
4
|
+
* The Kaizen supervisor invokes this script and consumes NDJSON events from
|
|
5
|
+
* its `--out-fd` (or stdout if no fd is given). Your only job is to emit a
|
|
6
|
+
* well-formed event stream:
|
|
7
|
+
*
|
|
8
|
+
* {"type":"start","n":<int>,"eval_version":<int>,"dataset_version":"<str>"}
|
|
9
|
+
* {"type":"item","id":"<str>","score":<float in [0,1]>,"breakdown":{},"trace_id":"<str|null>"}
|
|
10
|
+
* ... one item event per dataset item ...
|
|
11
|
+
* {"type":"complete","score":<float>,"breakdown":{},"worst_traces":[]}
|
|
12
|
+
*
|
|
13
|
+
* For Langfuse-backed production evals, keep the NDJSON stream as the required
|
|
14
|
+
* Kaizen contract and also persist results back to Langfuse as a best-effort
|
|
15
|
+
* side effect: load the versioned dataset, run the pipeline to create a fresh
|
|
16
|
+
* trace for each item, link that trace to the dataset item in a dataset run,
|
|
17
|
+
* and write the primary metric as a score on the trace. Include that fresh
|
|
18
|
+
* trace id in the Kaizen item event so failure analysis can jump to Langfuse.
|
|
19
|
+
*/
|
|
20
|
+
import { closeSync, writeSync } from "node:fs";
|
|
21
|
+
|
|
22
|
+
const EVAL_VERSION = 1;
|
|
23
|
+
const DATASET_VERSION = "v1";
|
|
24
|
+
|
|
25
|
+
interface EvalArgs {
|
|
26
|
+
variant: string;
|
|
27
|
+
dataset: string;
|
|
28
|
+
maxItems: number | null;
|
|
29
|
+
outFd: number | null;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
interface DemoItem {
|
|
33
|
+
id: string;
|
|
34
|
+
input: string;
|
|
35
|
+
expected: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
interface ScoreResult {
|
|
39
|
+
score: number;
|
|
40
|
+
breakdown: Record<string, number>;
|
|
41
|
+
trace_id: string | null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function emit(outFd: number | null, event: Record<string, unknown>): void {
|
|
45
|
+
const line = `${JSON.stringify(event)}\n`;
|
|
46
|
+
if (outFd === null) {
|
|
47
|
+
process.stdout.write(line);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
writeSync(outFd, line);
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function parseArgs(argv: string[]): EvalArgs {
|
|
54
|
+
const args: EvalArgs = {
|
|
55
|
+
variant: "",
|
|
56
|
+
dataset: DATASET_VERSION,
|
|
57
|
+
maxItems: null,
|
|
58
|
+
outFd: null,
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
for (let i = 0; i < argv.length; i++) {
|
|
62
|
+
const arg = argv[i];
|
|
63
|
+
const next = argv[i + 1];
|
|
64
|
+
if (arg === "--variant" && next) {
|
|
65
|
+
args.variant = next;
|
|
66
|
+
i++;
|
|
67
|
+
} else if (arg === "--dataset" && next) {
|
|
68
|
+
args.dataset = next;
|
|
69
|
+
i++;
|
|
70
|
+
} else if (arg === "--max-items" && next) {
|
|
71
|
+
args.maxItems = Number.parseInt(next, 10);
|
|
72
|
+
i++;
|
|
73
|
+
} else if (arg === "--out-fd" && next) {
|
|
74
|
+
args.outFd = Number.parseInt(next, 10);
|
|
75
|
+
i++;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (!args.variant) {
|
|
80
|
+
throw new Error("missing required --variant");
|
|
81
|
+
}
|
|
82
|
+
return args;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
function iterItems(maxItems: number | null): DemoItem[] {
|
|
86
|
+
const items = [
|
|
87
|
+
{ id: "demo-1", input: "hello", expected: "hi" },
|
|
88
|
+
{ id: "demo-2", input: "world", expected: "world" },
|
|
89
|
+
{ id: "demo-3", input: "foo", expected: "bar" },
|
|
90
|
+
];
|
|
91
|
+
return maxItems === null ? items : items.slice(0, maxItems);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function scoreOne(item: DemoItem, _variant: string): ScoreResult {
|
|
95
|
+
// TODO: call your actual pipeline here, then compare to ground truth.
|
|
96
|
+
// TODO: for Langfuse-backed evals, create/link a dataset-run item and
|
|
97
|
+
// write the primary metric as a Langfuse score on the fresh trace.
|
|
98
|
+
const exact = item.input === item.expected ? 1 : 0;
|
|
99
|
+
return {
|
|
100
|
+
score: exact,
|
|
101
|
+
breakdown: { exact_match: exact },
|
|
102
|
+
trace_id: null,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function average(values: number[]): number {
|
|
107
|
+
return (
|
|
108
|
+
values.reduce((sum, value) => sum + value, 0) / Math.max(values.length, 1)
|
|
109
|
+
);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async function main(): Promise<void> {
|
|
113
|
+
const args = parseArgs(process.argv.slice(2));
|
|
114
|
+
const items = iterItems(args.maxItems);
|
|
115
|
+
|
|
116
|
+
emit(args.outFd, {
|
|
117
|
+
type: "start",
|
|
118
|
+
n: items.length,
|
|
119
|
+
eval_version: EVAL_VERSION,
|
|
120
|
+
dataset_version: args.dataset,
|
|
121
|
+
variant: args.variant,
|
|
122
|
+
ts: Date.now() / 1000,
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
const scored = items.map((item) => {
|
|
126
|
+
const result = scoreOne(item, args.variant);
|
|
127
|
+
const event = {
|
|
128
|
+
type: "item",
|
|
129
|
+
id: item.id,
|
|
130
|
+
score: result.score,
|
|
131
|
+
breakdown: result.breakdown,
|
|
132
|
+
trace_id: result.trace_id,
|
|
133
|
+
ts: Date.now() / 1000,
|
|
134
|
+
};
|
|
135
|
+
emit(args.outFd, event);
|
|
136
|
+
return event;
|
|
137
|
+
});
|
|
138
|
+
|
|
139
|
+
const breakdown = {
|
|
140
|
+
exact_match: average(scored.map((item) => item.breakdown.exact_match)),
|
|
141
|
+
};
|
|
142
|
+
const worst = [...scored]
|
|
143
|
+
.sort((a, b) => a.score - b.score)
|
|
144
|
+
.slice(0, 3)
|
|
145
|
+
.map((item) => ({
|
|
146
|
+
id: item.id,
|
|
147
|
+
score: item.score,
|
|
148
|
+
trace_id: item.trace_id,
|
|
149
|
+
}));
|
|
150
|
+
|
|
151
|
+
emit(args.outFd, {
|
|
152
|
+
type: "complete",
|
|
153
|
+
score: average(scored.map((item) => item.score)),
|
|
154
|
+
breakdown,
|
|
155
|
+
n: scored.length,
|
|
156
|
+
worst_traces: worst,
|
|
157
|
+
ts: Date.now() / 1000,
|
|
158
|
+
});
|
|
159
|
+
|
|
160
|
+
if (args.outFd !== null) closeSync(args.outFd);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
main().catch((error: unknown) => {
|
|
164
|
+
process.stderr.write(
|
|
165
|
+
`${error instanceof Error ? error.message : String(error)}\n`,
|
|
166
|
+
);
|
|
167
|
+
process.exit(1);
|
|
168
|
+
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: {{name}}
|
|
3
3
|
description: {{description}}
|
|
4
|
-
run_eval: eval/{{name}}.
|
|
4
|
+
run_eval: eval/{{name}}.{{eval_ext}}
|
|
5
5
|
eval_version: 1
|
|
6
6
|
dataset_version: v1
|
|
7
7
|
eval_style: {{eval_style}}
|
|
@@ -33,6 +33,15 @@ created_at: {{iso_now}}
|
|
|
33
33
|
- set env vars
|
|
34
34
|
- fetch fixtures -->
|
|
35
35
|
|
|
36
|
+
## Eval persistence
|
|
37
|
+
|
|
38
|
+
<!-- For Langfuse-backed production evals:
|
|
39
|
+
- Load dataset items from the `dataset_version` named in frontmatter.
|
|
40
|
+
- For each item, run the candidate pipeline and capture the fresh Langfuse trace id.
|
|
41
|
+
- Link the dataset item to that trace in a Langfuse dataset run named for the Kaizen run.
|
|
42
|
+
- Write the primary metric as a Langfuse score on the fresh trace, with secondary metrics in metadata.
|
|
43
|
+
- Emit the same score through Kaizen's required NDJSON `item` / `complete` events. -->
|
|
44
|
+
|
|
36
45
|
## Architecture
|
|
37
46
|
|
|
38
47
|
<!-- Mermaid diagram of the current best variant. Update when the leaderboard moves. -->
|
|
@@ -38,6 +38,8 @@ kaizen run \
|
|
|
38
38
|
|
|
39
39
|
The `kaizen run` runner is plain code, not an agent. It handles everything: writes manifest, tails NDJSON events into `events.jsonl`, atomically updates `state.json`, dumps worst items to `failures.jsonl`, decides promotion via paired-bootstrap statistical test, prints the score.
|
|
40
40
|
|
|
41
|
+
The eval script may also write Langfuse dataset-run links and trace scores. Treat those writes as diagnostic persistence only. The authoritative run result for this loop is still the `complete.score` that `kaizen run` records from the NDJSON stream.
|
|
42
|
+
|
|
41
43
|
You do **not** write `.kaizen/` files. You do **not** call any status CLI. The single `kaizen run` invocation is the whole interaction.
|
|
42
44
|
|
|
43
45
|
## After the run
|
|
@@ -30,6 +30,26 @@ Truth lives on disk under `.kaizen/runs/<pipeline>/<run_id>/`:
|
|
|
30
30
|
The hypothesis log is `.kaizen/hypotheses/<pipeline>.jsonl` — every run leaves a line, success or failure.
|
|
31
31
|
The promoted baseline is derived on demand: the latest run that beat the previous promoted baseline with statistical confidence under matching `eval_version` / `dataset_version`. The leaderboard still shows the best raw score. `kaizen log --pipeline <p>` shows the promoted baseline in the header alongside recent runs.
|
|
32
32
|
|
|
33
|
+
## Eval script contract
|
|
34
|
+
|
|
35
|
+
The pipeline's `run_eval` script is the single eval entrypoint. `kaizen run` invokes it as:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
<run_eval> --variant <variant_id> --dataset <dataset_version> --out-fd 3 [--max-items <n>]
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
The required contract is the NDJSON stream on `--out-fd`: emit `start`, one `item` per dataset item, and one terminal `complete` with a numeric `score` in `[0,1]`. The `complete.score` is what Kaizen records, compares, and returns to you in the CLI summary.
|
|
42
|
+
|
|
43
|
+
For real customer pipelines, the eval script should also persist results back to Langfuse as a best-effort side effect:
|
|
44
|
+
|
|
45
|
+
- Load the versioned Langfuse dataset named by `--dataset`.
|
|
46
|
+
- Run the candidate pipeline for each dataset item, producing a fresh Langfuse trace for that item.
|
|
47
|
+
- Link each dataset item to that fresh trace in a Langfuse dataset run named for the Kaizen experiment or variant.
|
|
48
|
+
- Write the primary metric as a Langfuse score on the fresh trace, with useful secondary metrics in score metadata or dataset-run metadata.
|
|
49
|
+
- Include the fresh trace id in each Kaizen `item.trace_id` and in `complete.worst_traces`.
|
|
50
|
+
|
|
51
|
+
Langfuse writes make traces, dataset runs, and scores durable for inspection. They must not replace the NDJSON stream; `.kaizen/runs/` remains Kaizen's local source of truth for experiment state and promotion.
|
|
52
|
+
|
|
33
53
|
## Loop
|
|
34
54
|
|
|
35
55
|
1. **Read state** — `kaizen log --pipeline <p> -n 10` gives both the promoted baseline (header) and recent runs (body) in one call.
|
|
File without changes
|
|
File without changes
|