@tangle-network/starter-foundry 0.7.2 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1328) hide show
  1. package/LICENSE-APACHE +201 -0
  2. package/README.md +63 -174
  3. package/corpus/template-family-mapping.json +0 -1
  4. package/dist/cli.js +206 -85
  5. package/dist/cli.js.map +1 -1
  6. package/dist/eval/diagnoser.d.ts +2 -2
  7. package/dist/eval/diagnoser.js +28 -7
  8. package/dist/eval/diagnoser.js.map +1 -1
  9. package/dist/eval/propose.js +1 -1
  10. package/dist/eval/propose.js.map +1 -1
  11. package/dist/eval/replay.d.ts +8 -8
  12. package/dist/eval/replay.js +44 -21
  13. package/dist/eval/replay.js.map +1 -1
  14. package/dist/eval/scaffold-bridge.d.ts +6 -6
  15. package/dist/eval/scaffold-bridge.js +103 -30
  16. package/dist/eval/scaffold-bridge.js.map +1 -1
  17. package/dist/lib/agent-bundle.d.ts +278 -0
  18. package/dist/lib/agent-bundle.js +411 -0
  19. package/dist/lib/agent-bundle.js.map +1 -0
  20. package/dist/lib/agent-context.js +4 -4
  21. package/dist/lib/agent-context.js.map +1 -1
  22. package/dist/lib/agent-runners.d.ts +2 -2
  23. package/dist/lib/agent-runners.js +5 -3
  24. package/dist/lib/agent-runners.js.map +1 -1
  25. package/dist/lib/augment.js.map +1 -1
  26. package/dist/lib/brand/first-turn-flows.js +5 -3
  27. package/dist/lib/brand/first-turn-flows.js.map +1 -1
  28. package/dist/lib/brand/i18n.d.ts +2 -2
  29. package/dist/lib/brand/i18n.js +37 -7
  30. package/dist/lib/brand/i18n.js.map +1 -1
  31. package/dist/lib/brand/index.js +43 -8
  32. package/dist/lib/brand/index.js.map +1 -1
  33. package/dist/lib/brand/media-manifest.d.ts +2 -2
  34. package/dist/lib/brand/media-manifest.js +20 -4
  35. package/dist/lib/brand/media-manifest.js.map +1 -1
  36. package/dist/lib/brand/user-segments.js +49 -16
  37. package/dist/lib/brand/user-segments.js.map +1 -1
  38. package/dist/lib/brand/voice.js.map +1 -1
  39. package/dist/lib/bridge.d.ts +2 -2
  40. package/dist/lib/bridge.js +18 -14
  41. package/dist/lib/bridge.js.map +1 -1
  42. package/dist/lib/build-plan.d.ts +1 -1
  43. package/dist/lib/build-plan.js +66 -15
  44. package/dist/lib/build-plan.js.map +1 -1
  45. package/dist/lib/buildout-traces.d.ts +3 -3
  46. package/dist/lib/buildout-traces.js +4 -4
  47. package/dist/lib/buildout-traces.js.map +1 -1
  48. package/dist/lib/canary.js.map +1 -1
  49. package/dist/lib/capability-inferrer.d.ts +2 -2
  50. package/dist/lib/capability-inferrer.js +1 -1
  51. package/dist/lib/capability-inferrer.js.map +1 -1
  52. package/dist/lib/catalog.d.ts +2 -2
  53. package/dist/lib/cli/export-runs.d.ts +13 -0
  54. package/dist/lib/cli/export-runs.js +57 -0
  55. package/dist/lib/cli/export-runs.js.map +1 -0
  56. package/dist/lib/cli/gate.d.ts +11 -0
  57. package/dist/lib/cli/gate.js +60 -0
  58. package/dist/lib/cli/gate.js.map +1 -0
  59. package/dist/lib/cli/profiles.d.ts +12 -0
  60. package/dist/lib/cli/profiles.js +63 -0
  61. package/dist/lib/cli/profiles.js.map +1 -0
  62. package/dist/lib/cli/refresh-snapshots.d.ts +15 -0
  63. package/dist/lib/cli/refresh-snapshots.js +40 -0
  64. package/dist/lib/cli/refresh-snapshots.js.map +1 -0
  65. package/dist/lib/compose-prompt.d.ts +1 -1
  66. package/dist/lib/compose-prompt.js +1 -1
  67. package/dist/lib/compose-prompt.js.map +1 -1
  68. package/dist/lib/compose.d.ts +1 -1
  69. package/dist/lib/compose.js +212 -33
  70. package/dist/lib/compose.js.map +1 -1
  71. package/dist/lib/context-pack.d.ts +1 -1
  72. package/dist/lib/context-pack.js +2 -1
  73. package/dist/lib/context-pack.js.map +1 -1
  74. package/dist/lib/cost.js +2 -1
  75. package/dist/lib/cost.js.map +1 -1
  76. package/dist/lib/domain-packs.d.ts +31 -0
  77. package/dist/lib/domain-packs.js +261 -0
  78. package/dist/lib/domain-packs.js.map +1 -0
  79. package/dist/lib/eval/ab.js.map +1 -0
  80. package/dist/lib/{audit.d.ts → eval/audit.d.ts} +1 -1
  81. package/dist/lib/{audit.js → eval/audit.js} +2 -2
  82. package/dist/lib/eval/audit.js.map +1 -0
  83. package/dist/lib/{batch-export.js → eval/batch-export.js} +38 -9
  84. package/dist/lib/eval/batch-export.js.map +1 -0
  85. package/dist/lib/{benchmark.d.ts → eval/benchmark.d.ts} +1 -1
  86. package/dist/lib/{benchmark.js → eval/benchmark.js} +4 -4
  87. package/dist/lib/eval/benchmark.js.map +1 -0
  88. package/dist/lib/eval/emit-run-record.d.ts +38 -0
  89. package/dist/lib/eval/emit-run-record.js +37 -0
  90. package/dist/lib/eval/emit-run-record.js.map +1 -0
  91. package/dist/lib/{prove.d.ts → eval/prove.d.ts} +2 -2
  92. package/dist/lib/{prove.js → eval/prove.js} +2 -2
  93. package/dist/lib/eval/prove.js.map +1 -0
  94. package/dist/lib/{reproducibility.d.ts → eval/reproducibility.d.ts} +3 -3
  95. package/dist/lib/eval/reproducibility.js.map +1 -0
  96. package/dist/lib/{sbom.d.ts → eval/sbom.d.ts} +2 -2
  97. package/dist/lib/{sbom.js → eval/sbom.js} +5 -2
  98. package/dist/lib/eval/sbom.js.map +1 -0
  99. package/dist/lib/fatten.d.ts +2 -2
  100. package/dist/lib/fatten.js +38 -10
  101. package/dist/lib/fatten.js.map +1 -1
  102. package/dist/lib/fs.js +11 -5
  103. package/dist/lib/fs.js.map +1 -1
  104. package/dist/lib/held-out-gate.d.ts +88 -0
  105. package/dist/lib/held-out-gate.js +177 -0
  106. package/dist/lib/held-out-gate.js.map +1 -0
  107. package/dist/lib/index.d.ts +24 -13
  108. package/dist/lib/index.js +17 -8
  109. package/dist/lib/index.js.map +1 -1
  110. package/dist/lib/industries.js +2 -2
  111. package/dist/lib/industries.js.map +1 -1
  112. package/dist/lib/industry-flows.js +3 -5
  113. package/dist/lib/industry-flows.js.map +1 -1
  114. package/dist/lib/keywords.js +31 -21
  115. package/dist/lib/keywords.js.map +1 -1
  116. package/dist/lib/llm.js +22 -21
  117. package/dist/lib/llm.js.map +1 -1
  118. package/dist/lib/planner/contracts.js +45 -13
  119. package/dist/lib/planner/contracts.js.map +1 -1
  120. package/dist/lib/planner/detectors.js +31 -9
  121. package/dist/lib/planner/detectors.js.map +1 -1
  122. package/dist/lib/planner/domain-pack-signals.d.ts +6 -0
  123. package/dist/lib/planner/domain-pack-signals.js +36 -0
  124. package/dist/lib/planner/domain-pack-signals.js.map +1 -0
  125. package/dist/lib/planner/implicit-caps.js +12 -2
  126. package/dist/lib/planner/implicit-caps.js.map +1 -1
  127. package/dist/lib/planner/partner-first.d.ts +0 -14
  128. package/dist/lib/planner/partner-first.js +14 -14
  129. package/dist/lib/planner/partner-first.js.map +1 -1
  130. package/dist/lib/planner/projects.d.ts +5 -1
  131. package/dist/lib/planner/projects.js +460 -113
  132. package/dist/lib/planner/projects.js.map +1 -1
  133. package/dist/lib/planner/signals.d.ts +9 -0
  134. package/dist/lib/planner/signals.js +195 -27
  135. package/dist/lib/planner/signals.js.map +1 -1
  136. package/dist/lib/product-brief.js +4 -1
  137. package/dist/lib/product-brief.js.map +1 -1
  138. package/dist/lib/profile-loader.d.ts +56 -0
  139. package/dist/lib/profile-loader.js +144 -0
  140. package/dist/lib/profile-loader.js.map +1 -0
  141. package/dist/lib/promoter-gates.js +86 -22
  142. package/dist/lib/promoter-gates.js.map +1 -1
  143. package/dist/lib/prompt-e2e.d.ts +3 -3
  144. package/dist/lib/prompt-e2e.js +1 -1
  145. package/dist/lib/prompt-e2e.js.map +1 -1
  146. package/dist/lib/prompt-planner.js +428 -88
  147. package/dist/lib/prompt-planner.js.map +1 -1
  148. package/dist/lib/prompt-rewriter.d.ts +2 -1
  149. package/dist/lib/prompt-rewriter.js +6 -3
  150. package/dist/lib/prompt-rewriter.js.map +1 -1
  151. package/dist/lib/registry-mirror.d.ts +2 -2
  152. package/dist/lib/registry-mirror.js +3 -1
  153. package/dist/lib/registry-mirror.js.map +1 -1
  154. package/dist/lib/registry.d.ts +6 -6
  155. package/dist/lib/registry.js +193 -12
  156. package/dist/lib/registry.js.map +1 -1
  157. package/dist/lib/release.js +7 -4
  158. package/dist/lib/release.js.map +1 -1
  159. package/dist/lib/reviewer-route.js +33 -19
  160. package/dist/lib/reviewer-route.js.map +1 -1
  161. package/dist/lib/run-canaries.d.ts +102 -0
  162. package/dist/lib/run-canaries.js +305 -0
  163. package/dist/lib/run-canaries.js.map +1 -0
  164. package/dist/lib/run-record-store.d.ts +21 -0
  165. package/dist/lib/run-record-store.js +61 -0
  166. package/dist/lib/run-record-store.js.map +1 -0
  167. package/dist/lib/run-record.d.ts +105 -0
  168. package/dist/lib/run-record.js +189 -0
  169. package/dist/lib/run-record.js.map +1 -0
  170. package/dist/lib/safety/license-check.js +18 -10
  171. package/dist/lib/safety/license-check.js.map +1 -1
  172. package/dist/lib/safety/secret-scan.js +15 -1
  173. package/dist/lib/safety/secret-scan.js.map +1 -1
  174. package/dist/lib/selection.d.ts +15 -0
  175. package/dist/lib/selection.js +138 -17
  176. package/dist/lib/selection.js.map +1 -1
  177. package/dist/lib/semantic-router.d.ts +5 -1
  178. package/dist/lib/semantic-router.js +7 -3
  179. package/dist/lib/semantic-router.js.map +1 -1
  180. package/dist/lib/snapshot-resolver.d.ts +94 -0
  181. package/dist/lib/snapshot-resolver.js +228 -0
  182. package/dist/lib/snapshot-resolver.js.map +1 -0
  183. package/dist/lib/synthetic/index.js +4 -2
  184. package/dist/lib/synthetic/index.js.map +1 -1
  185. package/dist/lib/telemetry/stream.js +3 -1
  186. package/dist/lib/telemetry/stream.js.map +1 -1
  187. package/dist/lib/telemetry.d.ts +2 -1
  188. package/dist/lib/telemetry.js +8 -2
  189. package/dist/lib/telemetry.js.map +1 -1
  190. package/dist/lib/template-quality.d.ts +2 -2
  191. package/dist/lib/template-quality.js +6 -4
  192. package/dist/lib/template-quality.js.map +1 -1
  193. package/dist/lib/validate-plan.js +4 -1
  194. package/dist/lib/validate-plan.js.map +1 -1
  195. package/dist/lib/validate.d.ts +5 -1
  196. package/dist/lib/validate.js +340 -4
  197. package/dist/lib/validate.js.map +1 -1
  198. package/dist/lib/vb-outcomes.d.ts +2 -2
  199. package/dist/lib/vb-outcomes.js.map +1 -1
  200. package/dist/lib/version-history.js.map +1 -1
  201. package/dist/lib/visual-regression.d.ts +2 -2
  202. package/dist/lib/visual-regression.js.map +1 -1
  203. package/dist/lib/workspace-presets.d.ts +125 -0
  204. package/dist/lib/workspace-presets.js +364 -0
  205. package/dist/lib/workspace-presets.js.map +1 -0
  206. package/dist/lib/workspace.d.ts +6 -6
  207. package/dist/lib/workspace.js +8 -7
  208. package/dist/lib/workspace.js.map +1 -1
  209. package/dist/training/capability_proposer/propose.d.ts +2 -3
  210. package/dist/training/capability_proposer/propose.js +26 -15
  211. package/dist/training/capability_proposer/propose.js.map +1 -1
  212. package/dist/training/family_proposer/propose.d.ts +2 -3
  213. package/dist/training/family_proposer/propose.js +275 -42
  214. package/dist/training/family_proposer/propose.js.map +1 -1
  215. package/dist/training/routing/train.d.ts +2 -2
  216. package/dist/training/routing/train.js +9 -6
  217. package/dist/training/routing/train.js.map +1 -1
  218. package/dist/training/template_v1/audit.js +5 -3
  219. package/dist/training/template_v1/audit.js.map +1 -1
  220. package/dist/training/template_v1/correctness.js +10 -11
  221. package/dist/training/template_v1/correctness.js.map +1 -1
  222. package/dist/training/template_v1/harvest.d.ts +6 -6
  223. package/dist/training/template_v1/harvest.js +1 -3
  224. package/dist/training/template_v1/harvest.js.map +1 -1
  225. package/dist/training/template_v1/judge.d.ts +1 -1
  226. package/dist/training/template_v1/judge.js +7 -4
  227. package/dist/training/template_v1/judge.js.map +1 -1
  228. package/dist/training/template_v1/multi-propose.d.ts +3 -3
  229. package/dist/training/template_v1/multi-propose.js +3 -2
  230. package/dist/training/template_v1/multi-propose.js.map +1 -1
  231. package/dist/training/template_v1/run.js +34 -17
  232. package/dist/training/template_v1/run.js.map +1 -1
  233. package/dist/training/template_v1/synthesize.js +9 -3
  234. package/dist/training/template_v1/synthesize.js.map +1 -1
  235. package/dist/training/variant_b/brief-loader.js +32 -12
  236. package/dist/training/variant_b/brief-loader.js.map +1 -1
  237. package/dist/training/variant_b/flow.d.ts +2 -2
  238. package/dist/training/variant_b/flow.js +2 -2
  239. package/dist/training/variant_b/flow.js.map +1 -1
  240. package/dist/training/variant_b/generate.js +8 -4
  241. package/dist/training/variant_b/generate.js.map +1 -1
  242. package/dist/training/variant_b/judge.d.ts +2 -3
  243. package/dist/training/variant_b/judge.js.map +1 -1
  244. package/dist/training/variant_b/nodes/collect.d.ts +2 -2
  245. package/dist/training/variant_b/nodes/collect.js.map +1 -1
  246. package/dist/training/variant_b/nodes/generate.js +12 -3
  247. package/dist/training/variant_b/nodes/generate.js.map +1 -1
  248. package/dist/training/variant_b/nodes/judge.js.map +1 -1
  249. package/dist/training/variant_b/nodes/promote.d.ts +2 -2
  250. package/dist/training/variant_b/nodes/promote.js.map +1 -1
  251. package/dist/training/variant_b/nodes/rank.js.map +1 -1
  252. package/dist/training/variant_b/nodes/train.js +13 -7
  253. package/dist/training/variant_b/nodes/train.js.map +1 -1
  254. package/dist/training/variant_b/run-flow.js +1 -1
  255. package/dist/training/variant_b/run-flow.js.map +1 -1
  256. package/dist/training/variant_b/train.js +1 -1
  257. package/dist/training/variant_b/train.js.map +1 -1
  258. package/dist/types/compose.d.ts +126 -0
  259. package/dist/types/compose.js +5 -0
  260. package/dist/types/compose.js.map +1 -0
  261. package/dist/types/eval.d.ts +89 -0
  262. package/dist/types/eval.js +5 -0
  263. package/dist/types/eval.js.map +1 -0
  264. package/dist/types/ids.d.ts +46 -0
  265. package/dist/types/ids.js +87 -0
  266. package/dist/types/ids.js.map +1 -0
  267. package/dist/types/index.d.ts +5 -0
  268. package/dist/types/index.js +10 -0
  269. package/dist/types/index.js.map +1 -0
  270. package/dist/types/planner.d.ts +64 -0
  271. package/dist/types/planner.js +4 -0
  272. package/dist/types/planner.js.map +1 -0
  273. package/dist/types/registry-schemas.generated.d.ts +96 -1
  274. package/dist/types/registry-schemas.generated.js +2 -2
  275. package/dist/types/registry-schemas.generated.js.map +1 -1
  276. package/dist/types/registry.d.ts +243 -0
  277. package/dist/types/registry.js +4 -0
  278. package/dist/types/registry.js.map +1 -0
  279. package/dist/types.d.ts +1 -444
  280. package/dist/types.js +6 -1
  281. package/dist/types.js.map +1 -1
  282. package/package.json +107 -51
  283. package/registry/_schemas/agent.schema.json +101 -0
  284. package/registry/_schemas/family.schema.json +62 -2
  285. package/registry/_schemas/layer.schema.json +70 -0
  286. package/registry/families/agent-debug-ui-ts/files/.env.example +13 -0
  287. package/registry/families/agent-debug-ui-ts/files/README.md +78 -0
  288. package/registry/families/agent-debug-ui-ts/files/index.html +12 -0
  289. package/registry/families/agent-debug-ui-ts/files/package.json +28 -0
  290. package/registry/families/agent-debug-ui-ts/files/src/App.tsx +224 -0
  291. package/registry/families/agent-debug-ui-ts/files/src/components/ChatPair.tsx +69 -0
  292. package/registry/families/agent-debug-ui-ts/files/src/components/EventInspector.tsx +36 -0
  293. package/registry/families/agent-debug-ui-ts/files/src/components/EventStream.tsx +122 -0
  294. package/registry/families/agent-debug-ui-ts/files/src/components/ReplayScrubber.tsx +59 -0
  295. package/registry/families/agent-debug-ui-ts/files/src/components/ToolCallTimeline.tsx +136 -0
  296. package/registry/families/agent-debug-ui-ts/files/src/lib/event-types.ts +115 -0
  297. package/registry/families/agent-debug-ui-ts/files/src/lib/sandbox-stream.ts +133 -0
  298. package/registry/families/agent-debug-ui-ts/files/src/main.tsx +13 -0
  299. package/registry/families/agent-debug-ui-ts/files/src/styles.css +382 -0
  300. package/registry/families/agent-debug-ui-ts/files/tsconfig.json +25 -0
  301. package/registry/families/agent-debug-ui-ts/files/tsconfig.node.json +11 -0
  302. package/registry/families/agent-debug-ui-ts/files/vite.config.ts +15 -0
  303. package/registry/families/agent-debug-ui-ts/manifest.json +91 -0
  304. package/registry/families/agent-eval-harness-py/files/.github/workflows/eval.yml +70 -0
  305. package/registry/families/agent-eval-harness-py/files/AGENTS.md +135 -0
  306. package/registry/families/agent-eval-harness-py/files/README.md +145 -0
  307. package/registry/families/agent-eval-harness-py/files/agent.json +30 -0
  308. package/registry/families/agent-eval-harness-py/files/pyproject.toml +48 -0
  309. package/registry/families/agent-eval-harness-py/files/requirements.txt +7 -0
  310. package/registry/families/agent-eval-harness-py/files/scenarios/__init__.py +1 -0
  311. package/registry/families/agent-eval-harness-py/files/scenarios/example.py +50 -0
  312. package/registry/families/agent-eval-harness-py/files/src/eval/__init__.py +57 -0
  313. package/registry/families/agent-eval-harness-py/files/src/eval/__main__.py +10 -0
  314. package/registry/families/agent-eval-harness-py/files/src/eval/cli.py +281 -0
  315. package/registry/families/agent-eval-harness-py/files/src/eval/judges/__init__.py +27 -0
  316. package/registry/families/agent-eval-harness-py/files/src/eval/judges/example_judge.py +52 -0
  317. package/registry/families/agent-eval-harness-py/files/src/eval/judges/rubric.py +299 -0
  318. package/registry/families/agent-eval-harness-py/files/src/eval/regression.py +299 -0
  319. package/registry/families/agent-eval-harness-py/files/src/eval/runner.py +320 -0
  320. package/registry/families/agent-eval-harness-py/files/src/eval/sandbox_runner.py +194 -0
  321. package/registry/families/agent-eval-harness-py/files/src/eval/scorecard.py +192 -0
  322. package/registry/families/agent-eval-harness-py/files/tests/__init__.py +0 -0
  323. package/registry/families/agent-eval-harness-py/files/tests/test_regression.py +266 -0
  324. package/registry/families/agent-eval-harness-py/files/tests/test_runner.py +291 -0
  325. package/registry/families/agent-eval-harness-py/files/tests/test_sandbox.py +258 -0
  326. package/registry/families/agent-eval-harness-py/manifest.json +209 -0
  327. package/registry/families/agent-eval-harness-ts/files/.github/workflows/eval.yml +55 -0
  328. package/registry/families/agent-eval-harness-ts/files/AGENTS.md +114 -0
  329. package/registry/families/agent-eval-harness-ts/files/README.md +138 -0
  330. package/registry/families/agent-eval-harness-ts/files/agent.json +32 -0
  331. package/registry/families/agent-eval-harness-ts/files/judges/example.judge.ts +23 -0
  332. package/registry/families/agent-eval-harness-ts/files/package.json +24 -0
  333. package/registry/families/agent-eval-harness-ts/files/scenarios/.gitkeep +0 -0
  334. package/registry/families/agent-eval-harness-ts/files/scenarios/example.scenario.ts +34 -0
  335. package/registry/families/agent-eval-harness-ts/files/src/eval/campaign.ts +137 -0
  336. package/registry/families/agent-eval-harness-ts/files/src/eval/cli.ts +65 -0
  337. package/registry/families/agent-eval-harness-ts/files/src/eval/runner.ts +384 -0
  338. package/registry/families/agent-eval-harness-ts/files/src/eval/scorecard.ts +89 -0
  339. package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-bad/missing-thesis.scenario.ts +14 -0
  340. package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-good/example.scenario.ts +15 -0
  341. package/registry/families/agent-eval-harness-ts/files/tests/scenario-loader-import.test.ts +63 -0
  342. package/registry/families/agent-eval-harness-ts/files/tsconfig.json +24 -0
  343. package/registry/families/agent-eval-harness-ts/manifest.json +123 -0
  344. package/registry/families/agent-eval-ui-ts/files/.env.example +12 -0
  345. package/registry/families/agent-eval-ui-ts/files/README.md +66 -0
  346. package/registry/families/agent-eval-ui-ts/files/index.html +12 -0
  347. package/registry/families/agent-eval-ui-ts/files/package.json +30 -0
  348. package/registry/families/agent-eval-ui-ts/files/src/App.tsx +148 -0
  349. package/registry/families/agent-eval-ui-ts/files/src/components/RunDiff.tsx +91 -0
  350. package/registry/families/agent-eval-ui-ts/files/src/components/ScoreRadar.tsx +78 -0
  351. package/registry/families/agent-eval-ui-ts/files/src/components/TraceDetail.tsx +168 -0
  352. package/registry/families/agent-eval-ui-ts/files/src/components/TraceList.tsx +98 -0
  353. package/registry/families/agent-eval-ui-ts/files/src/lib/scoring.ts +124 -0
  354. package/registry/families/agent-eval-ui-ts/files/src/lib/traces.ts +301 -0
  355. package/registry/families/agent-eval-ui-ts/files/src/main.tsx +16 -0
  356. package/registry/families/agent-eval-ui-ts/files/src/styles.css +140 -0
  357. package/registry/families/agent-eval-ui-ts/files/tsconfig.json +24 -0
  358. package/registry/families/agent-eval-ui-ts/files/vite.config.ts +64 -0
  359. package/registry/families/agent-eval-ui-ts/manifest.json +101 -0
  360. package/registry/families/agent-marketplace-ui-ts/files/.env.example +19 -0
  361. package/registry/families/agent-marketplace-ui-ts/files/README.md +54 -0
  362. package/registry/families/agent-marketplace-ui-ts/files/next.config.js +18 -0
  363. package/registry/families/agent-marketplace-ui-ts/files/package.json +31 -0
  364. package/registry/families/agent-marketplace-ui-ts/files/src/app/bundles/[id]/page.tsx +78 -0
  365. package/registry/families/agent-marketplace-ui-ts/files/src/app/deploy/[id]/page.tsx +28 -0
  366. package/registry/families/agent-marketplace-ui-ts/files/src/app/layout.tsx +35 -0
  367. package/registry/families/agent-marketplace-ui-ts/files/src/app/page-client.tsx +26 -0
  368. package/registry/families/agent-marketplace-ui-ts/files/src/app/page.tsx +39 -0
  369. package/registry/families/agent-marketplace-ui-ts/files/src/components/AgentsMdPreview.tsx +132 -0
  370. package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleCard.tsx +34 -0
  371. package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleGrid.tsx +23 -0
  372. package/registry/families/agent-marketplace-ui-ts/files/src/components/DeployFlow.tsx +263 -0
  373. package/registry/families/agent-marketplace-ui-ts/files/src/components/SearchFilters.tsx +61 -0
  374. package/registry/families/agent-marketplace-ui-ts/files/src/lib/catalog.ts +208 -0
  375. package/registry/families/agent-marketplace-ui-ts/files/src/lib/search.ts +54 -0
  376. package/registry/families/agent-marketplace-ui-ts/files/src/styles/globals.css +244 -0
  377. package/registry/families/agent-marketplace-ui-ts/files/tsconfig.json +27 -0
  378. package/registry/families/agent-marketplace-ui-ts/manifest.json +104 -0
  379. package/registry/families/agent-research-harness-py/files/.github/workflows/research.yml +45 -0
  380. package/registry/families/agent-research-harness-py/files/AGENTS.md +87 -0
  381. package/registry/families/agent-research-harness-py/files/README.md +63 -0
  382. package/registry/families/agent-research-harness-py/files/agent.json +45 -0
  383. package/registry/families/agent-research-harness-py/files/hypotheses/README.md +45 -0
  384. package/registry/families/agent-research-harness-py/files/hypotheses/example.json +29 -0
  385. package/registry/families/agent-research-harness-py/files/hypotheses/queue.json +1 -0
  386. package/registry/families/agent-research-harness-py/files/pyproject.toml +33 -0
  387. package/registry/families/agent-research-harness-py/files/requirements.txt +6 -0
  388. package/registry/families/agent-research-harness-py/files/src/research/__init__.py +37 -0
  389. package/registry/families/agent-research-harness-py/files/src/research/__main__.py +6 -0
  390. package/registry/families/agent-research-harness-py/files/src/research/cli.py +146 -0
  391. package/registry/families/agent-research-harness-py/files/src/research/proposer.py +140 -0
  392. package/registry/families/agent-research-harness-py/files/src/research/runner.py +230 -0
  393. package/registry/families/agent-research-harness-py/files/src/research/sandbox_runner.py +180 -0
  394. package/registry/families/agent-research-harness-py/files/src/research/screener.py +55 -0
  395. package/registry/families/agent-research-harness-py/files/src/research/types.py +128 -0
  396. package/registry/families/agent-research-harness-py/files/src/research/validator.py +305 -0
  397. package/registry/families/agent-research-harness-py/files/tests/__init__.py +0 -0
  398. package/registry/families/agent-research-harness-py/files/tests/test_sandbox.py +181 -0
  399. package/registry/families/agent-research-harness-py/files/tests/test_screener.py +74 -0
  400. package/registry/families/agent-research-harness-py/files/tests/test_validator.py +250 -0
  401. package/registry/families/agent-research-harness-py/manifest.json +199 -0
  402. package/registry/families/agent-research-harness-ts/files/.github/workflows/research.yml +65 -0
  403. package/registry/families/agent-research-harness-ts/files/AGENTS.md +121 -0
  404. package/registry/families/agent-research-harness-ts/files/README.md +155 -0
  405. package/registry/families/agent-research-harness-ts/files/agent.json +31 -0
  406. package/registry/families/agent-research-harness-ts/files/hypotheses/README.md +79 -0
  407. package/registry/families/agent-research-harness-ts/files/hypotheses/example.json +18 -0
  408. package/registry/families/agent-research-harness-ts/files/hypotheses/queue.json +3 -0
  409. package/registry/families/agent-research-harness-ts/files/package.json +35 -0
  410. package/registry/families/agent-research-harness-ts/files/src/research/cli.ts +160 -0
  411. package/registry/families/agent-research-harness-ts/files/src/research/proposer.ts +215 -0
  412. package/registry/families/agent-research-harness-ts/files/src/research/runner.ts +253 -0
  413. package/registry/families/agent-research-harness-ts/files/src/research/screener.ts +105 -0
  414. package/registry/families/agent-research-harness-ts/files/src/research/types.ts +143 -0
  415. package/registry/families/agent-research-harness-ts/files/src/research/validator.ts +310 -0
  416. package/registry/families/agent-research-harness-ts/files/tests/research-runner.test.ts +422 -0
  417. package/registry/families/agent-research-harness-ts/files/tests/screener.test.ts +93 -0
  418. package/registry/families/agent-research-harness-ts/files/tests/validator.test.ts +149 -0
  419. package/registry/families/agent-research-harness-ts/files/tsconfig.json +19 -0
  420. package/registry/families/agent-research-harness-ts/manifest.json +108 -0
  421. package/registry/families/agent-runtime-account-executive-ts/files/AGENTS.md +66 -0
  422. package/registry/families/agent-runtime-account-executive-ts/files/README.md +25 -0
  423. package/registry/families/agent-runtime-account-executive-ts/files/TOOLS.md +23 -0
  424. package/registry/families/agent-runtime-account-executive-ts/files/agent.json +40 -0
  425. package/registry/families/agent-runtime-account-executive-ts/files/methodology/deal-progression.md +40 -0
  426. package/registry/families/agent-runtime-account-executive-ts/files/methodology/index.json +25 -0
  427. package/registry/families/agent-runtime-account-executive-ts/files/methodology/opportunity-scoring.md +60 -0
  428. package/registry/families/agent-runtime-account-executive-ts/files/methodology/pipeline-review.md +35 -0
  429. package/registry/families/agent-runtime-account-executive-ts/manifest.json +151 -0
  430. package/registry/families/agent-runtime-architect-ts/files/AGENTS.md +66 -0
  431. package/registry/families/agent-runtime-architect-ts/files/README.md +29 -0
  432. package/registry/families/agent-runtime-architect-ts/files/TOOLS.md +23 -0
  433. package/registry/families/agent-runtime-architect-ts/files/agent.json +38 -0
  434. package/registry/families/agent-runtime-architect-ts/files/methodology/architecture-decision-record.md +157 -0
  435. package/registry/families/agent-runtime-architect-ts/files/methodology/index.json +25 -0
  436. package/registry/families/agent-runtime-architect-ts/files/methodology/system-design-canvas.md +33 -0
  437. package/registry/families/agent-runtime-architect-ts/files/methodology/trade-off-analysis.md +146 -0
  438. package/registry/families/agent-runtime-architect-ts/manifest.json +146 -0
  439. package/registry/families/agent-runtime-auditor-ts/files/AGENTS.md +99 -0
  440. package/registry/families/agent-runtime-auditor-ts/files/README.md +28 -0
  441. package/registry/families/agent-runtime-auditor-ts/files/agent.json +36 -0
  442. package/registry/families/agent-runtime-auditor-ts/files/methodology/control-walkthrough.md +80 -0
  443. package/registry/families/agent-runtime-auditor-ts/files/methodology/deficiency-write-up.md +101 -0
  444. package/registry/families/agent-runtime-auditor-ts/files/methodology/evidence-request-list.md +84 -0
  445. package/registry/families/agent-runtime-auditor-ts/files/methodology/index.json +22 -0
  446. package/registry/families/agent-runtime-auditor-ts/manifest.json +96 -0
  447. package/registry/families/agent-runtime-biology-research-ts/files/AGENTS.md +85 -0
  448. package/registry/families/agent-runtime-biology-research-ts/files/README.md +46 -0
  449. package/registry/families/agent-runtime-biology-research-ts/files/methodology/experimental-design.md +134 -0
  450. package/registry/families/agent-runtime-biology-research-ts/files/methodology/index.json +25 -0
  451. package/registry/families/agent-runtime-biology-research-ts/files/methodology/literature-search.md +105 -0
  452. package/registry/families/agent-runtime-biology-research-ts/files/methodology/sequence-analysis.md +109 -0
  453. package/registry/families/agent-runtime-biology-research-ts/manifest.json +89 -0
  454. package/registry/families/agent-runtime-business-partner-ts/files/AGENTS.md +129 -0
  455. package/registry/families/agent-runtime-business-partner-ts/files/README.md +94 -0
  456. package/registry/families/agent-runtime-business-partner-ts/files/TOOLS.md +32 -0
  457. package/registry/families/agent-runtime-business-partner-ts/files/agent.json +40 -0
  458. package/registry/families/agent-runtime-business-partner-ts/files/methodology/decision-journal.md +149 -0
  459. package/registry/families/agent-runtime-business-partner-ts/files/methodology/index.json +25 -0
  460. package/registry/families/agent-runtime-business-partner-ts/files/methodology/okr-design.md +130 -0
  461. package/registry/families/agent-runtime-business-partner-ts/files/methodology/weekly-review-protocol.md +103 -0
  462. package/registry/families/agent-runtime-business-partner-ts/manifest.json +194 -0
  463. package/registry/families/agent-runtime-career-coach-ts/files/AGENTS.md +62 -0
  464. package/registry/families/agent-runtime-career-coach-ts/files/README.md +39 -0
  465. package/registry/families/agent-runtime-career-coach-ts/files/TOOLS.md +23 -0
  466. package/registry/families/agent-runtime-career-coach-ts/files/agent.json +40 -0
  467. package/registry/families/agent-runtime-career-coach-ts/files/methodology/decision-framework.md +36 -0
  468. package/registry/families/agent-runtime-career-coach-ts/files/methodology/index.json +25 -0
  469. package/registry/families/agent-runtime-career-coach-ts/files/methodology/market-positioning.md +38 -0
  470. package/registry/families/agent-runtime-career-coach-ts/files/methodology/self-assessment.md +37 -0
  471. package/registry/families/agent-runtime-career-coach-ts/manifest.json +142 -0
  472. package/registry/families/agent-runtime-chef-ts/files/AGENTS.md +75 -0
  473. package/registry/families/agent-runtime-chef-ts/files/README.md +35 -0
  474. package/registry/families/agent-runtime-chef-ts/files/TOOLS.md +30 -0
  475. package/registry/families/agent-runtime-chef-ts/files/agent.json +38 -0
  476. package/registry/families/agent-runtime-chef-ts/files/methodology/index.json +25 -0
  477. package/registry/families/agent-runtime-chef-ts/files/methodology/meal-planning.md +90 -0
  478. package/registry/families/agent-runtime-chef-ts/files/methodology/recipe-development.md +96 -0
  479. package/registry/families/agent-runtime-chef-ts/files/methodology/technique-guidance.md +90 -0
  480. package/registry/families/agent-runtime-chef-ts/manifest.json +148 -0
  481. package/registry/families/agent-runtime-chemistry-research-ts/files/AGENTS.md +80 -0
  482. package/registry/families/agent-runtime-chemistry-research-ts/files/README.md +28 -0
  483. package/registry/families/agent-runtime-chemistry-research-ts/files/TOOLS.md +32 -0
  484. package/registry/families/agent-runtime-chemistry-research-ts/files/agent.json +39 -0
  485. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/compound-data-extraction.md +104 -0
  486. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/index.json +25 -0
  487. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/literature-search.md +101 -0
  488. package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/reaction-planning.md +125 -0
  489. package/registry/families/agent-runtime-chemistry-research-ts/manifest.json +156 -0
  490. package/registry/families/agent-runtime-cmo-advisor-ts/files/AGENTS.md +86 -0
  491. package/registry/families/agent-runtime-cmo-advisor-ts/files/README.md +52 -0
  492. package/registry/families/agent-runtime-cmo-advisor-ts/files/TOOLS.md +23 -0
  493. package/registry/families/agent-runtime-cmo-advisor-ts/files/agent.json +38 -0
  494. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/channel-experiment-design.md +101 -0
  495. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/icp-deep-dive.md +99 -0
  496. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/index.json +25 -0
  497. package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/positioning-canvas.md +88 -0
  498. package/registry/families/agent-runtime-cmo-advisor-ts/manifest.json +184 -0
  499. package/registry/families/agent-runtime-college-counselor-ts/files/AGENTS.md +66 -0
  500. package/registry/families/agent-runtime-college-counselor-ts/files/README.md +17 -0
  501. package/registry/families/agent-runtime-college-counselor-ts/files/TOOLS.md +23 -0
  502. package/registry/families/agent-runtime-college-counselor-ts/files/agent.json +39 -0
  503. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/application-strategy.md +33 -0
  504. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/essay-coaching.md +146 -0
  505. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/financial-aid-navigation.md +153 -0
  506. package/registry/families/agent-runtime-college-counselor-ts/files/methodology/index.json +25 -0
  507. package/registry/families/agent-runtime-college-counselor-ts/manifest.json +144 -0
  508. package/registry/families/agent-runtime-cs-research-ts/files/AGENTS.md +62 -0
  509. package/registry/families/agent-runtime-cs-research-ts/files/README.md +35 -0
  510. package/registry/families/agent-runtime-cs-research-ts/files/TOOLS.md +33 -0
  511. package/registry/families/agent-runtime-cs-research-ts/files/agent.json +39 -0
  512. package/registry/families/agent-runtime-cs-research-ts/files/methodology/citation-graph-exploration.md +36 -0
  513. package/registry/families/agent-runtime-cs-research-ts/files/methodology/index.json +32 -0
  514. package/registry/families/agent-runtime-cs-research-ts/files/methodology/literature-survey.md +40 -0
  515. package/registry/families/agent-runtime-cs-research-ts/files/methodology/paper-summarization.md +120 -0
  516. package/registry/families/agent-runtime-cs-research-ts/files/methodology/research-question-formulation.md +132 -0
  517. package/registry/families/agent-runtime-cs-research-ts/manifest.json +157 -0
  518. package/registry/families/agent-runtime-cs-tutor-ts/files/AGENTS.md +58 -0
  519. package/registry/families/agent-runtime-cs-tutor-ts/files/README.md +29 -0
  520. package/registry/families/agent-runtime-cs-tutor-ts/files/TOOLS.md +23 -0
  521. package/registry/families/agent-runtime-cs-tutor-ts/files/agent.json +38 -0
  522. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/debug-code.md +33 -0
  523. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/explain-concept.md +34 -0
  524. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/generate-exercise.md +44 -0
  525. package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/index.json +25 -0
  526. package/registry/families/agent-runtime-cs-tutor-ts/manifest.json +145 -0
  527. package/registry/families/agent-runtime-customer-success-ts/files/AGENTS.md +64 -0
  528. package/registry/families/agent-runtime-customer-success-ts/files/README.md +32 -0
  529. package/registry/families/agent-runtime-customer-success-ts/files/TOOLS.md +24 -0
  530. package/registry/families/agent-runtime-customer-success-ts/files/agent.json +40 -0
  531. package/registry/families/agent-runtime-customer-success-ts/files/methodology/escalation-triage.md +44 -0
  532. package/registry/families/agent-runtime-customer-success-ts/files/methodology/health-score.md +41 -0
  533. package/registry/families/agent-runtime-customer-success-ts/files/methodology/index.json +32 -0
  534. package/registry/families/agent-runtime-customer-success-ts/files/methodology/qbr-framework.md +39 -0
  535. package/registry/families/agent-runtime-customer-success-ts/files/methodology/retention-playbook.md +39 -0
  536. package/registry/families/agent-runtime-customer-success-ts/manifest.json +156 -0
  537. package/registry/families/agent-runtime-data-analyst-ts/files/AGENTS.md +62 -0
  538. package/registry/families/agent-runtime-data-analyst-ts/files/README.md +34 -0
  539. package/registry/families/agent-runtime-data-analyst-ts/files/TOOLS.md +24 -0
  540. package/registry/families/agent-runtime-data-analyst-ts/files/agent.json +40 -0
  541. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/ad-hoc-query.md +39 -0
  542. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/dashboard-design.md +127 -0
  543. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/data-quality-audit.md +138 -0
  544. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/exploratory-analysis.md +33 -0
  545. package/registry/families/agent-runtime-data-analyst-ts/files/methodology/index.json +32 -0
  546. package/registry/families/agent-runtime-data-analyst-ts/manifest.json +154 -0
  547. package/registry/families/agent-runtime-designer-ts/files/AGENTS.md +60 -0
  548. package/registry/families/agent-runtime-designer-ts/files/README.md +25 -0
  549. package/registry/families/agent-runtime-designer-ts/files/TOOLS.md +23 -0
  550. package/registry/families/agent-runtime-designer-ts/files/agent.json +39 -0
  551. package/registry/families/agent-runtime-designer-ts/files/methodology/design-critique.md +140 -0
  552. package/registry/families/agent-runtime-designer-ts/files/methodology/index.json +25 -0
  553. package/registry/families/agent-runtime-designer-ts/files/methodology/prototyping-guide.md +32 -0
  554. package/registry/families/agent-runtime-designer-ts/files/methodology/ux-strategy.md +39 -0
  555. package/registry/families/agent-runtime-designer-ts/manifest.json +143 -0
  556. package/registry/families/agent-runtime-devops-ts/files/AGENTS.md +66 -0
  557. package/registry/families/agent-runtime-devops-ts/files/README.md +30 -0
  558. package/registry/families/agent-runtime-devops-ts/files/TOOLS.md +23 -0
  559. package/registry/families/agent-runtime-devops-ts/files/agent.json +40 -0
  560. package/registry/families/agent-runtime-devops-ts/files/methodology/iac-review.md +39 -0
  561. package/registry/families/agent-runtime-devops-ts/files/methodology/incident-response-protocol.md +36 -0
  562. package/registry/families/agent-runtime-devops-ts/files/methodology/index.json +25 -0
  563. package/registry/families/agent-runtime-devops-ts/files/methodology/runbook-automation.md +32 -0
  564. package/registry/families/agent-runtime-devops-ts/manifest.json +149 -0
  565. package/registry/families/agent-runtime-doctor-ts/files/AGENTS.md +70 -0
  566. package/registry/families/agent-runtime-doctor-ts/files/README.md +33 -0
  567. package/registry/families/agent-runtime-doctor-ts/files/TOOLS.md +23 -0
  568. package/registry/families/agent-runtime-doctor-ts/files/agent.json +38 -0
  569. package/registry/families/agent-runtime-doctor-ts/files/methodology/index.json +25 -0
  570. package/registry/families/agent-runtime-doctor-ts/files/methodology/medical-reference.md +42 -0
  571. package/registry/families/agent-runtime-doctor-ts/files/methodology/symptom-explainer.md +34 -0
  572. package/registry/families/agent-runtime-doctor-ts/files/methodology/treatment-overview.md +36 -0
  573. package/registry/families/agent-runtime-doctor-ts/manifest.json +143 -0
  574. package/registry/families/agent-runtime-engineering-manager-ts/files/AGENTS.md +64 -0
  575. package/registry/families/agent-runtime-engineering-manager-ts/files/README.md +18 -0
  576. package/registry/families/agent-runtime-engineering-manager-ts/files/TOOLS.md +24 -0
  577. package/registry/families/agent-runtime-engineering-manager-ts/files/agent.json +41 -0
  578. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/incident-postmortem.md +124 -0
  579. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/index.json +32 -0
  580. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/one-on-one-cadence.md +109 -0
  581. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/sprint-planning.md +122 -0
  582. package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/tech-debt-triage.md +113 -0
  583. package/registry/families/agent-runtime-engineering-manager-ts/manifest.json +154 -0
  584. package/registry/families/agent-runtime-essay-coach-ts/files/AGENTS.md +62 -0
  585. package/registry/families/agent-runtime-essay-coach-ts/files/README.md +24 -0
  586. package/registry/families/agent-runtime-essay-coach-ts/files/TOOLS.md +23 -0
  587. package/registry/families/agent-runtime-essay-coach-ts/files/agent.json +38 -0
  588. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/argument-structuring.md +30 -0
  589. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/index.json +25 -0
  590. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/revision-cycle.md +32 -0
  591. package/registry/families/agent-runtime-essay-coach-ts/files/methodology/thesis-development.md +38 -0
  592. package/registry/families/agent-runtime-essay-coach-ts/manifest.json +145 -0
  593. package/registry/families/agent-runtime-financial-analyst-ts/files/AGENTS.md +67 -0
  594. package/registry/families/agent-runtime-financial-analyst-ts/files/README.md +19 -0
  595. package/registry/families/agent-runtime-financial-analyst-ts/files/TOOLS.md +23 -0
  596. package/registry/families/agent-runtime-financial-analyst-ts/files/agent.json +38 -0
  597. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/equity-research.md +145 -0
  598. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/financial-modeling.md +132 -0
  599. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/index.json +25 -0
  600. package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/investment-memo.md +146 -0
  601. package/registry/families/agent-runtime-financial-analyst-ts/manifest.json +145 -0
  602. package/registry/families/agent-runtime-fitness-coach-ts/files/AGENTS.md +141 -0
  603. package/registry/families/agent-runtime-fitness-coach-ts/files/README.md +76 -0
  604. package/registry/families/agent-runtime-fitness-coach-ts/files/TOOLS.md +30 -0
  605. package/registry/families/agent-runtime-fitness-coach-ts/files/agent.json +38 -0
  606. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/deload-prompt.md +106 -0
  607. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/form-check-protocol.md +136 -0
  608. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/index.json +26 -0
  609. package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/weekly-program.md +115 -0
  610. package/registry/families/agent-runtime-fitness-coach-ts/manifest.json +193 -0
  611. package/registry/families/agent-runtime-friend-ts/files/AGENTS.md +82 -0
  612. package/registry/families/agent-runtime-friend-ts/files/README.md +32 -0
  613. package/registry/families/agent-runtime-friend-ts/files/agent.json +35 -0
  614. package/registry/families/agent-runtime-friend-ts/files/methodology/check-in-protocol.md +54 -0
  615. package/registry/families/agent-runtime-friend-ts/files/methodology/index.json +22 -0
  616. package/registry/families/agent-runtime-friend-ts/files/methodology/rapport-warm.md +50 -0
  617. package/registry/families/agent-runtime-friend-ts/files/methodology/topic-pivot.md +53 -0
  618. package/registry/families/agent-runtime-friend-ts/manifest.json +92 -0
  619. package/registry/families/agent-runtime-game-designer-ts/files/AGENTS.md +56 -0
  620. package/registry/families/agent-runtime-game-designer-ts/files/README.md +32 -0
  621. package/registry/families/agent-runtime-game-designer-ts/files/TOOLS.md +23 -0
  622. package/registry/families/agent-runtime-game-designer-ts/files/agent.json +38 -0
  623. package/registry/families/agent-runtime-game-designer-ts/files/methodology/index.json +25 -0
  624. package/registry/families/agent-runtime-game-designer-ts/files/methodology/mechanic-design.md +110 -0
  625. package/registry/families/agent-runtime-game-designer-ts/files/methodology/narrative-system.md +135 -0
  626. package/registry/families/agent-runtime-game-designer-ts/files/methodology/player-loop.md +143 -0
  627. package/registry/families/agent-runtime-game-designer-ts/manifest.json +150 -0
  628. package/registry/families/agent-runtime-grant-writer-ts/files/AGENTS.md +60 -0
  629. package/registry/families/agent-runtime-grant-writer-ts/files/README.md +17 -0
  630. package/registry/families/agent-runtime-grant-writer-ts/files/TOOLS.md +23 -0
  631. package/registry/families/agent-runtime-grant-writer-ts/files/agent.json +38 -0
  632. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/deadline-tracker.md +140 -0
  633. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/grant-proposal-canvas.md +37 -0
  634. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/index.json +25 -0
  635. package/registry/families/agent-runtime-grant-writer-ts/files/methodology/reporting-template.md +30 -0
  636. package/registry/families/agent-runtime-grant-writer-ts/manifest.json +148 -0
  637. package/registry/families/agent-runtime-history-tutor-ts/files/AGENTS.md +59 -0
  638. package/registry/families/agent-runtime-history-tutor-ts/files/README.md +22 -0
  639. package/registry/families/agent-runtime-history-tutor-ts/files/TOOLS.md +23 -0
  640. package/registry/families/agent-runtime-history-tutor-ts/files/agent.json +39 -0
  641. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/historiographic-debate.md +123 -0
  642. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/index.json +25 -0
  643. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/source-analysis.md +117 -0
  644. package/registry/families/agent-runtime-history-tutor-ts/files/methodology/timeline-reasoning.md +134 -0
  645. package/registry/families/agent-runtime-history-tutor-ts/manifest.json +145 -0
  646. package/registry/families/agent-runtime-illustrator-ts/files/AGENTS.md +64 -0
  647. package/registry/families/agent-runtime-illustrator-ts/files/README.md +29 -0
  648. package/registry/families/agent-runtime-illustrator-ts/files/TOOLS.md +23 -0
  649. package/registry/families/agent-runtime-illustrator-ts/files/agent.json +39 -0
  650. package/registry/families/agent-runtime-illustrator-ts/files/methodology/art-direction-canvas.md +31 -0
  651. package/registry/families/agent-runtime-illustrator-ts/files/methodology/composition-guide.md +36 -0
  652. package/registry/families/agent-runtime-illustrator-ts/files/methodology/index.json +25 -0
  653. package/registry/families/agent-runtime-illustrator-ts/files/methodology/style-development.md +39 -0
  654. package/registry/families/agent-runtime-illustrator-ts/manifest.json +146 -0
  655. package/registry/families/agent-runtime-language-tutor-ts/files/AGENTS.md +111 -0
  656. package/registry/families/agent-runtime-language-tutor-ts/files/README.md +101 -0
  657. package/registry/families/agent-runtime-language-tutor-ts/files/TOOLS.md +30 -0
  658. package/registry/families/agent-runtime-language-tutor-ts/files/agent.json +38 -0
  659. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/daily-conversation-prompt.md +103 -0
  660. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/index.json +27 -0
  661. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/shadowing-protocol.md +102 -0
  662. package/registry/families/agent-runtime-language-tutor-ts/files/methodology/vocabulary-drill.md +121 -0
  663. package/registry/families/agent-runtime-language-tutor-ts/manifest.json +187 -0
  664. package/registry/families/agent-runtime-legal-counsel-ts/files/AGENTS.md +114 -0
  665. package/registry/families/agent-runtime-legal-counsel-ts/files/README.md +77 -0
  666. package/registry/families/agent-runtime-legal-counsel-ts/files/TOOLS.md +24 -0
  667. package/registry/families/agent-runtime-legal-counsel-ts/files/agent.json +38 -0
  668. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/contract-redline-protocol.md +111 -0
  669. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/index.json +25 -0
  670. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/msa-checklist.md +190 -0
  671. package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/nda-checklist.md +122 -0
  672. package/registry/families/agent-runtime-legal-counsel-ts/manifest.json +178 -0
  673. package/registry/families/agent-runtime-math-research-ts/files/AGENTS.md +67 -0
  674. package/registry/families/agent-runtime-math-research-ts/files/README.md +18 -0
  675. package/registry/families/agent-runtime-math-research-ts/files/TOOLS.md +32 -0
  676. package/registry/families/agent-runtime-math-research-ts/files/agent.json +39 -0
  677. package/registry/families/agent-runtime-math-research-ts/files/methodology/index.json +25 -0
  678. package/registry/families/agent-runtime-math-research-ts/files/methodology/literature-review.md +106 -0
  679. package/registry/families/agent-runtime-math-research-ts/files/methodology/mathematical-reasoning.md +126 -0
  680. package/registry/families/agent-runtime-math-research-ts/files/methodology/proof-verification.md +140 -0
  681. package/registry/families/agent-runtime-math-research-ts/manifest.json +150 -0
  682. package/registry/families/agent-runtime-math-tutor-ts/files/AGENTS.md +70 -0
  683. package/registry/families/agent-runtime-math-tutor-ts/files/README.md +37 -0
  684. package/registry/families/agent-runtime-math-tutor-ts/files/TOOLS.md +23 -0
  685. package/registry/families/agent-runtime-math-tutor-ts/files/agent.json +38 -0
  686. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/concept-explanation.md +67 -0
  687. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/index.json +25 -0
  688. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/problem-generation.md +47 -0
  689. package/registry/families/agent-runtime-math-tutor-ts/files/methodology/step-by-step-solution.md +58 -0
  690. package/registry/families/agent-runtime-math-tutor-ts/manifest.json +143 -0
  691. package/registry/families/agent-runtime-mediator-ts/files/AGENTS.md +75 -0
  692. package/registry/families/agent-runtime-mediator-ts/files/README.md +30 -0
  693. package/registry/families/agent-runtime-mediator-ts/files/TOOLS.md +30 -0
  694. package/registry/families/agent-runtime-mediator-ts/files/agent.json +38 -0
  695. package/registry/families/agent-runtime-mediator-ts/files/methodology/agreement-drafting.md +36 -0
  696. package/registry/families/agent-runtime-mediator-ts/files/methodology/de-escalation-protocol.md +41 -0
  697. package/registry/families/agent-runtime-mediator-ts/files/methodology/index.json +26 -0
  698. package/registry/families/agent-runtime-mediator-ts/files/methodology/structured-dialogue.md +42 -0
  699. package/registry/families/agent-runtime-mediator-ts/manifest.json +147 -0
  700. package/registry/families/agent-runtime-meditation-coach-ts/files/AGENTS.md +74 -0
  701. package/registry/families/agent-runtime-meditation-coach-ts/files/README.md +26 -0
  702. package/registry/families/agent-runtime-meditation-coach-ts/files/TOOLS.md +30 -0
  703. package/registry/families/agent-runtime-meditation-coach-ts/files/agent.json +38 -0
  704. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/guided-session.md +33 -0
  705. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/index.json +26 -0
  706. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/mindfulness-check.md +139 -0
  707. package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/technique-cue.md +141 -0
  708. package/registry/families/agent-runtime-meditation-coach-ts/manifest.json +148 -0
  709. package/registry/families/agent-runtime-ml-research-ts/files/AGENTS.md +71 -0
  710. package/registry/families/agent-runtime-ml-research-ts/files/README.md +19 -0
  711. package/registry/families/agent-runtime-ml-research-ts/files/TOOLS.md +32 -0
  712. package/registry/families/agent-runtime-ml-research-ts/files/agent.json +39 -0
  713. package/registry/families/agent-runtime-ml-research-ts/files/methodology/experiment-design.md +141 -0
  714. package/registry/families/agent-runtime-ml-research-ts/files/methodology/index.json +25 -0
  715. package/registry/families/agent-runtime-ml-research-ts/files/methodology/literature-review.md +115 -0
  716. package/registry/families/agent-runtime-ml-research-ts/files/methodology/result-interpretation.md +141 -0
  717. package/registry/families/agent-runtime-ml-research-ts/manifest.json +149 -0
  718. package/registry/families/agent-runtime-music-producer-ts/files/AGENTS.md +55 -0
  719. package/registry/families/agent-runtime-music-producer-ts/files/README.md +60 -0
  720. package/registry/families/agent-runtime-music-producer-ts/files/TOOLS.md +40 -0
  721. package/registry/families/agent-runtime-music-producer-ts/files/agent.json +38 -0
  722. package/registry/families/agent-runtime-music-producer-ts/files/methodology/arrangement-review.md +83 -0
  723. package/registry/families/agent-runtime-music-producer-ts/files/methodology/index.json +29 -0
  724. package/registry/families/agent-runtime-music-producer-ts/files/methodology/listening-prompt.md +78 -0
  725. package/registry/families/agent-runtime-music-producer-ts/files/methodology/mix-feedback.md +74 -0
  726. package/registry/families/agent-runtime-music-producer-ts/manifest.json +160 -0
  727. package/registry/families/agent-runtime-novelist-coach-ts/files/AGENTS.md +109 -0
  728. package/registry/families/agent-runtime-novelist-coach-ts/files/README.md +76 -0
  729. package/registry/families/agent-runtime-novelist-coach-ts/files/TOOLS.md +23 -0
  730. package/registry/families/agent-runtime-novelist-coach-ts/files/agent.json +38 -0
  731. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/beat-sheet-review.md +136 -0
  732. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/index.json +25 -0
  733. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/scene-card-protocol.md +104 -0
  734. package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/voice-audit.md +123 -0
  735. package/registry/families/agent-runtime-novelist-coach-ts/manifest.json +194 -0
  736. package/registry/families/agent-runtime-nutritionist-ts/files/AGENTS.md +73 -0
  737. package/registry/families/agent-runtime-nutritionist-ts/files/README.md +33 -0
  738. package/registry/families/agent-runtime-nutritionist-ts/files/TOOLS.md +23 -0
  739. package/registry/families/agent-runtime-nutritionist-ts/files/agent.json +40 -0
  740. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/dietary-assessment.md +153 -0
  741. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/index.json +25 -0
  742. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/macro-targets.md +171 -0
  743. package/registry/families/agent-runtime-nutritionist-ts/files/methodology/meal-plan.md +33 -0
  744. package/registry/families/agent-runtime-nutritionist-ts/manifest.json +145 -0
  745. package/registry/families/agent-runtime-pentester-ts/files/AGENTS.md +66 -0
  746. package/registry/families/agent-runtime-pentester-ts/files/README.md +24 -0
  747. package/registry/families/agent-runtime-pentester-ts/files/TOOLS.md +23 -0
  748. package/registry/families/agent-runtime-pentester-ts/files/agent.json +39 -0
  749. package/registry/families/agent-runtime-pentester-ts/files/methodology/ctf-coaching.md +34 -0
  750. package/registry/families/agent-runtime-pentester-ts/files/methodology/exploit-analysis.md +31 -0
  751. package/registry/families/agent-runtime-pentester-ts/files/methodology/index.json +25 -0
  752. package/registry/families/agent-runtime-pentester-ts/files/methodology/vulnerability-research.md +35 -0
  753. package/registry/families/agent-runtime-pentester-ts/manifest.json +152 -0
  754. package/registry/families/agent-runtime-pharmacist-ts/files/AGENTS.md +77 -0
  755. package/registry/families/agent-runtime-pharmacist-ts/files/README.md +26 -0
  756. package/registry/families/agent-runtime-pharmacist-ts/files/TOOLS.md +24 -0
  757. package/registry/families/agent-runtime-pharmacist-ts/files/agent.json +39 -0
  758. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/adverse-effect-monitoring.md +155 -0
  759. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/dosing-guidance.md +41 -0
  760. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-information.md +47 -0
  761. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-interaction-check.md +35 -0
  762. package/registry/families/agent-runtime-pharmacist-ts/files/methodology/index.json +32 -0
  763. package/registry/families/agent-runtime-pharmacist-ts/manifest.json +156 -0
  764. package/registry/families/agent-runtime-photographer-ts/files/AGENTS.md +55 -0
  765. package/registry/families/agent-runtime-photographer-ts/files/README.md +35 -0
  766. package/registry/families/agent-runtime-photographer-ts/files/TOOLS.md +23 -0
  767. package/registry/families/agent-runtime-photographer-ts/files/agent.json +40 -0
  768. package/registry/families/agent-runtime-photographer-ts/files/methodology/composition-canvas.md +36 -0
  769. package/registry/families/agent-runtime-photographer-ts/files/methodology/index.json +25 -0
  770. package/registry/families/agent-runtime-photographer-ts/files/methodology/lighting-setup-design.md +34 -0
  771. package/registry/families/agent-runtime-photographer-ts/files/methodology/post-production-workflow.md +32 -0
  772. package/registry/families/agent-runtime-photographer-ts/manifest.json +148 -0
  773. package/registry/families/agent-runtime-physics-research-ts/files/AGENTS.md +69 -0
  774. package/registry/families/agent-runtime-physics-research-ts/files/README.md +26 -0
  775. package/registry/families/agent-runtime-physics-research-ts/files/agent.json +36 -0
  776. package/registry/families/agent-runtime-physics-research-ts/files/methodology/citation-analysis.md +110 -0
  777. package/registry/families/agent-runtime-physics-research-ts/files/methodology/experimental-design.md +129 -0
  778. package/registry/families/agent-runtime-physics-research-ts/files/methodology/index.json +25 -0
  779. package/registry/families/agent-runtime-physics-research-ts/files/methodology/literature-search.md +113 -0
  780. package/registry/families/agent-runtime-physics-research-ts/files/templates/citation-analysis.md +37 -0
  781. package/registry/families/agent-runtime-physics-research-ts/files/templates/experimental-design.md +45 -0
  782. package/registry/families/agent-runtime-physics-research-ts/files/templates/index.json +25 -0
  783. package/registry/families/agent-runtime-physics-research-ts/files/templates/literature-search.md +32 -0
  784. package/registry/families/agent-runtime-physics-research-ts/files/wrangler.toml +22 -0
  785. package/registry/families/agent-runtime-physics-research-ts/manifest.json +162 -0
  786. package/registry/families/agent-runtime-product-manager-ts/files/AGENTS.md +58 -0
  787. package/registry/families/agent-runtime-product-manager-ts/files/README.md +30 -0
  788. package/registry/families/agent-runtime-product-manager-ts/files/TOOLS.md +23 -0
  789. package/registry/families/agent-runtime-product-manager-ts/files/agent.json +39 -0
  790. package/registry/families/agent-runtime-product-manager-ts/files/methodology/discovery-cycle.md +38 -0
  791. package/registry/families/agent-runtime-product-manager-ts/files/methodology/index.json +25 -0
  792. package/registry/families/agent-runtime-product-manager-ts/files/methodology/prioritization-framework.md +41 -0
  793. package/registry/families/agent-runtime-product-manager-ts/files/methodology/product-strategy-canvas.md +42 -0
  794. package/registry/families/agent-runtime-product-manager-ts/manifest.json +144 -0
  795. package/registry/families/agent-runtime-real-estate-ts/files/AGENTS.md +162 -0
  796. package/registry/families/agent-runtime-real-estate-ts/files/README.md +80 -0
  797. package/registry/families/agent-runtime-real-estate-ts/files/TOOLS.md +23 -0
  798. package/registry/families/agent-runtime-real-estate-ts/files/agent.json +37 -0
  799. package/registry/families/agent-runtime-real-estate-ts/files/methodology/cap-rate-worksheet.md +180 -0
  800. package/registry/families/agent-runtime-real-estate-ts/files/methodology/comp-analysis.md +137 -0
  801. package/registry/families/agent-runtime-real-estate-ts/files/methodology/index.json +25 -0
  802. package/registry/families/agent-runtime-real-estate-ts/files/methodology/offer-strategy.md +169 -0
  803. package/registry/families/agent-runtime-real-estate-ts/manifest.json +178 -0
  804. package/registry/families/agent-runtime-recruiter-ts/files/AGENTS.md +128 -0
  805. package/registry/families/agent-runtime-recruiter-ts/files/README.md +82 -0
  806. package/registry/families/agent-runtime-recruiter-ts/files/TOOLS.md +23 -0
  807. package/registry/families/agent-runtime-recruiter-ts/files/agent.json +38 -0
  808. package/registry/families/agent-runtime-recruiter-ts/files/methodology/index.json +25 -0
  809. package/registry/families/agent-runtime-recruiter-ts/files/methodology/interview-loop-design.md +135 -0
  810. package/registry/families/agent-runtime-recruiter-ts/files/methodology/jd-drafting-protocol.md +124 -0
  811. package/registry/families/agent-runtime-recruiter-ts/files/methodology/screening-rubric.md +118 -0
  812. package/registry/families/agent-runtime-recruiter-ts/manifest.json +192 -0
  813. package/registry/families/agent-runtime-relationship-coach-ts/files/AGENTS.md +185 -0
  814. package/registry/families/agent-runtime-relationship-coach-ts/files/README.md +90 -0
  815. package/registry/families/agent-runtime-relationship-coach-ts/files/TOOLS.md +30 -0
  816. package/registry/families/agent-runtime-relationship-coach-ts/files/agent.json +39 -0
  817. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/check-in-protocol.md +129 -0
  818. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/communication-tool-practice.md +175 -0
  819. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/conflict-pattern-naming.md +193 -0
  820. package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/index.json +25 -0
  821. package/registry/families/agent-runtime-relationship-coach-ts/manifest.json +224 -0
  822. package/registry/families/agent-runtime-research/files/AGENTS.md +56 -0
  823. package/registry/families/agent-runtime-research/files/README.md +45 -0
  824. package/registry/families/agent-runtime-research/files/TOOLS.md +22 -0
  825. package/registry/families/agent-runtime-research/files/agent.json +37 -0
  826. package/registry/families/agent-runtime-research/files/methodology/index.json +18 -0
  827. package/registry/families/agent-runtime-research/files/methodology/literature-survey.md +59 -0
  828. package/registry/families/agent-runtime-research/files/methodology/proposal-drafting.md +63 -0
  829. package/registry/families/agent-runtime-research/manifest.json +190 -0
  830. package/registry/families/agent-runtime-sales-engineer-ts/files/AGENTS.md +63 -0
  831. package/registry/families/agent-runtime-sales-engineer-ts/files/README.md +37 -0
  832. package/registry/families/agent-runtime-sales-engineer-ts/files/TOOLS.md +23 -0
  833. package/registry/families/agent-runtime-sales-engineer-ts/files/agent.json +39 -0
  834. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/competitive-technical-positioning.md +39 -0
  835. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/demo-script.md +36 -0
  836. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/index.json +25 -0
  837. package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/poc-design.md +43 -0
  838. package/registry/families/agent-runtime-sales-engineer-ts/manifest.json +148 -0
  839. package/registry/families/agent-runtime-screenwriter-ts/files/AGENTS.md +69 -0
  840. package/registry/families/agent-runtime-screenwriter-ts/files/README.md +25 -0
  841. package/registry/families/agent-runtime-screenwriter-ts/files/agent.json +34 -0
  842. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/beat-out-protocol.md +58 -0
  843. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/index.json +22 -0
  844. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/logline-sharpener.md +52 -0
  845. package/registry/families/agent-runtime-screenwriter-ts/files/methodology/scene-rewrite-pass.md +61 -0
  846. package/registry/families/agent-runtime-screenwriter-ts/manifest.json +90 -0
  847. package/registry/families/agent-runtime-security-engineer-ts/files/AGENTS.md +70 -0
  848. package/registry/families/agent-runtime-security-engineer-ts/files/README.md +24 -0
  849. package/registry/families/agent-runtime-security-engineer-ts/files/TOOLS.md +23 -0
  850. package/registry/families/agent-runtime-security-engineer-ts/files/agent.json +39 -0
  851. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/index.json +25 -0
  852. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/security-architecture-review.md +138 -0
  853. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/threat-modeling.md +105 -0
  854. package/registry/families/agent-runtime-security-engineer-ts/files/methodology/vulnerability-triage.md +121 -0
  855. package/registry/families/agent-runtime-security-engineer-ts/manifest.json +144 -0
  856. package/registry/families/agent-runtime-tax-ts/files/AGENTS.md +79 -0
  857. package/registry/families/agent-runtime-tax-ts/files/README.md +49 -0
  858. package/registry/families/agent-runtime-tax-ts/files/TOOLS.md +24 -0
  859. package/registry/families/agent-runtime-tax-ts/files/agent.json +38 -0
  860. package/registry/families/agent-runtime-tax-ts/files/methodology/deadlines.md +91 -0
  861. package/registry/families/agent-runtime-tax-ts/files/methodology/filing-1040.md +119 -0
  862. package/registry/families/agent-runtime-tax-ts/files/methodology/index.json +27 -0
  863. package/registry/families/agent-runtime-tax-ts/files/methodology/refusal-protocol.md +98 -0
  864. package/registry/families/agent-runtime-tax-ts/manifest.json +185 -0
  865. package/registry/families/agent-runtime-therapist-ts/files/AGENTS.md +82 -0
  866. package/registry/families/agent-runtime-therapist-ts/files/README.md +51 -0
  867. package/registry/families/agent-runtime-therapist-ts/files/TOOLS.md +31 -0
  868. package/registry/families/agent-runtime-therapist-ts/files/agent.json +38 -0
  869. package/registry/families/agent-runtime-therapist-ts/files/methodology/escalation-protocol.md +146 -0
  870. package/registry/families/agent-runtime-therapist-ts/files/methodology/index.json +35 -0
  871. package/registry/families/agent-runtime-therapist-ts/files/methodology/listening-protocol.md +76 -0
  872. package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-gad7.md +119 -0
  873. package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-phq9.md +126 -0
  874. package/registry/families/agent-runtime-therapist-ts/manifest.json +197 -0
  875. package/registry/families/agent-runtime-travel-planner-ts/files/AGENTS.md +76 -0
  876. package/registry/families/agent-runtime-travel-planner-ts/files/README.md +15 -0
  877. package/registry/families/agent-runtime-travel-planner-ts/files/TOOLS.md +23 -0
  878. package/registry/families/agent-runtime-travel-planner-ts/files/agent.json +38 -0
  879. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/budget-optimization.md +42 -0
  880. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/index.json +25 -0
  881. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/itinerary-design.md +38 -0
  882. package/registry/families/agent-runtime-travel-planner-ts/files/methodology/logistics-check.md +54 -0
  883. package/registry/families/agent-runtime-travel-planner-ts/manifest.json +130 -0
  884. package/registry/families/agent-runtime-veterinarian-ts/files/AGENTS.md +136 -0
  885. package/registry/families/agent-runtime-veterinarian-ts/files/README.md +94 -0
  886. package/registry/families/agent-runtime-veterinarian-ts/files/TOOLS.md +24 -0
  887. package/registry/families/agent-runtime-veterinarian-ts/files/agent.json +38 -0
  888. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/emergency-triage.md +147 -0
  889. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/husbandry-reference.md +111 -0
  890. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/index.json +28 -0
  891. package/registry/families/agent-runtime-veterinarian-ts/files/methodology/vaccination-framework.md +119 -0
  892. package/registry/families/agent-runtime-veterinarian-ts/manifest.json +183 -0
  893. package/registry/families/agent-runtime-wealth-manager-ts/files/AGENTS.md +123 -0
  894. package/registry/families/agent-runtime-wealth-manager-ts/files/README.md +75 -0
  895. package/registry/families/agent-runtime-wealth-manager-ts/files/TOOLS.md +24 -0
  896. package/registry/families/agent-runtime-wealth-manager-ts/files/agent.json +38 -0
  897. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/allocation-review.md +147 -0
  898. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/index.json +25 -0
  899. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/retirement-projection.md +186 -0
  900. package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/tax-loss-harvest-protocol.md +178 -0
  901. package/registry/families/agent-runtime-wealth-manager-ts/manifest.json +194 -0
  902. package/registry/families/agent-service-ts/files/package.json +3 -1
  903. package/registry/families/agent-swarm-ts/files/package.json +3 -1
  904. package/registry/families/agent-swarm-ts/manifest.json +1 -1
  905. package/registry/families/agent-with-ui-ts/files/README.md +107 -0
  906. package/registry/families/agent-with-ui-ts/files/index.html +12 -0
  907. package/registry/families/agent-with-ui-ts/files/package.json +31 -0
  908. package/registry/families/agent-with-ui-ts/files/postcss.config.cjs +6 -0
  909. package/registry/families/agent-with-ui-ts/files/src/App.tsx +147 -0
  910. package/registry/families/agent-with-ui-ts/files/src/index.css +12 -0
  911. package/registry/families/agent-with-ui-ts/files/src/main.tsx +13 -0
  912. package/registry/families/agent-with-ui-ts/files/tailwind.config.cjs +8 -0
  913. package/registry/families/agent-with-ui-ts/files/tsconfig.json +24 -0
  914. package/registry/families/agent-with-ui-ts/files/vite.config.ts +15 -0
  915. package/registry/families/agent-with-ui-ts/manifest.json +81 -0
  916. package/registry/families/angular-ts/files/package.json +3 -1
  917. package/registry/families/api-service/files/package.json +4 -0
  918. package/registry/families/arkworks-prover/files/Cargo.toml +1 -1
  919. package/registry/families/astro-static/files/package.json +3 -1
  920. package/registry/families/browser-extension-ts/files/package.json +4 -0
  921. package/registry/families/bun-http/files/package.json +3 -1
  922. package/registry/families/cli-ts/files/package.json +3 -1
  923. package/registry/families/cloudflare-worker-ts/files/package.json +3 -1
  924. package/registry/families/crm-backend/files/package.json +10 -2
  925. package/registry/families/ecommerce-headless/files/package.json +10 -2
  926. package/registry/families/electron-desktop-ts/files/package.json +3 -1
  927. package/registry/families/electron-native-os/files/package.json +3 -1
  928. package/registry/families/eleventy-static/files/package.json +3 -1
  929. package/registry/families/evm-infra-ts/files/package.json +4 -0
  930. package/registry/families/expo-react-native-ts/files/package.json +3 -1
  931. package/registry/families/expo-react-native-ts/manifest.json +17 -2
  932. package/registry/families/expo-rn-rich/files/package.json +3 -1
  933. package/registry/families/fhenix-contracts/files/package.json +4 -0
  934. package/registry/families/fhenix-contracts/manifest.json +53 -0
  935. package/registry/families/fhenix-foundry/manifest.json +84 -0
  936. package/registry/families/fhevm-contracts/files/package.json +4 -0
  937. package/registry/families/fhevm-contracts/manifest.json +53 -0
  938. package/registry/families/fintech-ledger-backend/files/package.json +3 -1
  939. package/registry/families/forge-contracts/manifest.json +3 -0
  940. package/registry/families/fraud-ops-console/files/package.json +3 -1
  941. package/registry/families/frontend-static/files/package.json +3 -1
  942. package/registry/families/fullstack-ts/files/package.json +3 -1
  943. package/registry/families/gdpr-compliance-pack/files/package.json +4 -0
  944. package/registry/families/hardhat-contracts/files/package.json +3 -1
  945. package/registry/families/healthcare-hipaa-backend/files/package.json +3 -1
  946. package/registry/families/hipaa-compliance-pack/files/package.json +4 -0
  947. package/registry/families/hls-origin/files/package.json +3 -1
  948. package/registry/families/k12-edtech/files/package.json +10 -2
  949. package/registry/families/kyc-onboarding/files/package.json +4 -0
  950. package/registry/families/legal-case-mgmt/files/package.json +10 -2
  951. package/registry/families/livekit-sfu/files/package.json +3 -1
  952. package/registry/families/mcp-server-ts/files/package.json +5 -1
  953. package/registry/families/multi-agent-creative-studio-ts/files/AGENTS.md +367 -0
  954. package/registry/families/multi-agent-creative-studio-ts/files/README.md +86 -0
  955. package/registry/families/multi-agent-creative-studio-ts/files/agent.json +71 -0
  956. package/registry/families/multi-agent-creative-studio-ts/files/agents.json +70 -0
  957. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/AGENTS.md +168 -0
  958. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/color-palette-design.md +180 -0
  959. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/composition-canvas.md +145 -0
  960. package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/storyboard-protocol.md +169 -0
  961. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/AGENTS.md +141 -0
  962. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/arrangement-review.md +122 -0
  963. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/mix-feedback.md +110 -0
  964. package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/needle-drop-suggestions.md +147 -0
  965. package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/AGENTS.md +153 -0
  966. package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/scene-card-system.md +133 -0
  967. package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/voice-audit.md +155 -0
  968. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/AGENTS.md +147 -0
  969. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/beat-out-protocol.md +123 -0
  970. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/logline-sharpener.md +111 -0
  971. package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/scene-rewrite-pass.md +125 -0
  972. package/registry/families/multi-agent-creative-studio-ts/manifest.json +212 -0
  973. package/registry/families/multi-agent-legal-ops-ts/files/AGENTS.md +404 -0
  974. package/registry/families/multi-agent-legal-ops-ts/files/README.md +151 -0
  975. package/registry/families/multi-agent-legal-ops-ts/files/agent.json +63 -0
  976. package/registry/families/multi-agent-legal-ops-ts/files/agents.json +53 -0
  977. package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/AGENTS.md +187 -0
  978. package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/control-walkthrough.md +142 -0
  979. package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/deficiency-write-up.md +148 -0
  980. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/AGENTS.md +186 -0
  981. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/contract-redline.md +163 -0
  982. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/nda-msa-review.md +273 -0
  983. package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/regulatory-research.md +129 -0
  984. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/AGENTS.md +149 -0
  985. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/conflict-check.md +85 -0
  986. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/fact-pattern-summary.md +101 -0
  987. package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/intake-checklist.md +71 -0
  988. package/registry/families/multi-agent-legal-ops-ts/manifest.json +214 -0
  989. package/registry/families/multi-agent-product-ops-ts/files/AGENTS.md +325 -0
  990. package/registry/families/multi-agent-product-ops-ts/files/README.md +66 -0
  991. package/registry/families/multi-agent-product-ops-ts/files/agent.json +69 -0
  992. package/registry/families/multi-agent-product-ops-ts/files/agents.json +70 -0
  993. package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/AGENTS.md +97 -0
  994. package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/churn-risk-analysis.md +113 -0
  995. package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/qbr-prep.md +103 -0
  996. package/registry/families/multi-agent-product-ops-ts/files/roles/designer/AGENTS.md +90 -0
  997. package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/design-critique.md +76 -0
  998. package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/ux-strategy.md +86 -0
  999. package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/AGENTS.md +99 -0
  1000. package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/sprint-planning.md +102 -0
  1001. package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/tech-feasibility-scoping.md +88 -0
  1002. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/AGENTS.md +87 -0
  1003. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/discovery-cycle.md +76 -0
  1004. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prd-template.md +94 -0
  1005. package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prioritization-rice.md +94 -0
  1006. package/registry/families/multi-agent-product-ops-ts/manifest.json +188 -0
  1007. package/registry/families/multi-agent-research-lab-ts/files/AGENTS.md +352 -0
  1008. package/registry/families/multi-agent-research-lab-ts/files/README.md +84 -0
  1009. package/registry/families/multi-agent-research-lab-ts/files/agent.json +70 -0
  1010. package/registry/families/multi-agent-research-lab-ts/files/agents.json +70 -0
  1011. package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/AGENTS.md +140 -0
  1012. package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/bioinformatics-survey.md +207 -0
  1013. package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/protein-structure-analysis.md +185 -0
  1014. package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/AGENTS.md +127 -0
  1015. package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/crossref-literature-search.md +167 -0
  1016. package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/reaction-mechanism-analysis.md +180 -0
  1017. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/AGENTS.md +156 -0
  1018. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/cross-domain-synthesis.md +150 -0
  1019. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/literature-triage.md +158 -0
  1020. package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/research-question-formulation.md +190 -0
  1021. package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/AGENTS.md +122 -0
  1022. package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/arxiv-literature-search.md +149 -0
  1023. package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/experimental-design.md +194 -0
  1024. package/registry/families/multi-agent-research-lab-ts/manifest.json +223 -0
  1025. package/registry/families/multi-agent-startup-team-ts/files/AGENTS.md +360 -0
  1026. package/registry/families/multi-agent-startup-team-ts/files/README.md +200 -0
  1027. package/registry/families/multi-agent-startup-team-ts/files/agent.json +78 -0
  1028. package/registry/families/multi-agent-startup-team-ts/files/agents.json +87 -0
  1029. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/AGENTS.md +157 -0
  1030. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/decision-journal.md +176 -0
  1031. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/okr-design.md +181 -0
  1032. package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/weekly-review.md +150 -0
  1033. package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/AGENTS.md +176 -0
  1034. package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/burn-runway-model.md +203 -0
  1035. package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/fundraise-prep.md +192 -0
  1036. package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/AGENTS.md +145 -0
  1037. package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/channel-experiment-design.md +156 -0
  1038. package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/positioning-canvas.md +124 -0
  1039. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/AGENTS.md +151 -0
  1040. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/architecture-decision.md +196 -0
  1041. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/one-on-one-cadence.md +149 -0
  1042. package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/tech-debt-triage.md +138 -0
  1043. package/registry/families/multi-agent-startup-team-ts/files/roles/hr/AGENTS.md +192 -0
  1044. package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/interview-rubric.md +171 -0
  1045. package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/recruiting-loop-design.md +222 -0
  1046. package/registry/families/multi-agent-startup-team-ts/manifest.json +299 -0
  1047. package/registry/families/multimodal-agent/files/api/README.md +1 -1
  1048. package/registry/families/multimodal-agent/files/package.json +3 -1
  1049. package/registry/families/nextjs-ts/files/package.json +3 -1
  1050. package/registry/families/observable-notebook/files/package.json +3 -1
  1051. package/registry/families/observable-notebook/manifest.json +18 -1
  1052. package/registry/families/ollama-server/files/package.json +4 -0
  1053. package/registry/families/orchestrator-with-ui-ts/files/README.md +137 -0
  1054. package/registry/families/orchestrator-with-ui-ts/files/app/agents/[id]/page.tsx +124 -0
  1055. package/registry/families/orchestrator-with-ui-ts/files/app/globals.css +38 -0
  1056. package/registry/families/orchestrator-with-ui-ts/files/app/layout.tsx +30 -0
  1057. package/registry/families/orchestrator-with-ui-ts/files/app/page.tsx +132 -0
  1058. package/registry/families/orchestrator-with-ui-ts/files/next.config.mjs +21 -0
  1059. package/registry/families/orchestrator-with-ui-ts/files/package.json +34 -0
  1060. package/registry/families/orchestrator-with-ui-ts/files/postcss.config.cjs +6 -0
  1061. package/registry/families/orchestrator-with-ui-ts/files/src/lib/agent-roster.ts +86 -0
  1062. package/registry/families/orchestrator-with-ui-ts/files/tailwind.config.cjs +12 -0
  1063. package/registry/families/orchestrator-with-ui-ts/files/tsconfig.json +27 -0
  1064. package/registry/families/orchestrator-with-ui-ts/manifest.json +91 -0
  1065. package/registry/families/pci-dss-compliance-pack/files/package.json +4 -0
  1066. package/registry/families/phaser-game/files/package.json +4 -0
  1067. package/registry/families/pixijs-game/files/package.json +4 -0
  1068. package/registry/families/playwright-worker/files/package.json +3 -1
  1069. package/registry/families/polymarket-portfolio-hedging/files/package.json +3 -1
  1070. package/registry/families/react-vite-ts/files/package.json +3 -1
  1071. package/registry/families/realtime-audio-ts/files/package.json +3 -1
  1072. package/registry/families/remix-ts/files/package.json +3 -1
  1073. package/registry/families/risczero-zkvm/files/methods/build.rs +31 -0
  1074. package/registry/families/risczero-zkvm/files/methods/guest-Cargo.toml +8 -0
  1075. package/registry/families/sandbox-app-ts/files/README.md +65 -0
  1076. package/registry/families/sandbox-app-ts/files/index.html +12 -0
  1077. package/registry/families/sandbox-app-ts/files/package.json +31 -0
  1078. package/registry/families/sandbox-app-ts/files/postcss.config.cjs +6 -0
  1079. package/registry/families/sandbox-app-ts/files/src/App.tsx +92 -0
  1080. package/registry/families/sandbox-app-ts/files/src/index.css +12 -0
  1081. package/registry/families/sandbox-app-ts/files/src/lib/sandbox-client.ts +182 -0
  1082. package/registry/families/sandbox-app-ts/files/src/main.tsx +13 -0
  1083. package/registry/families/sandbox-app-ts/files/tailwind.config.cjs +8 -0
  1084. package/registry/families/sandbox-app-ts/files/tsconfig.json +24 -0
  1085. package/registry/families/sandbox-app-ts/files/vite.config.ts +15 -0
  1086. package/registry/families/sandbox-app-ts/manifest.json +83 -0
  1087. package/registry/families/soc2-compliance-pack/files/package.json +4 -0
  1088. package/registry/families/sp1-zkvm/files/script/build.rs +63 -0
  1089. package/registry/families/sp1-zkvm/files/script-Cargo.toml +7 -1
  1090. package/registry/families/sp1-zkvm/manifest.json +4 -0
  1091. package/registry/families/stylus-contracts/manifest.json +25 -0
  1092. package/registry/families/sveltekit-ts/files/package.json +3 -1
  1093. package/registry/families/tauri-desktop/files/package.json +4 -0
  1094. package/registry/families/tauri-menubar/files/package.json +3 -1
  1095. package/registry/families/tauri-tray/files/package.json +3 -1
  1096. package/registry/families/threejs-game/files/package.json +3 -1
  1097. package/registry/families/unity-web-proxy/files/package.json +3 -1
  1098. package/registry/families/vision-first-agent/files/api/README.md +1 -1
  1099. package/registry/families/vision-first-agent/files/package.json +3 -1
  1100. package/registry/families/voice-first-agent/files/api/README.md +1 -1
  1101. package/registry/families/voice-first-agent/files/package.json +3 -1
  1102. package/registry/families/vue-ts/files/package.json +3 -1
  1103. package/registry/families/wasm-rust/files/package.json +3 -1
  1104. package/registry/families/wasm-rust/manifest.json +23 -2
  1105. package/registry/families/webgpu-inference/files/package.json +3 -1
  1106. package/registry/families/webgpu-render/files/package.json +3 -1
  1107. package/registry/families/worker-job/files/package.json +4 -0
  1108. package/registry/families/x402-service/files/package.json +5 -1
  1109. package/registry/families/zk-prover-service/files/package.json +5 -1
  1110. package/registry/layers/agent-base/mcp-registry/files/.mcp.json +27 -0
  1111. package/registry/layers/agent-base/mcp-registry/files/lib/mcp/README.md +47 -0
  1112. package/registry/layers/agent-base/mcp-registry/files/lib/mcp/register.ts +130 -0
  1113. package/registry/layers/agent-base/mcp-registry/manifest.json +109 -0
  1114. package/registry/layers/agent-base/memory/files/lib/memory/grep.ts +126 -0
  1115. package/registry/layers/agent-base/memory/files/lib/memory/index.test.ts +216 -0
  1116. package/registry/layers/agent-base/memory/files/lib/memory/index.ts +258 -0
  1117. package/registry/layers/agent-base/memory/files/lib/memory/types.ts +58 -0
  1118. package/registry/layers/agent-base/memory/manifest.json +108 -0
  1119. package/registry/layers/agent-base/privacy/files/lib/privacy/README.md +116 -0
  1120. package/registry/layers/agent-base/privacy/files/lib/privacy/detectors.ts +179 -0
  1121. package/registry/layers/agent-base/privacy/files/lib/privacy/index.test.ts +172 -0
  1122. package/registry/layers/agent-base/privacy/files/lib/privacy/index.ts +150 -0
  1123. package/registry/layers/agent-base/privacy/files/lib/privacy/types.ts +66 -0
  1124. package/registry/layers/agent-base/privacy/manifest.json +74 -0
  1125. package/registry/layers/agent-base/scheduler/files/lib/scheduler/cron-parse.ts +221 -0
  1126. package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.test.ts +296 -0
  1127. package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.ts +175 -0
  1128. package/registry/layers/agent-base/scheduler/files/lib/scheduler/sweep.ts +66 -0
  1129. package/registry/layers/agent-base/scheduler/files/lib/scheduler/types.ts +43 -0
  1130. package/registry/layers/agent-base/scheduler/manifest.json +119 -0
  1131. package/registry/layers/agent-base/secure/files/lib/secure/README.md +95 -0
  1132. package/registry/layers/agent-base/secure/files/lib/secure/audit.ts +166 -0
  1133. package/registry/layers/agent-base/secure/files/lib/secure/identity.ts +110 -0
  1134. package/registry/layers/agent-base/secure/files/lib/secure/index.test.ts +422 -0
  1135. package/registry/layers/agent-base/secure/files/lib/secure/index.ts +16 -0
  1136. package/registry/layers/agent-base/secure/files/lib/secure/schedule.ts +83 -0
  1137. package/registry/layers/agent-base/secure/files/lib/secure/secrets.ts +128 -0
  1138. package/registry/layers/agent-base/secure/files/lib/secure/webhook-in.ts +125 -0
  1139. package/registry/layers/agent-base/secure/files/lib/secure/webhook-out.ts +137 -0
  1140. package/registry/layers/agent-base/secure/files/lib/secure/workspace.ts +123 -0
  1141. package/registry/layers/agent-base/secure/manifest.json +174 -0
  1142. package/registry/layers/agent-base/tangle/files/lib/tangle.ts +56 -0
  1143. package/registry/layers/agent-base/tangle/manifest.json +103 -0
  1144. package/registry/layers/agent-channels/discord/files/channels/discord.env.example +14 -0
  1145. package/registry/layers/agent-channels/discord/files/channels/discord.ts +127 -0
  1146. package/registry/layers/agent-channels/discord/manifest.json +95 -0
  1147. package/registry/layers/agent-channels/gmail/files/channels/gmail.env.example +54 -0
  1148. package/registry/layers/agent-channels/gmail/files/channels/gmail.ts +206 -0
  1149. package/registry/layers/agent-channels/gmail/manifest.json +95 -0
  1150. package/registry/layers/agent-channels/imessage/files/channels/imessage.env.example +31 -0
  1151. package/registry/layers/agent-channels/imessage/files/channels/imessage.ts +123 -0
  1152. package/registry/layers/agent-channels/imessage/manifest.json +102 -0
  1153. package/registry/layers/agent-channels/linear/files/channels/linear.env.example +42 -0
  1154. package/registry/layers/agent-channels/linear/files/channels/linear.ts +163 -0
  1155. package/registry/layers/agent-channels/linear/manifest.json +95 -0
  1156. package/registry/layers/agent-channels/slack/files/channels/slack.env.example +17 -0
  1157. package/registry/layers/agent-channels/slack/files/channels/slack.ts +119 -0
  1158. package/registry/layers/agent-channels/slack/manifest.json +95 -0
  1159. package/registry/layers/agent-channels/telegram/files/channels/telegram.env.example +9 -0
  1160. package/registry/layers/agent-channels/telegram/files/channels/telegram.ts +72 -0
  1161. package/registry/layers/agent-channels/telegram/manifest.json +95 -0
  1162. package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.env.example +31 -0
  1163. package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.ts +158 -0
  1164. package/registry/layers/agent-channels/whatsapp/manifest.json +106 -0
  1165. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/README.md +95 -0
  1166. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/index.ts +49 -0
  1167. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/loop.ts +151 -0
  1168. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/pareto.ts +60 -0
  1169. package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/propose-review.ts +36 -0
  1170. package/registry/layers/agent-eval/auto-research/manifest.json +86 -0
  1171. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/README.md +86 -0
  1172. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-cli.ts +118 -0
  1173. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-runner.ts +249 -0
  1174. package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise.example.ts +100 -0
  1175. package/registry/layers/agent-eval/judge-pairwise/files/tests/pairwise-runner.test.ts +136 -0
  1176. package/registry/layers/agent-eval/judge-pairwise/manifest.json +71 -0
  1177. package/registry/layers/agent-eval/judge-rubric/files/judges/rubric.example.ts +38 -0
  1178. package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/README.md +83 -0
  1179. package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/rubric-runner.ts +161 -0
  1180. package/registry/layers/agent-eval/judge-rubric/manifest.json +48 -0
  1181. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/README.md +100 -0
  1182. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/categories.ts +106 -0
  1183. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/cli.ts +106 -0
  1184. package/registry/layers/agent-eval/redteam/files/src/eval/redteam/runner.ts +257 -0
  1185. package/registry/layers/agent-eval/redteam/files/tests/runner.test.ts +82 -0
  1186. package/registry/layers/agent-eval/redteam/manifest.json +81 -0
  1187. package/registry/layers/agent-eval/regression/files/.github/workflows/regression-gate.yml +85 -0
  1188. package/registry/layers/agent-eval/regression/files/src/eval/regression/README.md +93 -0
  1189. package/registry/layers/agent-eval/regression/files/src/eval/regression/cli.ts +106 -0
  1190. package/registry/layers/agent-eval/regression/files/src/eval/regression/gate.ts +260 -0
  1191. package/registry/layers/agent-eval/regression/manifest.json +60 -0
  1192. package/registry/layers/agent-eval/scenarios/files/scenarios/README.md +64 -0
  1193. package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-loader.ts +85 -0
  1194. package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-types.ts +15 -0
  1195. package/registry/layers/agent-eval/scenarios/manifest.json +44 -0
  1196. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/README.md +75 -0
  1197. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/example-rubric.ts +105 -0
  1198. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/per-turn-scorer.ts +230 -0
  1199. package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/trajectory-runner.ts +142 -0
  1200. package/registry/layers/agent-eval/trace-multi-turn/files/tests/per-turn-scorer.test.ts +184 -0
  1201. package/registry/layers/agent-eval/trace-multi-turn/manifest.json +70 -0
  1202. package/registry/layers/agent-output/blocks/files/lib/blocks.ts +57 -0
  1203. package/registry/layers/agent-output/blocks/manifest.json +95 -0
  1204. package/registry/layers/agent-tools/clinical-screeners/files/lib/tools/screeners.ts +61 -0
  1205. package/registry/layers/agent-tools/clinical-screeners/files/templates/escalation-protocol.md +77 -0
  1206. package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-gad7.md +62 -0
  1207. package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-phq9.md +84 -0
  1208. package/registry/layers/agent-tools/clinical-screeners/manifest.json +61 -0
  1209. package/registry/layers/agent-tools/phony-voice/files/lib/tools/voice.ts +38 -0
  1210. package/registry/layers/agent-tools/phony-voice/manifest.json +47 -0
  1211. package/registry/layers/agent-tools/research-corpus/files/lib/tools/research.ts +46 -0
  1212. package/registry/layers/agent-tools/research-corpus/manifest.json +52 -0
  1213. package/registry/layers/capability/agent-eval/manifest.json +2 -1
  1214. package/registry/layers/capability/ai-chat-ui/manifest.json +2 -0
  1215. package/registry/layers/capability/bridge-protocol-api/files/bridge-protocol-config.json +5 -0
  1216. package/registry/layers/capability/bridge-protocol-api/files/bridge-status-routes.ts +31 -0
  1217. package/registry/layers/capability/bridge-protocol-api/manifest.json +92 -0
  1218. package/registry/layers/capability/crypto-bridge-ui/manifest.json +54 -2
  1219. package/registry/layers/capability/defi-bridge/manifest.json +12 -0
  1220. package/registry/layers/capability/evm-layerzero-oft/manifest.json +59 -0
  1221. package/registry/layers/capability/evm-nft-mint-page/manifest.json +1 -0
  1222. package/registry/layers/capability/evm-uniswap-v4-hook/manifest.json +58 -0
  1223. package/registry/layers/capability/fhe-foundry-private-token/files/PrivateToken.sol +58 -0
  1224. package/registry/layers/capability/fhe-foundry-private-token/manifest.json +27 -0
  1225. package/registry/layers/capability/fhe-foundry-private-voting/files/PrivateVoting.sol +54 -0
  1226. package/registry/layers/capability/fhe-foundry-private-voting/manifest.json +27 -0
  1227. package/registry/layers/capability/fhe-foundry-sealed-auction/files/SealedAuction.sol +54 -0
  1228. package/registry/layers/capability/fhe-foundry-sealed-auction/manifest.json +27 -0
  1229. package/registry/layers/capability/fhe-private-token/manifest.json +16 -1
  1230. package/registry/layers/capability/fhe-private-voting/manifest.json +16 -1
  1231. package/registry/layers/capability/fhe-sealed-auction/manifest.json +17 -2
  1232. package/registry/layers/capability/fhevm-private-token/files/PrivateToken.sol +55 -0
  1233. package/registry/layers/capability/fhevm-private-token/manifest.json +27 -0
  1234. package/registry/layers/capability/fhevm-private-voting/files/PrivateVoting.sol +51 -0
  1235. package/registry/layers/capability/fhevm-private-voting/manifest.json +27 -0
  1236. package/registry/layers/capability/fhevm-sealed-auction/files/SealedAuction.sol +55 -0
  1237. package/registry/layers/capability/fhevm-sealed-auction/manifest.json +27 -0
  1238. package/registry/layers/capability/layout-auth/manifest.json +7 -0
  1239. package/registry/layers/capability/layout-chat/manifest.json +3 -0
  1240. package/registry/layers/capability/tangle-remote-provider/files/remote-config.json +1 -1
  1241. package/registry/layers/capability/zk-browser/manifest.json +1 -1
  1242. package/registry/layers/framework/aptos-move/files/package.json +4 -0
  1243. package/registry/layers/framework/crm-backend/files/package.json +4 -0
  1244. package/registry/layers/framework/ecommerce-headless/files/package.json +4 -0
  1245. package/registry/layers/framework/electron-native-os/files/package.json +4 -0
  1246. package/registry/layers/framework/fhenix-foundry/files/Contract.sol +55 -0
  1247. package/registry/layers/framework/fhenix-foundry/files/Contract.t.sol +39 -0
  1248. package/registry/layers/framework/fhenix-foundry/files/Deploy.s.sol +12 -0
  1249. package/registry/layers/framework/fhenix-foundry/files/foundry.toml +25 -0
  1250. package/registry/layers/framework/fhenix-foundry/files/lib/cofhe-contracts/contracts/FHE.sol +94 -0
  1251. package/registry/layers/framework/fhenix-foundry/manifest.json +12 -0
  1252. package/registry/layers/framework/gdpr-compliance-pack/files/package.json +4 -0
  1253. package/registry/layers/framework/godot-web/files/package.json +4 -0
  1254. package/registry/layers/framework/healthcare-hipaa-backend/files/package.json +4 -0
  1255. package/registry/layers/framework/hipaa-compliance-pack/files/package.json +4 -0
  1256. package/registry/layers/framework/hugo-static/files/package.json +4 -0
  1257. package/registry/layers/framework/legal-case-mgmt/files/package.json +4 -0
  1258. package/registry/layers/framework/move-package/files/Move.toml +7 -3
  1259. package/registry/layers/framework/react-vite-ts/files/index.html +6 -6
  1260. package/registry/layers/framework/tangle-blueprint/files/main.rs +2 -17
  1261. package/registry/layers/framework/zola-static/files/package.json +5 -1
  1262. package/registry/layers/ui-adapter/blocks-renderer/files/lib/blocks-to-artifacts.tsx +188 -0
  1263. package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.test.ts +58 -0
  1264. package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.ts +163 -0
  1265. package/registry/layers/ui-adapter/blocks-renderer/manifest.json +61 -0
  1266. package/registry/seed-list-agent-runtime.json +250 -0
  1267. package/dist/lib/ab.js.map +0 -1
  1268. package/dist/lib/audit.js.map +0 -1
  1269. package/dist/lib/batch-export.js.map +0 -1
  1270. package/dist/lib/benchmark.js.map +0 -1
  1271. package/dist/lib/compose-seed.d.ts +0 -15
  1272. package/dist/lib/compose-seed.js +0 -44
  1273. package/dist/lib/compose-seed.js.map +0 -1
  1274. package/dist/lib/planner/zk-preferences.d.ts +0 -9
  1275. package/dist/lib/planner/zk-preferences.js +0 -91
  1276. package/dist/lib/planner/zk-preferences.js.map +0 -1
  1277. package/dist/lib/prove.js.map +0 -1
  1278. package/dist/lib/reproducibility.js.map +0 -1
  1279. package/dist/lib/sbom.js.map +0 -1
  1280. package/specs/agent-python-research.json +0 -12
  1281. package/specs/agent-rust-runtime.json +0 -11
  1282. package/specs/agent-ts-control-plane.json +0 -13
  1283. package/specs/api-evm-protocol.json +0 -17
  1284. package/specs/api-health.json +0 -14
  1285. package/specs/browser-extension-research.json +0 -12
  1286. package/specs/cli-release-tool.json +0 -9
  1287. package/specs/cloudflare-edge.json +0 -13
  1288. package/specs/coinbase-landing.json +0 -13
  1289. package/specs/dspy-pipeline.json +0 -8
  1290. package/specs/eigenlayer-avs.json +0 -8
  1291. package/specs/electron-ops-console.json +0 -14
  1292. package/specs/evm-infra.json +0 -15
  1293. package/specs/expo-wallet-mobile.json +0 -14
  1294. package/specs/forge-counter.json +0 -10
  1295. package/specs/fullstack-control-plane.json +0 -16
  1296. package/specs/go-api.json +0 -12
  1297. package/specs/go-worker.json +0 -11
  1298. package/specs/hardhat-xlayer-config.json +0 -9
  1299. package/specs/mcp-server.json +0 -8
  1300. package/specs/move-treasury.json +0 -10
  1301. package/specs/multichain-workspace.json +0 -74
  1302. package/specs/nextjs-saas.json +0 -11
  1303. package/specs/playwright-worker.json +0 -11
  1304. package/specs/python-api.json +0 -13
  1305. package/specs/python-data-insights.json +0 -9
  1306. package/specs/react-vite-coinbase.json +0 -11
  1307. package/specs/rust-service.json +0 -13
  1308. package/specs/solana-keeper-worker.json +0 -13
  1309. package/specs/solana-perps.json +0 -12
  1310. package/specs/solana-prediction.json +0 -12
  1311. package/specs/solana-treasury.json +0 -10
  1312. package/specs/stylus-contracts.json +0 -8
  1313. package/specs/tangle-blueprint.json +0 -9
  1314. package/specs/tangle-custody.json +0 -11
  1315. package/specs/tangle-oracle.json +0 -11
  1316. package/specs/tauri-desktop.json +0 -13
  1317. package/specs/trading-worker.json +0 -12
  1318. package/specs/x402-service.json +0 -8
  1319. package/specs/xlayer-aa.json +0 -13
  1320. package/specs/xlayer-foundry-deploy.json +0 -12
  1321. package/specs/xlayer-oft.json +0 -13
  1322. package/specs/xlayer-wallet-dashboard.json +0 -18
  1323. package/specs/zk-prover.json +0 -8
  1324. /package/{LICENSE → LICENSE-MIT} +0 -0
  1325. /package/dist/lib/{ab.d.ts → eval/ab.d.ts} +0 -0
  1326. /package/dist/lib/{ab.js → eval/ab.js} +0 -0
  1327. /package/dist/lib/{batch-export.d.ts → eval/batch-export.d.ts} +0 -0
  1328. /package/dist/lib/{reproducibility.js → eval/reproducibility.js} +0 -0
@@ -0,0 +1,137 @@
1
+ // Eval campaign — opinionated wrapper over `runEvalCampaign` from
2
+ // `@tangle-network/agent-eval@0.22+`. Use this when the eval question is
3
+ // "does variant A beat variant B over scenarios × seeds?" — i.e. a
4
+ // launch-decision-grade sweep, not a smoke test.
5
+ //
6
+ // Why a separate entrypoint from `runHarness`:
7
+ //
8
+ // - `runHarness` (runner.ts) runs each scenario once with no comparator.
9
+ // It's the smoke-test path — operator-facing, fast, no variants.
10
+ //
11
+ // - `runCampaign` (this file) runs (variants × scenarios × seeds) and
12
+ // emits `RunRecord[]` + integrity reports + an optional `researchReport`
13
+ // with paired-evidence verdicts. Capture integrity is wired by
14
+ // construction:
15
+ //
16
+ // - `assertLlmRoute` runs once at preflight.
17
+ // - A per-run `FileSystemRawProviderSink` captures every provider
18
+ // HTTP envelope.
19
+ // - `assertRunCaptured` fires after every `endRun`; the campaign's
20
+ // `onIntegrityFailure` policy decides whether to mark the run
21
+ // failed or admit it with a flag.
22
+ // - Each run is built atop a `TraceEmitter` whose `onRunComplete`
23
+ // hooks fire the trace analyst declaratively.
24
+ //
25
+ // The four directives from `SKILL.md § Capture integrity` are part of
26
+ // the campaign's contract — the caller doesn't wire them, and skipping
27
+ // one isn't possible without rewriting the function.
28
+ //
29
+ // Reference wiring lives in `@tangle-network/agent-eval/src/eval-campaign.ts`.
30
+
31
+ import { join } from 'node:path'
32
+ import {
33
+ runEvalCampaign,
34
+ type CampaignRunContext,
35
+ type CampaignRunOutcome,
36
+ type CampaignScenario,
37
+ type CampaignVariant,
38
+ type EvalCampaignOptions,
39
+ type EvalCampaignResult,
40
+ type LlmClientOptions,
41
+ } from '@tangle-network/agent-eval'
42
+ import {
43
+ FileSystemRawProviderSink,
44
+ type RawProviderSink,
45
+ } from '@tangle-network/agent-eval/traces'
46
+
47
+ export interface CampaignOptions<V> {
48
+ /** Stable campaign id — folded into the campaign fingerprint. */
49
+ campaignId: string
50
+ variants: CampaignVariant<V>[]
51
+ scenarios: CampaignScenario[]
52
+ /** Default `[0, 1, 2]`. */
53
+ seeds?: number[]
54
+ /** Git SHA the sweep runs against — `RunRecord` rejects unset. */
55
+ commitSha: string
56
+ /**
57
+ * The per-run runner. Receives a fully-wired context (TraceEmitter, store,
58
+ * RawProviderSink, llmOpts) and returns a `CampaignRunOutcome`. The
59
+ * runner MUST call `ctx.emitter.startRun` before any work and
60
+ * `ctx.emitter.endRun` / `ctx.emitter.abortRun` before returning.
61
+ */
62
+ runner: (ctx: CampaignRunContext<V>) => Promise<CampaignRunOutcome>
63
+ /**
64
+ * LLM client config — `assertLlmRoute` runs against this at preflight.
65
+ * Must include `baseUrl` + `apiKey` for the route guard to pass with
66
+ * default `routeRequirements`.
67
+ */
68
+ llmOpts: LlmClientOptions
69
+ /**
70
+ * Filesystem root for traces + raw events. Defaults to
71
+ * `./.evolve/agent-eval/campaigns/<campaignId>/`.
72
+ */
73
+ workDir?: string
74
+ /** Optional comparator variant id for paired stats. */
75
+ comparator?: string
76
+ /** Optional preregistration manifest hash (see `pre-registration.ts`). */
77
+ preregistrationHash?: string
78
+ }
79
+
80
+ /**
81
+ * Run a launch-decision-grade eval sweep over (variants × scenarios × seeds).
82
+ *
83
+ * Returns a `RunRecord[]` + integrity reports + (when `comparator` is set)
84
+ * a `researchReport` with paired-bootstrap CIs, anytime-valid sequential
85
+ * verdicts, and a SHA-256 campaign fingerprint.
86
+ *
87
+ * Capture-integrity directives are wired by construction:
88
+ * 1. `RawProviderSink` per run (via the campaign's default `rawSinkFactory`).
89
+ * 2. `assertLlmRoute` at preflight.
90
+ * 3. `assertRunCaptured` after every `endRun` (policy: `'mark_failed'`).
91
+ * 4. `onRunComplete` hooks fire on every run (caller supplies the analyst).
92
+ *
93
+ * Skip this and you're back to writing the same shape ad hoc — at the
94
+ * cost of the bug class 0.22 was designed to eliminate.
95
+ */
96
+ export async function runCampaign<V>(
97
+ opts: CampaignOptions<V>,
98
+ ): Promise<EvalCampaignResult> {
99
+ const workDir =
100
+ opts.workDir ?? join(process.cwd(), '.evolve', 'agent-eval', 'campaigns', opts.campaignId)
101
+ const tracesDir = join(workDir, 'traces')
102
+
103
+ // The store factory hands each cell its own `FileSystemTraceStore` instance
104
+ // rooted in a per-run subdir. We can't construct a FileSystemTraceStore
105
+ // here because the import lives in the main barrel — pull it dynamically
106
+ // so this module stays a stable interface even if upstream re-exports
107
+ // shift between minor versions.
108
+ const { FileSystemTraceStore } = await import('@tangle-network/agent-eval')
109
+
110
+ const fullOpts: EvalCampaignOptions<V> = {
111
+ campaignId: opts.campaignId,
112
+ variants: opts.variants,
113
+ scenarios: opts.scenarios,
114
+ commitSha: opts.commitSha,
115
+ runner: opts.runner,
116
+ llmOpts: opts.llmOpts,
117
+ storeFactory: ({ runId }) =>
118
+ new FileSystemTraceStore({ dir: join(tracesDir, runId) }),
119
+ rawSinkFactory: ({ runId }): RawProviderSink =>
120
+ new FileSystemRawProviderSink({ dir: join(workDir, 'raw-events', runId) }),
121
+ workDir,
122
+ onIntegrityFailure: 'mark_failed',
123
+ ...(opts.seeds ? { seeds: opts.seeds } : {}),
124
+ ...(opts.preregistrationHash ? { preregistrationHash: opts.preregistrationHash } : {}),
125
+ ...(opts.comparator ? { report: { comparator: opts.comparator } } : {}),
126
+ }
127
+
128
+ return runEvalCampaign(fullOpts)
129
+ }
130
+
131
+ export type {
132
+ CampaignRunContext,
133
+ CampaignRunOutcome,
134
+ CampaignScenario,
135
+ CampaignVariant,
136
+ EvalCampaignResult,
137
+ } from '@tangle-network/agent-eval'
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env node
2
+ // eval-harness CLI — `eval-harness run | compare`.
3
+ //
4
+ // `run` invokes the full harness against the configured target.
5
+ // `compare` diffs two scorecards (no statistical gate — for that, use the
6
+ // regression layer's `eval:gate` CLI).
7
+
8
+ import { runHarness } from './runner.js'
9
+ import { readScorecard, diffScorecards } from './scorecard.js'
10
+
11
+ function help(): never {
12
+ console.log(`Usage:
13
+ eval-harness run [--target <url>] [--threshold <0..1>] [--variant <id>]
14
+ eval-harness compare <baseline.json> <head.json>
15
+ `)
16
+ process.exit(2)
17
+ }
18
+
19
+ async function cmdRun(argv: string[]): Promise<void> {
20
+ const arg = (flag: string): string | undefined => {
21
+ const i = argv.indexOf(flag)
22
+ return i >= 0 && argv[i + 1] ? argv[i + 1] : undefined
23
+ }
24
+ const target = arg('--target')
25
+ const thresholdRaw = arg('--threshold')
26
+ const variantId = arg('--variant')
27
+ const threshold = thresholdRaw !== undefined ? Number(thresholdRaw) : undefined
28
+ if (thresholdRaw !== undefined && Number.isNaN(threshold)) {
29
+ console.error(`eval-harness: --threshold must be a number, got "${thresholdRaw}"`)
30
+ process.exit(2)
31
+ }
32
+ const report = await runHarness({ targetUrl: target, threshold, variantId })
33
+ process.exitCode = report.aggregate < report.threshold ? 1 : 0
34
+ }
35
+
36
+ async function cmdCompare(argv: string[]): Promise<void> {
37
+ const [baselinePath, headPath] = argv
38
+ if (!baselinePath || !headPath) help()
39
+ const baseline = await readScorecard(baselinePath)
40
+ const head = await readScorecard(headPath)
41
+ const diff = diffScorecards(baseline, head)
42
+ const arrow = diff.aggregateDelta >= 0 ? '↑' : '↓'
43
+ console.log(
44
+ `aggregate ${baseline.aggregate.toFixed(3)} → ${head.aggregate.toFixed(3)} (${arrow}${Math.abs(diff.aggregateDelta).toFixed(3)})`,
45
+ )
46
+ for (const f of diff.perFlow) {
47
+ const b = f.baseline?.toFixed(3) ?? '—'
48
+ const h = f.head?.toFixed(3) ?? '—'
49
+ const d = f.delta !== null ? `${f.delta >= 0 ? '+' : ''}${f.delta.toFixed(3)}` : ''
50
+ const tag = f.status.padEnd(10, ' ')
51
+ console.log(` ${tag} ${f.name}: ${b} → ${h} ${d}`)
52
+ }
53
+ }
54
+
55
+ async function main(): Promise<void> {
56
+ const [cmd, ...rest] = process.argv.slice(2)
57
+ if (cmd === 'run') return cmdRun(rest)
58
+ if (cmd === 'compare') return cmdCompare(rest)
59
+ help()
60
+ }
61
+
62
+ main().catch((err) => {
63
+ console.error('[eval-harness] fatal:', err)
64
+ process.exit(2)
65
+ })
@@ -0,0 +1,384 @@
1
+ // Eval runner — thin shell over @tangle-network/agent-eval primitives.
2
+ //
3
+ // Lifecycle:
4
+ // 1. Load every Scenario exported from `scenarios/*.scenario.ts`.
5
+ // 2. For each scenario, build a TestGradedScenario whose harness.testCommand
6
+ // is a curl-based assertion against the target URL (or skip the test
7
+ // command entirely when running in `judge-only` mode).
8
+ // 3. Delegate to `runTestGradedScenario` from agent-eval — it spawns the
9
+ // command via SubprocessSandboxDriver, emits a Run, persists spans
10
+ // via FileSystemTraceStore.
11
+ // 4. Run every JudgeFn in `judges/*.judge.ts` over the collected
12
+ // ScenarioResult; aggregate via `JudgeRunner` when sandbox-graded.
13
+ // 5. Emit a scorecard via `writeScorecard` (see scorecard.ts).
14
+ //
15
+ // Capture integrity (agent-eval 0.21+):
16
+ // - Allocates a `FileSystemRawProviderSink` per run, rooted under
17
+ // `<tracesDir>/raw-events/<runId>/`. LLM-as-judge call sites that
18
+ // read `globalThis.__agentEvalRawSink` (or that consumers wire
19
+ // explicitly) auto-capture every provider HTTP request/response.
20
+ // - When `EVAL_LLM_BASE_URL` is set the runner calls `assertLlmRoute`
21
+ // at preflight so the sweep fails loud if it would silently fall
22
+ // back to the public router.
23
+ // - After every `runTestGradedScenario` the runner calls
24
+ // `assertRunCaptured` to verify the run wrote the expected spans
25
+ // (and, when judges ran, that every LlmSpan has a matching raw
26
+ // `request` event). Integrity issues are surfaced on the outcome
27
+ // row but only fail the scenario when `EVAL_INTEGRITY=strict`.
28
+ //
29
+ // All primitives come from the published package — this file is the
30
+ // integration glue, not new measurement infra.
31
+
32
+ import { resolve, join, dirname } from 'node:path'
33
+ import { fileURLToPath, pathToFileURL } from 'node:url'
34
+ import {
35
+ FileSystemTraceStore,
36
+ FileSystemExperimentStore,
37
+ SubprocessSandboxDriver,
38
+ assertLlmRoute,
39
+ LlmRouteAssertionError,
40
+ runTestGradedScenario,
41
+ type Scenario,
42
+ type TestGradedScenario,
43
+ type TestGradedRunResult,
44
+ } from '@tangle-network/agent-eval'
45
+ import {
46
+ FileSystemRawProviderSink,
47
+ assertRunCaptured,
48
+ type RawProviderSink,
49
+ type RunIntegrityReport,
50
+ } from '@tangle-network/agent-eval/traces'
51
+ // Single source of truth for scenario loading: the agent-eval:scenarios
52
+ // layer composes `src/eval/scenario-loader.ts` next to this runner. Pre-fix
53
+ // the family re-implemented a weaker loader inline (no shape validation),
54
+ // silently diverging from the layer's strict checks. Per CLAUDE.md
55
+ // "extend, don't duplicate", the runner imports the layer's loader.
56
+ import { loadScenarios, type LoadedScenario } from './scenario-loader.js'
57
+ import { writeScorecard, type ScorecardFlow } from './scorecard.js'
58
+
59
+ export type IntegrityMode = 'off' | 'log' | 'strict'
60
+
61
+ export interface RunnerOptions {
62
+ /** Project root — defaults to cwd of the runner. */
63
+ projectRoot?: string
64
+ /** HTTP target URL the test commands hit. */
65
+ targetUrl?: string
66
+ /** Pass threshold for the aggregate. CI gate uses this. */
67
+ threshold?: number
68
+ /** Override scenarios dir (default: <root>/scenarios). */
69
+ scenariosDir?: string
70
+ /** Override judges dir (default: <root>/judges). */
71
+ judgesDir?: string
72
+ /** Override traces dir (default: <root>/.evolve/agent-eval/traces). */
73
+ tracesDir?: string
74
+ /** Override experiments dir (default: <root>/.evolve/agent-eval/experiments). */
75
+ experimentsDir?: string
76
+ /**
77
+ * Root for per-run `FileSystemRawProviderSink` directories. Default:
78
+ * `<tracesDir>/../raw-events`. Disabled when `integrityMode` is `'off'`.
79
+ */
80
+ rawEventsDir?: string
81
+ /** Where the project-level scorecard.json lands. */
82
+ scorecardPath?: string
83
+ /** Variant label tagged onto every Run for A/B compares. */
84
+ variantId?: string
85
+ /**
86
+ * Capture-integrity behaviour after each `runTestGradedScenario`:
87
+ *
88
+ * - `'off'` — skip raw-sink wiring and `assertRunCaptured`.
89
+ * - `'log'` — assert and surface issues on the outcome row, but do
90
+ * NOT downgrade the scenario verdict. (default)
91
+ * - `'strict'`— integrity issues mark the scenario as failed with
92
+ * `failureClass='integrity'`.
93
+ *
94
+ * Honours `EVAL_INTEGRITY` env var when unset.
95
+ */
96
+ integrityMode?: IntegrityMode
97
+ /**
98
+ * Optional LLM client options carried only for the preflight route guard.
99
+ * When `baseUrl` is set the runner calls `assertLlmRoute` once before any
100
+ * scenario runs so the sweep fails loud if it would silently fall back
101
+ * to the public router. Mirrors the `LlmClientOptions` shape from
102
+ * agent-eval; pass `{ baseUrl, provider, apiKey }` for the LLM judge
103
+ * route you actually want to exercise.
104
+ */
105
+ llmOpts?: {
106
+ baseUrl?: string
107
+ provider?: string
108
+ apiKey?: string
109
+ }
110
+ }
111
+
112
+ interface ScenarioOutcome {
113
+ scenarioId: string
114
+ pass: boolean
115
+ score: number
116
+ durationMs: number
117
+ failureClass: string | null
118
+ filePath: string
119
+ runId: string
120
+ /**
121
+ * Capture-integrity issues observed at run-end. Empty in the common
122
+ * happy-path case. Surfaced on the row so a launch reviewer can spot
123
+ * runs that completed structurally but lost their forensic evidence.
124
+ */
125
+ integrityIssues?: string[]
126
+ }
127
+
128
+ /**
129
+ * Lightweight RawProviderSink handle exposed on `globalThis` for ad-hoc
130
+ * LLM-judge wiring. A judge call site can read this to pass `rawSink`
131
+ * into `callLlm` without the runner having to know about the judge. The
132
+ * canonical pattern is to wire `rawSink` explicitly via dependency
133
+ * injection — this hook exists so the example judge auto-captures.
134
+ */
135
+ declare global {
136
+ // eslint-disable-next-line no-var
137
+ var __agentEvalRawSink: RawProviderSink | undefined
138
+ }
139
+
140
+ const HERE = dirname(fileURLToPath(import.meta.url))
141
+ const DEFAULT_ROOT = resolve(HERE, '..', '..')
142
+
143
+ function shQuote(s: string): string {
144
+ return `'${String(s).replace(/'/g, `'\\''`)}'`
145
+ }
146
+
147
+ // Translate a Scenario into a TestGradedScenario — the bridge between
148
+ // the conversational scenario shape and the test-graded-runner shape.
149
+ //
150
+ // Default policy: every scenario's first turn is POST-ed at the target
151
+ // URL's /chat route, and the response is checked for non-empty content.
152
+ // Override by editing the testCommand in your scenario file's tags.
153
+ function toTestGraded(scenario: Scenario, targetUrl: string): TestGradedScenario {
154
+ const customTestCommand = (scenario as Scenario & { testCommand?: string }).testCommand
155
+ const firstTurn = scenario.turns[0]
156
+ const userMessage = firstTurn?.user ?? ''
157
+ const defaultTest =
158
+ `curl -sS -o /tmp/eval-body -w '%{http_code}' -X POST -H 'content-type: application/json' ` +
159
+ `--data ${shQuote(JSON.stringify({ message: userMessage, scenarioId: scenario.id }))} ` +
160
+ `${shQuote(`${targetUrl}/chat`)} | grep -E '^(200|201)$' >/dev/null && ` +
161
+ `test $(wc -c < /tmp/eval-body) -ge 1`
162
+ return {
163
+ id: scenario.id,
164
+ description: scenario.label ?? scenario.thesis ?? scenario.id,
165
+ harness: {
166
+ testCommand: customTestCommand ?? defaultTest,
167
+ timeoutMs: 30_000,
168
+ },
169
+ passThreshold: 1.0,
170
+ tags: { persona: scenario.persona, dimensions: scenario.dimensions.join(',') },
171
+ }
172
+ }
173
+
174
+ export interface RunReport {
175
+ timestamp: string
176
+ variantId?: string
177
+ scenarioCount: number
178
+ passCount: number
179
+ aggregate: number
180
+ threshold: number
181
+ outcomes: ScenarioOutcome[]
182
+ tracesDir: string
183
+ rawEventsDir: string | null
184
+ scorecardPath: string
185
+ integrityMode: IntegrityMode
186
+ /** Per-run integrity reports, indexed by runId. */
187
+ integrityReports: Record<string, RunIntegrityReport>
188
+ }
189
+
190
+ function resolveIntegrityMode(opt: IntegrityMode | undefined): IntegrityMode {
191
+ if (opt) return opt
192
+ const env = (process.env.EVAL_INTEGRITY ?? '').toLowerCase()
193
+ if (env === 'off' || env === 'log' || env === 'strict') return env
194
+ return 'log'
195
+ }
196
+
197
+ export async function runHarness(opts: RunnerOptions = {}): Promise<RunReport> {
198
+ const projectRoot = opts.projectRoot ?? process.cwd()
199
+ const targetUrl = opts.targetUrl ?? process.env.EVAL_TARGET_BASE_URL ?? 'http://127.0.0.1:8787'
200
+ const threshold = opts.threshold ?? Number(process.env.EVAL_THRESHOLD ?? '0.7')
201
+ const scenariosDir = opts.scenariosDir ?? join(projectRoot, 'scenarios')
202
+ const tracesDir = opts.tracesDir ?? join(projectRoot, '.evolve', 'agent-eval', 'traces')
203
+ const experimentsDir =
204
+ opts.experimentsDir ?? join(projectRoot, '.evolve', 'agent-eval', 'experiments')
205
+ const rawEventsDir =
206
+ opts.rawEventsDir ?? join(projectRoot, '.evolve', 'agent-eval', 'raw-events')
207
+ const scorecardPath = opts.scorecardPath ?? join(projectRoot, '.evolve', 'scorecard.json')
208
+ const variantId = opts.variantId ?? process.env.EVAL_VARIANT_ID
209
+ const integrityMode = resolveIntegrityMode(opts.integrityMode)
210
+
211
+ // ── 0.21 Directive 2: assert the route at preflight ───────────────────
212
+ // Pure function; no I/O. Only runs when a baseUrl is supplied (env or
213
+ // opts) — the eval-harness ships with no LLM judge by default, so we
214
+ // don't want to block users who never call an LLM. When a route IS
215
+ // declared, fail loud before any scenario runs.
216
+ const llmBaseUrl = opts.llmOpts?.baseUrl ?? process.env.EVAL_LLM_BASE_URL
217
+ const llmApiKey = opts.llmOpts?.apiKey ?? process.env.EVAL_LLM_API_KEY ?? process.env.TANGLE_API_KEY
218
+ const llmProvider = opts.llmOpts?.provider ?? process.env.EVAL_LLM_PROVIDER
219
+ if (llmBaseUrl) {
220
+ try {
221
+ assertLlmRoute(
222
+ { baseUrl: llmBaseUrl, apiKey: llmApiKey, provider: llmProvider },
223
+ { requireExplicitBaseUrl: true, requireAuth: true },
224
+ )
225
+ } catch (err) {
226
+ if (err instanceof LlmRouteAssertionError) {
227
+ throw new Error(
228
+ `eval-harness: preflight route check failed (code=${err.code}). ` +
229
+ `Set EVAL_LLM_BASE_URL + auth, or unset to skip the check. ${err.message}`,
230
+ )
231
+ }
232
+ throw err
233
+ }
234
+ }
235
+
236
+ const traceStore = new FileSystemTraceStore({ dir: tracesDir })
237
+ // Experiment store is created so callers can persist experiment metadata
238
+ // alongside traces; its mere existence ensures the dir is created.
239
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
240
+ const _experimentStore = new FileSystemExperimentStore({ dir: experimentsDir })
241
+ const driver = new SubprocessSandboxDriver({ cwd: projectRoot })
242
+
243
+ const loaded: LoadedScenario[] = await loadScenarios(scenariosDir)
244
+ if (loaded.length === 0) {
245
+ throw new Error(
246
+ `eval-harness: no scenarios loaded from ${scenariosDir}. Drop a *.scenario.ts file with a default-exported Scenario.`,
247
+ )
248
+ }
249
+
250
+ const integrityReports: Record<string, RunIntegrityReport> = {}
251
+ const outcomes: ScenarioOutcome[] = []
252
+ for (const { scenario, filePath } of loaded) {
253
+ const tgs = toTestGraded(scenario, targetUrl)
254
+ const startedAt = Date.now()
255
+
256
+ // ── 0.21 Directive 1: per-run RawProviderSink ──────────────────────
257
+ // Allocated even when no LLM judge runs — the cost is one (possibly
258
+ // empty) NDJSON file per scenario, and the alternative is a silent
259
+ // partial-capture bug the next time someone wires in an LLM judge.
260
+ // Exposed via globalThis so the ad-hoc judge call sites in this
261
+ // template's `judges/` dir pick it up without explicit plumbing.
262
+ let rawSink: RawProviderSink | undefined
263
+ if (integrityMode !== 'off') {
264
+ rawSink = new FileSystemRawProviderSink({
265
+ dir: join(rawEventsDir, scenario.id),
266
+ })
267
+ globalThis.__agentEvalRawSink = rawSink
268
+ }
269
+
270
+ let result: TestGradedRunResult
271
+ try {
272
+ result = await runTestGradedScenario(tgs, traceStore, { driver, variantId })
273
+ } catch (err) {
274
+ outcomes.push({
275
+ scenarioId: scenario.id,
276
+ pass: false,
277
+ score: 0,
278
+ durationMs: Date.now() - startedAt,
279
+ failureClass: 'harness_error',
280
+ filePath,
281
+ runId: '',
282
+ })
283
+ console.error(` ✗ ${scenario.id} — harness error: ${(err as Error).message}`)
284
+ continue
285
+ } finally {
286
+ // Always drop the global handle so the next scenario gets its own
287
+ // sink (or none, when integrity is off).
288
+ globalThis.__agentEvalRawSink = undefined
289
+ }
290
+
291
+ // ── 0.21 Directive 3: assert the run captured before declaring done ─
292
+ // Read-only. We do NOT set `requireRawCoverageOfLlmSpans` because
293
+ // the test-graded path may not call any LLM at all (the default
294
+ // testCommand is a curl). When an LLM judge IS wired the sink will
295
+ // be populated and consumers can tighten this in `runIntegrityExpect`.
296
+ let integrityIssues: string[] | undefined
297
+ if (integrityMode !== 'off' && result.runId) {
298
+ const report = await assertRunCaptured(traceStore, result.runId, {
299
+ rawSink,
300
+ // requireOutcome: the harness always sets pass/score, so this is
301
+ // a cheap belt-and-suspenders check.
302
+ requireOutcome: true,
303
+ })
304
+ integrityReports[result.runId] = report
305
+ if (!report.ok) {
306
+ integrityIssues = report.issues.map((i) => i.code)
307
+ }
308
+ }
309
+
310
+ const integrityFailed = integrityMode === 'strict' && integrityIssues !== undefined
311
+ outcomes.push({
312
+ scenarioId: scenario.id,
313
+ pass: integrityFailed ? false : result.pass,
314
+ score: integrityFailed ? 0 : result.score,
315
+ durationMs: Date.now() - startedAt,
316
+ failureClass: integrityFailed ? 'integrity' : (result.failureClass ?? null),
317
+ filePath,
318
+ runId: result.runId,
319
+ ...(integrityIssues ? { integrityIssues } : {}),
320
+ })
321
+ const mark = integrityFailed ? '✗' : result.pass ? '✓' : '✗'
322
+ const integritySuffix = integrityIssues ? ` (integrity: ${integrityIssues.join(', ')})` : ''
323
+ console.log(
324
+ ` ${mark} ${scenario.id} — score=${result.score.toFixed(3)}${integritySuffix}`,
325
+ )
326
+ }
327
+
328
+ const passCount = outcomes.filter((o) => o.pass).length
329
+ const aggregate = outcomes.reduce((a, o) => a + o.score, 0) / Math.max(outcomes.length, 1)
330
+
331
+ const flows: ScorecardFlow[] = outcomes.map((o) => ({
332
+ name: o.scenarioId,
333
+ value: o.score,
334
+ target: 1.0,
335
+ status: o.pass ? 'pass' : 'fail',
336
+ direction: 'higher-better',
337
+ productValueClaim: `Scenario "${o.scenarioId}" — pass rate against the agent under test.`,
338
+ }))
339
+ const report: RunReport = {
340
+ timestamp: new Date().toISOString(),
341
+ variantId,
342
+ scenarioCount: outcomes.length,
343
+ passCount,
344
+ aggregate,
345
+ threshold,
346
+ outcomes,
347
+ tracesDir,
348
+ rawEventsDir: integrityMode === 'off' ? null : rawEventsDir,
349
+ scorecardPath,
350
+ integrityMode,
351
+ integrityReports,
352
+ }
353
+ await writeScorecard(scorecardPath, {
354
+ product: process.env.EVAL_PRODUCT_NAME ?? 'eval-harness',
355
+ timestamp: report.timestamp,
356
+ aggregate,
357
+ coverage: `${passCount}/${outcomes.length} scenarios passed`,
358
+ flows,
359
+ })
360
+ const integritySummary =
361
+ integrityMode === 'off'
362
+ ? 'integrity=off'
363
+ : `integrity=${integrityMode} ` +
364
+ `${Object.values(integrityReports).filter((r) => !r.ok).length}/${
365
+ Object.keys(integrityReports).length
366
+ } flagged`
367
+ console.log(
368
+ `\naggregate=${aggregate.toFixed(3)} pass=${passCount}/${outcomes.length} threshold=${threshold} ${integritySummary}`,
369
+ )
370
+ return report
371
+ }
372
+
373
+ // CLI-friendly default — invoked from `pnpm eval` when this file is the entry.
374
+ if (import.meta.url === pathToFileURL(process.argv[1] ?? '').href) {
375
+ const projectRoot = process.env.EVAL_PROJECT_ROOT ?? DEFAULT_ROOT
376
+ runHarness({ projectRoot })
377
+ .then((r) => {
378
+ process.exitCode = r.aggregate < r.threshold ? 1 : 0
379
+ })
380
+ .catch((err) => {
381
+ console.error('[runner] fatal:', err)
382
+ process.exit(2)
383
+ })
384
+ }
@@ -0,0 +1,89 @@
1
+ // Scorecard emitter — writes scorecard.json in the shape consumed by the
2
+ // project-level dashboard (.evolve/scorecard.json).
3
+ //
4
+ // The shape is intentionally a subset of the parent-repo scorecard so a
5
+ // composed eval harness drops into an existing .evolve workflow without
6
+ // translation. Extra dashboard fields (sourceMtime, stale, etc.) are
7
+ // only relevant when the parent repo aggregates multiple inputs — for a
8
+ // standalone harness, the runner's outputs are the single source.
9
+
10
+ import { writeFile, mkdir } from 'node:fs/promises'
11
+ import { dirname } from 'node:path'
12
+
13
+ export type FlowDirection = 'higher-better' | 'lower-better'
14
+ export type FlowStatus = 'pass' | 'fail' | 'skip'
15
+
16
+ export interface ScorecardFlow {
17
+ name: string
18
+ value: number
19
+ target: number
20
+ status: FlowStatus
21
+ productValueClaim: string
22
+ direction: FlowDirection
23
+ }
24
+
25
+ export interface Scorecard {
26
+ product: string
27
+ timestamp: string
28
+ aggregate: number
29
+ coverage: string
30
+ flows: ScorecardFlow[]
31
+ }
32
+
33
+ export async function writeScorecard(path: string, scorecard: Scorecard): Promise<void> {
34
+ await mkdir(dirname(path), { recursive: true })
35
+ await writeFile(path, JSON.stringify(scorecard, null, 2) + '\n', 'utf8')
36
+ }
37
+
38
+ export async function readScorecard(path: string): Promise<Scorecard> {
39
+ const { readFile } = await import('node:fs/promises')
40
+ const raw = await readFile(path, 'utf8')
41
+ return JSON.parse(raw) as Scorecard
42
+ }
43
+
44
+ export interface ScorecardDiff {
45
+ baseline: Scorecard
46
+ head: Scorecard
47
+ aggregateDelta: number
48
+ perFlow: Array<{
49
+ name: string
50
+ baseline: number | null
51
+ head: number | null
52
+ delta: number | null
53
+ status: 'improved' | 'regressed' | 'stable' | 'introduced' | 'removed'
54
+ }>
55
+ }
56
+
57
+ const STABILITY_EPSILON = 0.005
58
+
59
+ export function diffScorecards(baseline: Scorecard, head: Scorecard): ScorecardDiff {
60
+ const baselineByName = new Map<string, ScorecardFlow>()
61
+ for (const f of baseline.flows) baselineByName.set(f.name, f)
62
+ const headByName = new Map<string, ScorecardFlow>()
63
+ for (const f of head.flows) headByName.set(f.name, f)
64
+ const allNames = new Set<string>([...baselineByName.keys(), ...headByName.keys()])
65
+ const perFlow: ScorecardDiff['perFlow'] = []
66
+ for (const name of allNames) {
67
+ const b = baselineByName.get(name)
68
+ const h = headByName.get(name)
69
+ if (b && h) {
70
+ const delta = h.value - b.value
71
+ let status: ScorecardDiff['perFlow'][number]['status'] = 'stable'
72
+ if (Math.abs(delta) >= STABILITY_EPSILON) {
73
+ const better = h.direction === 'higher-better' ? delta > 0 : delta < 0
74
+ status = better ? 'improved' : 'regressed'
75
+ }
76
+ perFlow.push({ name, baseline: b.value, head: h.value, delta, status })
77
+ } else if (b) {
78
+ perFlow.push({ name, baseline: b.value, head: null, delta: null, status: 'removed' })
79
+ } else if (h) {
80
+ perFlow.push({ name, baseline: null, head: h.value, delta: null, status: 'introduced' })
81
+ }
82
+ }
83
+ return {
84
+ baseline,
85
+ head,
86
+ aggregateDelta: head.aggregate - baseline.aggregate,
87
+ perFlow,
88
+ }
89
+ }
@@ -0,0 +1,14 @@
1
+ // Fixture: scenario missing the required `thesis` field. The layer's
2
+ // strict loader must reject this; the family's pre-fix loader silently
3
+ // accepted it.
4
+ const scenario = {
5
+ id: 'fixture-bad',
6
+ persona: 'developer',
7
+ label: 'missing-thesis',
8
+ // NB: thesis intentionally omitted to trigger the strict validator.
9
+ dimensions: ['success'],
10
+ turns: [{ user: 'hi' }],
11
+ artifactChecks: [],
12
+ }
13
+
14
+ export default scenario