@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.
- package/LICENSE-APACHE +201 -0
- package/README.md +63 -174
- package/corpus/template-family-mapping.json +0 -1
- package/dist/cli.js +206 -85
- package/dist/cli.js.map +1 -1
- package/dist/eval/diagnoser.d.ts +2 -2
- package/dist/eval/diagnoser.js +28 -7
- package/dist/eval/diagnoser.js.map +1 -1
- package/dist/eval/propose.js +1 -1
- package/dist/eval/propose.js.map +1 -1
- package/dist/eval/replay.d.ts +8 -8
- package/dist/eval/replay.js +44 -21
- package/dist/eval/replay.js.map +1 -1
- package/dist/eval/scaffold-bridge.d.ts +6 -6
- package/dist/eval/scaffold-bridge.js +103 -30
- package/dist/eval/scaffold-bridge.js.map +1 -1
- package/dist/lib/agent-bundle.d.ts +278 -0
- package/dist/lib/agent-bundle.js +411 -0
- package/dist/lib/agent-bundle.js.map +1 -0
- package/dist/lib/agent-context.js +4 -4
- package/dist/lib/agent-context.js.map +1 -1
- package/dist/lib/agent-runners.d.ts +2 -2
- package/dist/lib/agent-runners.js +5 -3
- package/dist/lib/agent-runners.js.map +1 -1
- package/dist/lib/augment.js.map +1 -1
- package/dist/lib/brand/first-turn-flows.js +5 -3
- package/dist/lib/brand/first-turn-flows.js.map +1 -1
- package/dist/lib/brand/i18n.d.ts +2 -2
- package/dist/lib/brand/i18n.js +37 -7
- package/dist/lib/brand/i18n.js.map +1 -1
- package/dist/lib/brand/index.js +43 -8
- package/dist/lib/brand/index.js.map +1 -1
- package/dist/lib/brand/media-manifest.d.ts +2 -2
- package/dist/lib/brand/media-manifest.js +20 -4
- package/dist/lib/brand/media-manifest.js.map +1 -1
- package/dist/lib/brand/user-segments.js +49 -16
- package/dist/lib/brand/user-segments.js.map +1 -1
- package/dist/lib/brand/voice.js.map +1 -1
- package/dist/lib/bridge.d.ts +2 -2
- package/dist/lib/bridge.js +18 -14
- package/dist/lib/bridge.js.map +1 -1
- package/dist/lib/build-plan.d.ts +1 -1
- package/dist/lib/build-plan.js +66 -15
- package/dist/lib/build-plan.js.map +1 -1
- package/dist/lib/buildout-traces.d.ts +3 -3
- package/dist/lib/buildout-traces.js +4 -4
- package/dist/lib/buildout-traces.js.map +1 -1
- package/dist/lib/canary.js.map +1 -1
- package/dist/lib/capability-inferrer.d.ts +2 -2
- package/dist/lib/capability-inferrer.js +1 -1
- package/dist/lib/capability-inferrer.js.map +1 -1
- package/dist/lib/catalog.d.ts +2 -2
- package/dist/lib/cli/export-runs.d.ts +13 -0
- package/dist/lib/cli/export-runs.js +57 -0
- package/dist/lib/cli/export-runs.js.map +1 -0
- package/dist/lib/cli/gate.d.ts +11 -0
- package/dist/lib/cli/gate.js +60 -0
- package/dist/lib/cli/gate.js.map +1 -0
- package/dist/lib/cli/profiles.d.ts +12 -0
- package/dist/lib/cli/profiles.js +63 -0
- package/dist/lib/cli/profiles.js.map +1 -0
- package/dist/lib/cli/refresh-snapshots.d.ts +15 -0
- package/dist/lib/cli/refresh-snapshots.js +40 -0
- package/dist/lib/cli/refresh-snapshots.js.map +1 -0
- package/dist/lib/compose-prompt.d.ts +1 -1
- package/dist/lib/compose-prompt.js +1 -1
- package/dist/lib/compose-prompt.js.map +1 -1
- package/dist/lib/compose.d.ts +1 -1
- package/dist/lib/compose.js +212 -33
- package/dist/lib/compose.js.map +1 -1
- package/dist/lib/context-pack.d.ts +1 -1
- package/dist/lib/context-pack.js +2 -1
- package/dist/lib/context-pack.js.map +1 -1
- package/dist/lib/cost.js +2 -1
- package/dist/lib/cost.js.map +1 -1
- package/dist/lib/domain-packs.d.ts +31 -0
- package/dist/lib/domain-packs.js +261 -0
- package/dist/lib/domain-packs.js.map +1 -0
- package/dist/lib/eval/ab.js.map +1 -0
- package/dist/lib/{audit.d.ts → eval/audit.d.ts} +1 -1
- package/dist/lib/{audit.js → eval/audit.js} +2 -2
- package/dist/lib/eval/audit.js.map +1 -0
- package/dist/lib/{batch-export.js → eval/batch-export.js} +38 -9
- package/dist/lib/eval/batch-export.js.map +1 -0
- package/dist/lib/{benchmark.d.ts → eval/benchmark.d.ts} +1 -1
- package/dist/lib/{benchmark.js → eval/benchmark.js} +4 -4
- package/dist/lib/eval/benchmark.js.map +1 -0
- package/dist/lib/eval/emit-run-record.d.ts +38 -0
- package/dist/lib/eval/emit-run-record.js +37 -0
- package/dist/lib/eval/emit-run-record.js.map +1 -0
- package/dist/lib/{prove.d.ts → eval/prove.d.ts} +2 -2
- package/dist/lib/{prove.js → eval/prove.js} +2 -2
- package/dist/lib/eval/prove.js.map +1 -0
- package/dist/lib/{reproducibility.d.ts → eval/reproducibility.d.ts} +3 -3
- package/dist/lib/eval/reproducibility.js.map +1 -0
- package/dist/lib/{sbom.d.ts → eval/sbom.d.ts} +2 -2
- package/dist/lib/{sbom.js → eval/sbom.js} +5 -2
- package/dist/lib/eval/sbom.js.map +1 -0
- package/dist/lib/fatten.d.ts +2 -2
- package/dist/lib/fatten.js +38 -10
- package/dist/lib/fatten.js.map +1 -1
- package/dist/lib/fs.js +11 -5
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/held-out-gate.d.ts +88 -0
- package/dist/lib/held-out-gate.js +177 -0
- package/dist/lib/held-out-gate.js.map +1 -0
- package/dist/lib/index.d.ts +24 -13
- package/dist/lib/index.js +17 -8
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/industries.js +2 -2
- package/dist/lib/industries.js.map +1 -1
- package/dist/lib/industry-flows.js +3 -5
- package/dist/lib/industry-flows.js.map +1 -1
- package/dist/lib/keywords.js +31 -21
- package/dist/lib/keywords.js.map +1 -1
- package/dist/lib/llm.js +22 -21
- package/dist/lib/llm.js.map +1 -1
- package/dist/lib/planner/contracts.js +45 -13
- package/dist/lib/planner/contracts.js.map +1 -1
- package/dist/lib/planner/detectors.js +31 -9
- package/dist/lib/planner/detectors.js.map +1 -1
- package/dist/lib/planner/domain-pack-signals.d.ts +6 -0
- package/dist/lib/planner/domain-pack-signals.js +36 -0
- package/dist/lib/planner/domain-pack-signals.js.map +1 -0
- package/dist/lib/planner/implicit-caps.js +12 -2
- package/dist/lib/planner/implicit-caps.js.map +1 -1
- package/dist/lib/planner/partner-first.d.ts +0 -14
- package/dist/lib/planner/partner-first.js +14 -14
- package/dist/lib/planner/partner-first.js.map +1 -1
- package/dist/lib/planner/projects.d.ts +5 -1
- package/dist/lib/planner/projects.js +460 -113
- package/dist/lib/planner/projects.js.map +1 -1
- package/dist/lib/planner/signals.d.ts +9 -0
- package/dist/lib/planner/signals.js +195 -27
- package/dist/lib/planner/signals.js.map +1 -1
- package/dist/lib/product-brief.js +4 -1
- package/dist/lib/product-brief.js.map +1 -1
- package/dist/lib/profile-loader.d.ts +56 -0
- package/dist/lib/profile-loader.js +144 -0
- package/dist/lib/profile-loader.js.map +1 -0
- package/dist/lib/promoter-gates.js +86 -22
- package/dist/lib/promoter-gates.js.map +1 -1
- package/dist/lib/prompt-e2e.d.ts +3 -3
- package/dist/lib/prompt-e2e.js +1 -1
- package/dist/lib/prompt-e2e.js.map +1 -1
- package/dist/lib/prompt-planner.js +428 -88
- package/dist/lib/prompt-planner.js.map +1 -1
- package/dist/lib/prompt-rewriter.d.ts +2 -1
- package/dist/lib/prompt-rewriter.js +6 -3
- package/dist/lib/prompt-rewriter.js.map +1 -1
- package/dist/lib/registry-mirror.d.ts +2 -2
- package/dist/lib/registry-mirror.js +3 -1
- package/dist/lib/registry-mirror.js.map +1 -1
- package/dist/lib/registry.d.ts +6 -6
- package/dist/lib/registry.js +193 -12
- package/dist/lib/registry.js.map +1 -1
- package/dist/lib/release.js +7 -4
- package/dist/lib/release.js.map +1 -1
- package/dist/lib/reviewer-route.js +33 -19
- package/dist/lib/reviewer-route.js.map +1 -1
- package/dist/lib/run-canaries.d.ts +102 -0
- package/dist/lib/run-canaries.js +305 -0
- package/dist/lib/run-canaries.js.map +1 -0
- package/dist/lib/run-record-store.d.ts +21 -0
- package/dist/lib/run-record-store.js +61 -0
- package/dist/lib/run-record-store.js.map +1 -0
- package/dist/lib/run-record.d.ts +105 -0
- package/dist/lib/run-record.js +189 -0
- package/dist/lib/run-record.js.map +1 -0
- package/dist/lib/safety/license-check.js +18 -10
- package/dist/lib/safety/license-check.js.map +1 -1
- package/dist/lib/safety/secret-scan.js +15 -1
- package/dist/lib/safety/secret-scan.js.map +1 -1
- package/dist/lib/selection.d.ts +15 -0
- package/dist/lib/selection.js +138 -17
- package/dist/lib/selection.js.map +1 -1
- package/dist/lib/semantic-router.d.ts +5 -1
- package/dist/lib/semantic-router.js +7 -3
- package/dist/lib/semantic-router.js.map +1 -1
- package/dist/lib/snapshot-resolver.d.ts +94 -0
- package/dist/lib/snapshot-resolver.js +228 -0
- package/dist/lib/snapshot-resolver.js.map +1 -0
- package/dist/lib/synthetic/index.js +4 -2
- package/dist/lib/synthetic/index.js.map +1 -1
- package/dist/lib/telemetry/stream.js +3 -1
- package/dist/lib/telemetry/stream.js.map +1 -1
- package/dist/lib/telemetry.d.ts +2 -1
- package/dist/lib/telemetry.js +8 -2
- package/dist/lib/telemetry.js.map +1 -1
- package/dist/lib/template-quality.d.ts +2 -2
- package/dist/lib/template-quality.js +6 -4
- package/dist/lib/template-quality.js.map +1 -1
- package/dist/lib/validate-plan.js +4 -1
- package/dist/lib/validate-plan.js.map +1 -1
- package/dist/lib/validate.d.ts +5 -1
- package/dist/lib/validate.js +340 -4
- package/dist/lib/validate.js.map +1 -1
- package/dist/lib/vb-outcomes.d.ts +2 -2
- package/dist/lib/vb-outcomes.js.map +1 -1
- package/dist/lib/version-history.js.map +1 -1
- package/dist/lib/visual-regression.d.ts +2 -2
- package/dist/lib/visual-regression.js.map +1 -1
- package/dist/lib/workspace-presets.d.ts +125 -0
- package/dist/lib/workspace-presets.js +364 -0
- package/dist/lib/workspace-presets.js.map +1 -0
- package/dist/lib/workspace.d.ts +6 -6
- package/dist/lib/workspace.js +8 -7
- package/dist/lib/workspace.js.map +1 -1
- package/dist/training/capability_proposer/propose.d.ts +2 -3
- package/dist/training/capability_proposer/propose.js +26 -15
- package/dist/training/capability_proposer/propose.js.map +1 -1
- package/dist/training/family_proposer/propose.d.ts +2 -3
- package/dist/training/family_proposer/propose.js +275 -42
- package/dist/training/family_proposer/propose.js.map +1 -1
- package/dist/training/routing/train.d.ts +2 -2
- package/dist/training/routing/train.js +9 -6
- package/dist/training/routing/train.js.map +1 -1
- package/dist/training/template_v1/audit.js +5 -3
- package/dist/training/template_v1/audit.js.map +1 -1
- package/dist/training/template_v1/correctness.js +10 -11
- package/dist/training/template_v1/correctness.js.map +1 -1
- package/dist/training/template_v1/harvest.d.ts +6 -6
- package/dist/training/template_v1/harvest.js +1 -3
- package/dist/training/template_v1/harvest.js.map +1 -1
- package/dist/training/template_v1/judge.d.ts +1 -1
- package/dist/training/template_v1/judge.js +7 -4
- package/dist/training/template_v1/judge.js.map +1 -1
- package/dist/training/template_v1/multi-propose.d.ts +3 -3
- package/dist/training/template_v1/multi-propose.js +3 -2
- package/dist/training/template_v1/multi-propose.js.map +1 -1
- package/dist/training/template_v1/run.js +34 -17
- package/dist/training/template_v1/run.js.map +1 -1
- package/dist/training/template_v1/synthesize.js +9 -3
- package/dist/training/template_v1/synthesize.js.map +1 -1
- package/dist/training/variant_b/brief-loader.js +32 -12
- package/dist/training/variant_b/brief-loader.js.map +1 -1
- package/dist/training/variant_b/flow.d.ts +2 -2
- package/dist/training/variant_b/flow.js +2 -2
- package/dist/training/variant_b/flow.js.map +1 -1
- package/dist/training/variant_b/generate.js +8 -4
- package/dist/training/variant_b/generate.js.map +1 -1
- package/dist/training/variant_b/judge.d.ts +2 -3
- package/dist/training/variant_b/judge.js.map +1 -1
- package/dist/training/variant_b/nodes/collect.d.ts +2 -2
- package/dist/training/variant_b/nodes/collect.js.map +1 -1
- package/dist/training/variant_b/nodes/generate.js +12 -3
- package/dist/training/variant_b/nodes/generate.js.map +1 -1
- package/dist/training/variant_b/nodes/judge.js.map +1 -1
- package/dist/training/variant_b/nodes/promote.d.ts +2 -2
- package/dist/training/variant_b/nodes/promote.js.map +1 -1
- package/dist/training/variant_b/nodes/rank.js.map +1 -1
- package/dist/training/variant_b/nodes/train.js +13 -7
- package/dist/training/variant_b/nodes/train.js.map +1 -1
- package/dist/training/variant_b/run-flow.js +1 -1
- package/dist/training/variant_b/run-flow.js.map +1 -1
- package/dist/training/variant_b/train.js +1 -1
- package/dist/training/variant_b/train.js.map +1 -1
- package/dist/types/compose.d.ts +126 -0
- package/dist/types/compose.js +5 -0
- package/dist/types/compose.js.map +1 -0
- package/dist/types/eval.d.ts +89 -0
- package/dist/types/eval.js +5 -0
- package/dist/types/eval.js.map +1 -0
- package/dist/types/ids.d.ts +46 -0
- package/dist/types/ids.js +87 -0
- package/dist/types/ids.js.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +10 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/planner.d.ts +64 -0
- package/dist/types/planner.js +4 -0
- package/dist/types/planner.js.map +1 -0
- package/dist/types/registry-schemas.generated.d.ts +96 -1
- package/dist/types/registry-schemas.generated.js +2 -2
- package/dist/types/registry-schemas.generated.js.map +1 -1
- package/dist/types/registry.d.ts +243 -0
- package/dist/types/registry.js +4 -0
- package/dist/types/registry.js.map +1 -0
- package/dist/types.d.ts +1 -444
- package/dist/types.js +6 -1
- package/dist/types.js.map +1 -1
- package/package.json +107 -51
- package/registry/_schemas/agent.schema.json +101 -0
- package/registry/_schemas/family.schema.json +62 -2
- package/registry/_schemas/layer.schema.json +70 -0
- package/registry/families/agent-debug-ui-ts/files/.env.example +13 -0
- package/registry/families/agent-debug-ui-ts/files/README.md +78 -0
- package/registry/families/agent-debug-ui-ts/files/index.html +12 -0
- package/registry/families/agent-debug-ui-ts/files/package.json +28 -0
- package/registry/families/agent-debug-ui-ts/files/src/App.tsx +224 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/ChatPair.tsx +69 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/EventInspector.tsx +36 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/EventStream.tsx +122 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/ReplayScrubber.tsx +59 -0
- package/registry/families/agent-debug-ui-ts/files/src/components/ToolCallTimeline.tsx +136 -0
- package/registry/families/agent-debug-ui-ts/files/src/lib/event-types.ts +115 -0
- package/registry/families/agent-debug-ui-ts/files/src/lib/sandbox-stream.ts +133 -0
- package/registry/families/agent-debug-ui-ts/files/src/main.tsx +13 -0
- package/registry/families/agent-debug-ui-ts/files/src/styles.css +382 -0
- package/registry/families/agent-debug-ui-ts/files/tsconfig.json +25 -0
- package/registry/families/agent-debug-ui-ts/files/tsconfig.node.json +11 -0
- package/registry/families/agent-debug-ui-ts/files/vite.config.ts +15 -0
- package/registry/families/agent-debug-ui-ts/manifest.json +91 -0
- package/registry/families/agent-eval-harness-py/files/.github/workflows/eval.yml +70 -0
- package/registry/families/agent-eval-harness-py/files/AGENTS.md +135 -0
- package/registry/families/agent-eval-harness-py/files/README.md +145 -0
- package/registry/families/agent-eval-harness-py/files/agent.json +30 -0
- package/registry/families/agent-eval-harness-py/files/pyproject.toml +48 -0
- package/registry/families/agent-eval-harness-py/files/requirements.txt +7 -0
- package/registry/families/agent-eval-harness-py/files/scenarios/__init__.py +1 -0
- package/registry/families/agent-eval-harness-py/files/scenarios/example.py +50 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/__init__.py +57 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/__main__.py +10 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/cli.py +281 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/judges/__init__.py +27 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/judges/example_judge.py +52 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/judges/rubric.py +299 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/regression.py +299 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/runner.py +320 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/sandbox_runner.py +194 -0
- package/registry/families/agent-eval-harness-py/files/src/eval/scorecard.py +192 -0
- package/registry/families/agent-eval-harness-py/files/tests/__init__.py +0 -0
- package/registry/families/agent-eval-harness-py/files/tests/test_regression.py +266 -0
- package/registry/families/agent-eval-harness-py/files/tests/test_runner.py +291 -0
- package/registry/families/agent-eval-harness-py/files/tests/test_sandbox.py +258 -0
- package/registry/families/agent-eval-harness-py/manifest.json +209 -0
- package/registry/families/agent-eval-harness-ts/files/.github/workflows/eval.yml +55 -0
- package/registry/families/agent-eval-harness-ts/files/AGENTS.md +114 -0
- package/registry/families/agent-eval-harness-ts/files/README.md +138 -0
- package/registry/families/agent-eval-harness-ts/files/agent.json +32 -0
- package/registry/families/agent-eval-harness-ts/files/judges/example.judge.ts +23 -0
- package/registry/families/agent-eval-harness-ts/files/package.json +24 -0
- package/registry/families/agent-eval-harness-ts/files/scenarios/.gitkeep +0 -0
- package/registry/families/agent-eval-harness-ts/files/scenarios/example.scenario.ts +34 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/campaign.ts +137 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/cli.ts +65 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/runner.ts +384 -0
- package/registry/families/agent-eval-harness-ts/files/src/eval/scorecard.ts +89 -0
- package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-bad/missing-thesis.scenario.ts +14 -0
- package/registry/families/agent-eval-harness-ts/files/tests/fixtures/scenarios-good/example.scenario.ts +15 -0
- package/registry/families/agent-eval-harness-ts/files/tests/scenario-loader-import.test.ts +63 -0
- package/registry/families/agent-eval-harness-ts/files/tsconfig.json +24 -0
- package/registry/families/agent-eval-harness-ts/manifest.json +123 -0
- package/registry/families/agent-eval-ui-ts/files/.env.example +12 -0
- package/registry/families/agent-eval-ui-ts/files/README.md +66 -0
- package/registry/families/agent-eval-ui-ts/files/index.html +12 -0
- package/registry/families/agent-eval-ui-ts/files/package.json +30 -0
- package/registry/families/agent-eval-ui-ts/files/src/App.tsx +148 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/RunDiff.tsx +91 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/ScoreRadar.tsx +78 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/TraceDetail.tsx +168 -0
- package/registry/families/agent-eval-ui-ts/files/src/components/TraceList.tsx +98 -0
- package/registry/families/agent-eval-ui-ts/files/src/lib/scoring.ts +124 -0
- package/registry/families/agent-eval-ui-ts/files/src/lib/traces.ts +301 -0
- package/registry/families/agent-eval-ui-ts/files/src/main.tsx +16 -0
- package/registry/families/agent-eval-ui-ts/files/src/styles.css +140 -0
- package/registry/families/agent-eval-ui-ts/files/tsconfig.json +24 -0
- package/registry/families/agent-eval-ui-ts/files/vite.config.ts +64 -0
- package/registry/families/agent-eval-ui-ts/manifest.json +101 -0
- package/registry/families/agent-marketplace-ui-ts/files/.env.example +19 -0
- package/registry/families/agent-marketplace-ui-ts/files/README.md +54 -0
- package/registry/families/agent-marketplace-ui-ts/files/next.config.js +18 -0
- package/registry/families/agent-marketplace-ui-ts/files/package.json +31 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/bundles/[id]/page.tsx +78 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/deploy/[id]/page.tsx +28 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/layout.tsx +35 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/page-client.tsx +26 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/app/page.tsx +39 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/AgentsMdPreview.tsx +132 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleCard.tsx +34 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/BundleGrid.tsx +23 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/DeployFlow.tsx +263 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/components/SearchFilters.tsx +61 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/lib/catalog.ts +208 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/lib/search.ts +54 -0
- package/registry/families/agent-marketplace-ui-ts/files/src/styles/globals.css +244 -0
- package/registry/families/agent-marketplace-ui-ts/files/tsconfig.json +27 -0
- package/registry/families/agent-marketplace-ui-ts/manifest.json +104 -0
- package/registry/families/agent-research-harness-py/files/.github/workflows/research.yml +45 -0
- package/registry/families/agent-research-harness-py/files/AGENTS.md +87 -0
- package/registry/families/agent-research-harness-py/files/README.md +63 -0
- package/registry/families/agent-research-harness-py/files/agent.json +45 -0
- package/registry/families/agent-research-harness-py/files/hypotheses/README.md +45 -0
- package/registry/families/agent-research-harness-py/files/hypotheses/example.json +29 -0
- package/registry/families/agent-research-harness-py/files/hypotheses/queue.json +1 -0
- package/registry/families/agent-research-harness-py/files/pyproject.toml +33 -0
- package/registry/families/agent-research-harness-py/files/requirements.txt +6 -0
- package/registry/families/agent-research-harness-py/files/src/research/__init__.py +37 -0
- package/registry/families/agent-research-harness-py/files/src/research/__main__.py +6 -0
- package/registry/families/agent-research-harness-py/files/src/research/cli.py +146 -0
- package/registry/families/agent-research-harness-py/files/src/research/proposer.py +140 -0
- package/registry/families/agent-research-harness-py/files/src/research/runner.py +230 -0
- package/registry/families/agent-research-harness-py/files/src/research/sandbox_runner.py +180 -0
- package/registry/families/agent-research-harness-py/files/src/research/screener.py +55 -0
- package/registry/families/agent-research-harness-py/files/src/research/types.py +128 -0
- package/registry/families/agent-research-harness-py/files/src/research/validator.py +305 -0
- package/registry/families/agent-research-harness-py/files/tests/__init__.py +0 -0
- package/registry/families/agent-research-harness-py/files/tests/test_sandbox.py +181 -0
- package/registry/families/agent-research-harness-py/files/tests/test_screener.py +74 -0
- package/registry/families/agent-research-harness-py/files/tests/test_validator.py +250 -0
- package/registry/families/agent-research-harness-py/manifest.json +199 -0
- package/registry/families/agent-research-harness-ts/files/.github/workflows/research.yml +65 -0
- package/registry/families/agent-research-harness-ts/files/AGENTS.md +121 -0
- package/registry/families/agent-research-harness-ts/files/README.md +155 -0
- package/registry/families/agent-research-harness-ts/files/agent.json +31 -0
- package/registry/families/agent-research-harness-ts/files/hypotheses/README.md +79 -0
- package/registry/families/agent-research-harness-ts/files/hypotheses/example.json +18 -0
- package/registry/families/agent-research-harness-ts/files/hypotheses/queue.json +3 -0
- package/registry/families/agent-research-harness-ts/files/package.json +35 -0
- package/registry/families/agent-research-harness-ts/files/src/research/cli.ts +160 -0
- package/registry/families/agent-research-harness-ts/files/src/research/proposer.ts +215 -0
- package/registry/families/agent-research-harness-ts/files/src/research/runner.ts +253 -0
- package/registry/families/agent-research-harness-ts/files/src/research/screener.ts +105 -0
- package/registry/families/agent-research-harness-ts/files/src/research/types.ts +143 -0
- package/registry/families/agent-research-harness-ts/files/src/research/validator.ts +310 -0
- package/registry/families/agent-research-harness-ts/files/tests/research-runner.test.ts +422 -0
- package/registry/families/agent-research-harness-ts/files/tests/screener.test.ts +93 -0
- package/registry/families/agent-research-harness-ts/files/tests/validator.test.ts +149 -0
- package/registry/families/agent-research-harness-ts/files/tsconfig.json +19 -0
- package/registry/families/agent-research-harness-ts/manifest.json +108 -0
- package/registry/families/agent-runtime-account-executive-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-account-executive-ts/files/README.md +25 -0
- package/registry/families/agent-runtime-account-executive-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-account-executive-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/deal-progression.md +40 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/opportunity-scoring.md +60 -0
- package/registry/families/agent-runtime-account-executive-ts/files/methodology/pipeline-review.md +35 -0
- package/registry/families/agent-runtime-account-executive-ts/manifest.json +151 -0
- package/registry/families/agent-runtime-architect-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-architect-ts/files/README.md +29 -0
- package/registry/families/agent-runtime-architect-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-architect-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/architecture-decision-record.md +157 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/system-design-canvas.md +33 -0
- package/registry/families/agent-runtime-architect-ts/files/methodology/trade-off-analysis.md +146 -0
- package/registry/families/agent-runtime-architect-ts/manifest.json +146 -0
- package/registry/families/agent-runtime-auditor-ts/files/AGENTS.md +99 -0
- package/registry/families/agent-runtime-auditor-ts/files/README.md +28 -0
- package/registry/families/agent-runtime-auditor-ts/files/agent.json +36 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/control-walkthrough.md +80 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/deficiency-write-up.md +101 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/evidence-request-list.md +84 -0
- package/registry/families/agent-runtime-auditor-ts/files/methodology/index.json +22 -0
- package/registry/families/agent-runtime-auditor-ts/manifest.json +96 -0
- package/registry/families/agent-runtime-biology-research-ts/files/AGENTS.md +85 -0
- package/registry/families/agent-runtime-biology-research-ts/files/README.md +46 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/experimental-design.md +134 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/literature-search.md +105 -0
- package/registry/families/agent-runtime-biology-research-ts/files/methodology/sequence-analysis.md +109 -0
- package/registry/families/agent-runtime-biology-research-ts/manifest.json +89 -0
- package/registry/families/agent-runtime-business-partner-ts/files/AGENTS.md +129 -0
- package/registry/families/agent-runtime-business-partner-ts/files/README.md +94 -0
- package/registry/families/agent-runtime-business-partner-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-business-partner-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/decision-journal.md +149 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/okr-design.md +130 -0
- package/registry/families/agent-runtime-business-partner-ts/files/methodology/weekly-review-protocol.md +103 -0
- package/registry/families/agent-runtime-business-partner-ts/manifest.json +194 -0
- package/registry/families/agent-runtime-career-coach-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-career-coach-ts/files/README.md +39 -0
- package/registry/families/agent-runtime-career-coach-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-career-coach-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/decision-framework.md +36 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/market-positioning.md +38 -0
- package/registry/families/agent-runtime-career-coach-ts/files/methodology/self-assessment.md +37 -0
- package/registry/families/agent-runtime-career-coach-ts/manifest.json +142 -0
- package/registry/families/agent-runtime-chef-ts/files/AGENTS.md +75 -0
- package/registry/families/agent-runtime-chef-ts/files/README.md +35 -0
- package/registry/families/agent-runtime-chef-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-chef-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/meal-planning.md +90 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/recipe-development.md +96 -0
- package/registry/families/agent-runtime-chef-ts/files/methodology/technique-guidance.md +90 -0
- package/registry/families/agent-runtime-chef-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/AGENTS.md +80 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/README.md +28 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/compound-data-extraction.md +104 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/literature-search.md +101 -0
- package/registry/families/agent-runtime-chemistry-research-ts/files/methodology/reaction-planning.md +125 -0
- package/registry/families/agent-runtime-chemistry-research-ts/manifest.json +156 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/AGENTS.md +86 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/README.md +52 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/channel-experiment-design.md +101 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/icp-deep-dive.md +99 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/files/methodology/positioning-canvas.md +88 -0
- package/registry/families/agent-runtime-cmo-advisor-ts/manifest.json +184 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/README.md +17 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/application-strategy.md +33 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/essay-coaching.md +146 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/financial-aid-navigation.md +153 -0
- package/registry/families/agent-runtime-college-counselor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-college-counselor-ts/manifest.json +144 -0
- package/registry/families/agent-runtime-cs-research-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-cs-research-ts/files/README.md +35 -0
- package/registry/families/agent-runtime-cs-research-ts/files/TOOLS.md +33 -0
- package/registry/families/agent-runtime-cs-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/citation-graph-exploration.md +36 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/literature-survey.md +40 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/paper-summarization.md +120 -0
- package/registry/families/agent-runtime-cs-research-ts/files/methodology/research-question-formulation.md +132 -0
- package/registry/families/agent-runtime-cs-research-ts/manifest.json +157 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/AGENTS.md +58 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/README.md +29 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/debug-code.md +33 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/explain-concept.md +34 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/generate-exercise.md +44 -0
- package/registry/families/agent-runtime-cs-tutor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-cs-tutor-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-customer-success-ts/files/AGENTS.md +64 -0
- package/registry/families/agent-runtime-customer-success-ts/files/README.md +32 -0
- package/registry/families/agent-runtime-customer-success-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-customer-success-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/escalation-triage.md +44 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/health-score.md +41 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/qbr-framework.md +39 -0
- package/registry/families/agent-runtime-customer-success-ts/files/methodology/retention-playbook.md +39 -0
- package/registry/families/agent-runtime-customer-success-ts/manifest.json +156 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/README.md +34 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/ad-hoc-query.md +39 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/dashboard-design.md +127 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/data-quality-audit.md +138 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/exploratory-analysis.md +33 -0
- package/registry/families/agent-runtime-data-analyst-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-data-analyst-ts/manifest.json +154 -0
- package/registry/families/agent-runtime-designer-ts/files/AGENTS.md +60 -0
- package/registry/families/agent-runtime-designer-ts/files/README.md +25 -0
- package/registry/families/agent-runtime-designer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-designer-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/design-critique.md +140 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/prototyping-guide.md +32 -0
- package/registry/families/agent-runtime-designer-ts/files/methodology/ux-strategy.md +39 -0
- package/registry/families/agent-runtime-designer-ts/manifest.json +143 -0
- package/registry/families/agent-runtime-devops-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-devops-ts/files/README.md +30 -0
- package/registry/families/agent-runtime-devops-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-devops-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/iac-review.md +39 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/incident-response-protocol.md +36 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-devops-ts/files/methodology/runbook-automation.md +32 -0
- package/registry/families/agent-runtime-devops-ts/manifest.json +149 -0
- package/registry/families/agent-runtime-doctor-ts/files/AGENTS.md +70 -0
- package/registry/families/agent-runtime-doctor-ts/files/README.md +33 -0
- package/registry/families/agent-runtime-doctor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-doctor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/medical-reference.md +42 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/symptom-explainer.md +34 -0
- package/registry/families/agent-runtime-doctor-ts/files/methodology/treatment-overview.md +36 -0
- package/registry/families/agent-runtime-doctor-ts/manifest.json +143 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/AGENTS.md +64 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/README.md +18 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/agent.json +41 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/incident-postmortem.md +124 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/one-on-one-cadence.md +109 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/sprint-planning.md +122 -0
- package/registry/families/agent-runtime-engineering-manager-ts/files/methodology/tech-debt-triage.md +113 -0
- package/registry/families/agent-runtime-engineering-manager-ts/manifest.json +154 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/AGENTS.md +62 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/README.md +24 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/argument-structuring.md +30 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/revision-cycle.md +32 -0
- package/registry/families/agent-runtime-essay-coach-ts/files/methodology/thesis-development.md +38 -0
- package/registry/families/agent-runtime-essay-coach-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/AGENTS.md +67 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/README.md +19 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/equity-research.md +145 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/financial-modeling.md +132 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-financial-analyst-ts/files/methodology/investment-memo.md +146 -0
- package/registry/families/agent-runtime-financial-analyst-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/AGENTS.md +141 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/README.md +76 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/deload-prompt.md +106 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/form-check-protocol.md +136 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/index.json +26 -0
- package/registry/families/agent-runtime-fitness-coach-ts/files/methodology/weekly-program.md +115 -0
- package/registry/families/agent-runtime-fitness-coach-ts/manifest.json +193 -0
- package/registry/families/agent-runtime-friend-ts/files/AGENTS.md +82 -0
- package/registry/families/agent-runtime-friend-ts/files/README.md +32 -0
- package/registry/families/agent-runtime-friend-ts/files/agent.json +35 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/check-in-protocol.md +54 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/index.json +22 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/rapport-warm.md +50 -0
- package/registry/families/agent-runtime-friend-ts/files/methodology/topic-pivot.md +53 -0
- package/registry/families/agent-runtime-friend-ts/manifest.json +92 -0
- package/registry/families/agent-runtime-game-designer-ts/files/AGENTS.md +56 -0
- package/registry/families/agent-runtime-game-designer-ts/files/README.md +32 -0
- package/registry/families/agent-runtime-game-designer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-game-designer-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/mechanic-design.md +110 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/narrative-system.md +135 -0
- package/registry/families/agent-runtime-game-designer-ts/files/methodology/player-loop.md +143 -0
- package/registry/families/agent-runtime-game-designer-ts/manifest.json +150 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/AGENTS.md +60 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/README.md +17 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/deadline-tracker.md +140 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/grant-proposal-canvas.md +37 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-grant-writer-ts/files/methodology/reporting-template.md +30 -0
- package/registry/families/agent-runtime-grant-writer-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/AGENTS.md +59 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/README.md +22 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/historiographic-debate.md +123 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/source-analysis.md +117 -0
- package/registry/families/agent-runtime-history-tutor-ts/files/methodology/timeline-reasoning.md +134 -0
- package/registry/families/agent-runtime-history-tutor-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-illustrator-ts/files/AGENTS.md +64 -0
- package/registry/families/agent-runtime-illustrator-ts/files/README.md +29 -0
- package/registry/families/agent-runtime-illustrator-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-illustrator-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/art-direction-canvas.md +31 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/composition-guide.md +36 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-illustrator-ts/files/methodology/style-development.md +39 -0
- package/registry/families/agent-runtime-illustrator-ts/manifest.json +146 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/AGENTS.md +111 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/README.md +101 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/daily-conversation-prompt.md +103 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/index.json +27 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/shadowing-protocol.md +102 -0
- package/registry/families/agent-runtime-language-tutor-ts/files/methodology/vocabulary-drill.md +121 -0
- package/registry/families/agent-runtime-language-tutor-ts/manifest.json +187 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/AGENTS.md +114 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/README.md +77 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/contract-redline-protocol.md +111 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/msa-checklist.md +190 -0
- package/registry/families/agent-runtime-legal-counsel-ts/files/methodology/nda-checklist.md +122 -0
- package/registry/families/agent-runtime-legal-counsel-ts/manifest.json +178 -0
- package/registry/families/agent-runtime-math-research-ts/files/AGENTS.md +67 -0
- package/registry/families/agent-runtime-math-research-ts/files/README.md +18 -0
- package/registry/families/agent-runtime-math-research-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-math-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/literature-review.md +106 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/mathematical-reasoning.md +126 -0
- package/registry/families/agent-runtime-math-research-ts/files/methodology/proof-verification.md +140 -0
- package/registry/families/agent-runtime-math-research-ts/manifest.json +150 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/AGENTS.md +70 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/README.md +37 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/concept-explanation.md +67 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/problem-generation.md +47 -0
- package/registry/families/agent-runtime-math-tutor-ts/files/methodology/step-by-step-solution.md +58 -0
- package/registry/families/agent-runtime-math-tutor-ts/manifest.json +143 -0
- package/registry/families/agent-runtime-mediator-ts/files/AGENTS.md +75 -0
- package/registry/families/agent-runtime-mediator-ts/files/README.md +30 -0
- package/registry/families/agent-runtime-mediator-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-mediator-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/agreement-drafting.md +36 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/de-escalation-protocol.md +41 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/index.json +26 -0
- package/registry/families/agent-runtime-mediator-ts/files/methodology/structured-dialogue.md +42 -0
- package/registry/families/agent-runtime-mediator-ts/manifest.json +147 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/AGENTS.md +74 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/README.md +26 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/guided-session.md +33 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/index.json +26 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/mindfulness-check.md +139 -0
- package/registry/families/agent-runtime-meditation-coach-ts/files/methodology/technique-cue.md +141 -0
- package/registry/families/agent-runtime-meditation-coach-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-ml-research-ts/files/AGENTS.md +71 -0
- package/registry/families/agent-runtime-ml-research-ts/files/README.md +19 -0
- package/registry/families/agent-runtime-ml-research-ts/files/TOOLS.md +32 -0
- package/registry/families/agent-runtime-ml-research-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/experiment-design.md +141 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/literature-review.md +115 -0
- package/registry/families/agent-runtime-ml-research-ts/files/methodology/result-interpretation.md +141 -0
- package/registry/families/agent-runtime-ml-research-ts/manifest.json +149 -0
- package/registry/families/agent-runtime-music-producer-ts/files/AGENTS.md +55 -0
- package/registry/families/agent-runtime-music-producer-ts/files/README.md +60 -0
- package/registry/families/agent-runtime-music-producer-ts/files/TOOLS.md +40 -0
- package/registry/families/agent-runtime-music-producer-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/arrangement-review.md +83 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/index.json +29 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/listening-prompt.md +78 -0
- package/registry/families/agent-runtime-music-producer-ts/files/methodology/mix-feedback.md +74 -0
- package/registry/families/agent-runtime-music-producer-ts/manifest.json +160 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/AGENTS.md +109 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/README.md +76 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/beat-sheet-review.md +136 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/scene-card-protocol.md +104 -0
- package/registry/families/agent-runtime-novelist-coach-ts/files/methodology/voice-audit.md +123 -0
- package/registry/families/agent-runtime-novelist-coach-ts/manifest.json +194 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/AGENTS.md +73 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/README.md +33 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/dietary-assessment.md +153 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/macro-targets.md +171 -0
- package/registry/families/agent-runtime-nutritionist-ts/files/methodology/meal-plan.md +33 -0
- package/registry/families/agent-runtime-nutritionist-ts/manifest.json +145 -0
- package/registry/families/agent-runtime-pentester-ts/files/AGENTS.md +66 -0
- package/registry/families/agent-runtime-pentester-ts/files/README.md +24 -0
- package/registry/families/agent-runtime-pentester-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-pentester-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/ctf-coaching.md +34 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/exploit-analysis.md +31 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-pentester-ts/files/methodology/vulnerability-research.md +35 -0
- package/registry/families/agent-runtime-pentester-ts/manifest.json +152 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/AGENTS.md +77 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/README.md +26 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/adverse-effect-monitoring.md +155 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/dosing-guidance.md +41 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-information.md +47 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/drug-interaction-check.md +35 -0
- package/registry/families/agent-runtime-pharmacist-ts/files/methodology/index.json +32 -0
- package/registry/families/agent-runtime-pharmacist-ts/manifest.json +156 -0
- package/registry/families/agent-runtime-photographer-ts/files/AGENTS.md +55 -0
- package/registry/families/agent-runtime-photographer-ts/files/README.md +35 -0
- package/registry/families/agent-runtime-photographer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-photographer-ts/files/agent.json +40 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/composition-canvas.md +36 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/lighting-setup-design.md +34 -0
- package/registry/families/agent-runtime-photographer-ts/files/methodology/post-production-workflow.md +32 -0
- package/registry/families/agent-runtime-photographer-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-physics-research-ts/files/AGENTS.md +69 -0
- package/registry/families/agent-runtime-physics-research-ts/files/README.md +26 -0
- package/registry/families/agent-runtime-physics-research-ts/files/agent.json +36 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/citation-analysis.md +110 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/experimental-design.md +129 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-physics-research-ts/files/methodology/literature-search.md +113 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/citation-analysis.md +37 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/experimental-design.md +45 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/index.json +25 -0
- package/registry/families/agent-runtime-physics-research-ts/files/templates/literature-search.md +32 -0
- package/registry/families/agent-runtime-physics-research-ts/files/wrangler.toml +22 -0
- package/registry/families/agent-runtime-physics-research-ts/manifest.json +162 -0
- package/registry/families/agent-runtime-product-manager-ts/files/AGENTS.md +58 -0
- package/registry/families/agent-runtime-product-manager-ts/files/README.md +30 -0
- package/registry/families/agent-runtime-product-manager-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-product-manager-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/discovery-cycle.md +38 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/prioritization-framework.md +41 -0
- package/registry/families/agent-runtime-product-manager-ts/files/methodology/product-strategy-canvas.md +42 -0
- package/registry/families/agent-runtime-product-manager-ts/manifest.json +144 -0
- package/registry/families/agent-runtime-real-estate-ts/files/AGENTS.md +162 -0
- package/registry/families/agent-runtime-real-estate-ts/files/README.md +80 -0
- package/registry/families/agent-runtime-real-estate-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-real-estate-ts/files/agent.json +37 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/cap-rate-worksheet.md +180 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/comp-analysis.md +137 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-real-estate-ts/files/methodology/offer-strategy.md +169 -0
- package/registry/families/agent-runtime-real-estate-ts/manifest.json +178 -0
- package/registry/families/agent-runtime-recruiter-ts/files/AGENTS.md +128 -0
- package/registry/families/agent-runtime-recruiter-ts/files/README.md +82 -0
- package/registry/families/agent-runtime-recruiter-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-recruiter-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/interview-loop-design.md +135 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/jd-drafting-protocol.md +124 -0
- package/registry/families/agent-runtime-recruiter-ts/files/methodology/screening-rubric.md +118 -0
- package/registry/families/agent-runtime-recruiter-ts/manifest.json +192 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/AGENTS.md +185 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/README.md +90 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/TOOLS.md +30 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/check-in-protocol.md +129 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/communication-tool-practice.md +175 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/conflict-pattern-naming.md +193 -0
- package/registry/families/agent-runtime-relationship-coach-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-relationship-coach-ts/manifest.json +224 -0
- package/registry/families/agent-runtime-research/files/AGENTS.md +56 -0
- package/registry/families/agent-runtime-research/files/README.md +45 -0
- package/registry/families/agent-runtime-research/files/TOOLS.md +22 -0
- package/registry/families/agent-runtime-research/files/agent.json +37 -0
- package/registry/families/agent-runtime-research/files/methodology/index.json +18 -0
- package/registry/families/agent-runtime-research/files/methodology/literature-survey.md +59 -0
- package/registry/families/agent-runtime-research/files/methodology/proposal-drafting.md +63 -0
- package/registry/families/agent-runtime-research/manifest.json +190 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/AGENTS.md +63 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/README.md +37 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/competitive-technical-positioning.md +39 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/demo-script.md +36 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-sales-engineer-ts/files/methodology/poc-design.md +43 -0
- package/registry/families/agent-runtime-sales-engineer-ts/manifest.json +148 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/AGENTS.md +69 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/README.md +25 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/agent.json +34 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/beat-out-protocol.md +58 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/index.json +22 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/logline-sharpener.md +52 -0
- package/registry/families/agent-runtime-screenwriter-ts/files/methodology/scene-rewrite-pass.md +61 -0
- package/registry/families/agent-runtime-screenwriter-ts/manifest.json +90 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/AGENTS.md +70 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/README.md +24 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/agent.json +39 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/security-architecture-review.md +138 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/threat-modeling.md +105 -0
- package/registry/families/agent-runtime-security-engineer-ts/files/methodology/vulnerability-triage.md +121 -0
- package/registry/families/agent-runtime-security-engineer-ts/manifest.json +144 -0
- package/registry/families/agent-runtime-tax-ts/files/AGENTS.md +79 -0
- package/registry/families/agent-runtime-tax-ts/files/README.md +49 -0
- package/registry/families/agent-runtime-tax-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-tax-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/deadlines.md +91 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/filing-1040.md +119 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/index.json +27 -0
- package/registry/families/agent-runtime-tax-ts/files/methodology/refusal-protocol.md +98 -0
- package/registry/families/agent-runtime-tax-ts/manifest.json +185 -0
- package/registry/families/agent-runtime-therapist-ts/files/AGENTS.md +82 -0
- package/registry/families/agent-runtime-therapist-ts/files/README.md +51 -0
- package/registry/families/agent-runtime-therapist-ts/files/TOOLS.md +31 -0
- package/registry/families/agent-runtime-therapist-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/escalation-protocol.md +146 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/index.json +35 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/listening-protocol.md +76 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-gad7.md +119 -0
- package/registry/families/agent-runtime-therapist-ts/files/methodology/screener-phq9.md +126 -0
- package/registry/families/agent-runtime-therapist-ts/manifest.json +197 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/AGENTS.md +76 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/README.md +15 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/TOOLS.md +23 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/budget-optimization.md +42 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/itinerary-design.md +38 -0
- package/registry/families/agent-runtime-travel-planner-ts/files/methodology/logistics-check.md +54 -0
- package/registry/families/agent-runtime-travel-planner-ts/manifest.json +130 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/AGENTS.md +136 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/README.md +94 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/emergency-triage.md +147 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/husbandry-reference.md +111 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/index.json +28 -0
- package/registry/families/agent-runtime-veterinarian-ts/files/methodology/vaccination-framework.md +119 -0
- package/registry/families/agent-runtime-veterinarian-ts/manifest.json +183 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/AGENTS.md +123 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/README.md +75 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/TOOLS.md +24 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/agent.json +38 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/allocation-review.md +147 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/index.json +25 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/retirement-projection.md +186 -0
- package/registry/families/agent-runtime-wealth-manager-ts/files/methodology/tax-loss-harvest-protocol.md +178 -0
- package/registry/families/agent-runtime-wealth-manager-ts/manifest.json +194 -0
- package/registry/families/agent-service-ts/files/package.json +3 -1
- package/registry/families/agent-swarm-ts/files/package.json +3 -1
- package/registry/families/agent-swarm-ts/manifest.json +1 -1
- package/registry/families/agent-with-ui-ts/files/README.md +107 -0
- package/registry/families/agent-with-ui-ts/files/index.html +12 -0
- package/registry/families/agent-with-ui-ts/files/package.json +31 -0
- package/registry/families/agent-with-ui-ts/files/postcss.config.cjs +6 -0
- package/registry/families/agent-with-ui-ts/files/src/App.tsx +147 -0
- package/registry/families/agent-with-ui-ts/files/src/index.css +12 -0
- package/registry/families/agent-with-ui-ts/files/src/main.tsx +13 -0
- package/registry/families/agent-with-ui-ts/files/tailwind.config.cjs +8 -0
- package/registry/families/agent-with-ui-ts/files/tsconfig.json +24 -0
- package/registry/families/agent-with-ui-ts/files/vite.config.ts +15 -0
- package/registry/families/agent-with-ui-ts/manifest.json +81 -0
- package/registry/families/angular-ts/files/package.json +3 -1
- package/registry/families/api-service/files/package.json +4 -0
- package/registry/families/arkworks-prover/files/Cargo.toml +1 -1
- package/registry/families/astro-static/files/package.json +3 -1
- package/registry/families/browser-extension-ts/files/package.json +4 -0
- package/registry/families/bun-http/files/package.json +3 -1
- package/registry/families/cli-ts/files/package.json +3 -1
- package/registry/families/cloudflare-worker-ts/files/package.json +3 -1
- package/registry/families/crm-backend/files/package.json +10 -2
- package/registry/families/ecommerce-headless/files/package.json +10 -2
- package/registry/families/electron-desktop-ts/files/package.json +3 -1
- package/registry/families/electron-native-os/files/package.json +3 -1
- package/registry/families/eleventy-static/files/package.json +3 -1
- package/registry/families/evm-infra-ts/files/package.json +4 -0
- package/registry/families/expo-react-native-ts/files/package.json +3 -1
- package/registry/families/expo-react-native-ts/manifest.json +17 -2
- package/registry/families/expo-rn-rich/files/package.json +3 -1
- package/registry/families/fhenix-contracts/files/package.json +4 -0
- package/registry/families/fhenix-contracts/manifest.json +53 -0
- package/registry/families/fhenix-foundry/manifest.json +84 -0
- package/registry/families/fhevm-contracts/files/package.json +4 -0
- package/registry/families/fhevm-contracts/manifest.json +53 -0
- package/registry/families/fintech-ledger-backend/files/package.json +3 -1
- package/registry/families/forge-contracts/manifest.json +3 -0
- package/registry/families/fraud-ops-console/files/package.json +3 -1
- package/registry/families/frontend-static/files/package.json +3 -1
- package/registry/families/fullstack-ts/files/package.json +3 -1
- package/registry/families/gdpr-compliance-pack/files/package.json +4 -0
- package/registry/families/hardhat-contracts/files/package.json +3 -1
- package/registry/families/healthcare-hipaa-backend/files/package.json +3 -1
- package/registry/families/hipaa-compliance-pack/files/package.json +4 -0
- package/registry/families/hls-origin/files/package.json +3 -1
- package/registry/families/k12-edtech/files/package.json +10 -2
- package/registry/families/kyc-onboarding/files/package.json +4 -0
- package/registry/families/legal-case-mgmt/files/package.json +10 -2
- package/registry/families/livekit-sfu/files/package.json +3 -1
- package/registry/families/mcp-server-ts/files/package.json +5 -1
- package/registry/families/multi-agent-creative-studio-ts/files/AGENTS.md +367 -0
- package/registry/families/multi-agent-creative-studio-ts/files/README.md +86 -0
- package/registry/families/multi-agent-creative-studio-ts/files/agent.json +71 -0
- package/registry/families/multi-agent-creative-studio-ts/files/agents.json +70 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/AGENTS.md +168 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/color-palette-design.md +180 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/composition-canvas.md +145 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/illustrator/methodology/storyboard-protocol.md +169 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/AGENTS.md +141 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/arrangement-review.md +122 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/mix-feedback.md +110 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/music-producer/methodology/needle-drop-suggestions.md +147 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/AGENTS.md +153 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/scene-card-system.md +133 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/novelist-coach/methodology/voice-audit.md +155 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/AGENTS.md +147 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/beat-out-protocol.md +123 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/logline-sharpener.md +111 -0
- package/registry/families/multi-agent-creative-studio-ts/files/roles/screenwriter/methodology/scene-rewrite-pass.md +125 -0
- package/registry/families/multi-agent-creative-studio-ts/manifest.json +212 -0
- package/registry/families/multi-agent-legal-ops-ts/files/AGENTS.md +404 -0
- package/registry/families/multi-agent-legal-ops-ts/files/README.md +151 -0
- package/registry/families/multi-agent-legal-ops-ts/files/agent.json +63 -0
- package/registry/families/multi-agent-legal-ops-ts/files/agents.json +53 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/AGENTS.md +187 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/control-walkthrough.md +142 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/auditor/methodology/deficiency-write-up.md +148 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/AGENTS.md +186 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/contract-redline.md +163 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/nda-msa-review.md +273 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/legal-counsel/methodology/regulatory-research.md +129 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/AGENTS.md +149 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/conflict-check.md +85 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/fact-pattern-summary.md +101 -0
- package/registry/families/multi-agent-legal-ops-ts/files/roles/paralegal-intake/methodology/intake-checklist.md +71 -0
- package/registry/families/multi-agent-legal-ops-ts/manifest.json +214 -0
- package/registry/families/multi-agent-product-ops-ts/files/AGENTS.md +325 -0
- package/registry/families/multi-agent-product-ops-ts/files/README.md +66 -0
- package/registry/families/multi-agent-product-ops-ts/files/agent.json +69 -0
- package/registry/families/multi-agent-product-ops-ts/files/agents.json +70 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/AGENTS.md +97 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/churn-risk-analysis.md +113 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/customer-success/methodology/qbr-prep.md +103 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/designer/AGENTS.md +90 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/design-critique.md +76 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/designer/methodology/ux-strategy.md +86 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/AGENTS.md +99 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/sprint-planning.md +102 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/eng-manager/methodology/tech-feasibility-scoping.md +88 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/AGENTS.md +87 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/discovery-cycle.md +76 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prd-template.md +94 -0
- package/registry/families/multi-agent-product-ops-ts/files/roles/pm/methodology/prioritization-rice.md +94 -0
- package/registry/families/multi-agent-product-ops-ts/manifest.json +188 -0
- package/registry/families/multi-agent-research-lab-ts/files/AGENTS.md +352 -0
- package/registry/families/multi-agent-research-lab-ts/files/README.md +84 -0
- package/registry/families/multi-agent-research-lab-ts/files/agent.json +70 -0
- package/registry/families/multi-agent-research-lab-ts/files/agents.json +70 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/AGENTS.md +140 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/bioinformatics-survey.md +207 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/biology-researcher/methodology/protein-structure-analysis.md +185 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/AGENTS.md +127 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/crossref-literature-search.md +167 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/chemistry-researcher/methodology/reaction-mechanism-analysis.md +180 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/AGENTS.md +156 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/cross-domain-synthesis.md +150 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/literature-triage.md +158 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/lab-director/methodology/research-question-formulation.md +190 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/AGENTS.md +122 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/arxiv-literature-search.md +149 -0
- package/registry/families/multi-agent-research-lab-ts/files/roles/physics-researcher/methodology/experimental-design.md +194 -0
- package/registry/families/multi-agent-research-lab-ts/manifest.json +223 -0
- package/registry/families/multi-agent-startup-team-ts/files/AGENTS.md +360 -0
- package/registry/families/multi-agent-startup-team-ts/files/README.md +200 -0
- package/registry/families/multi-agent-startup-team-ts/files/agent.json +78 -0
- package/registry/families/multi-agent-startup-team-ts/files/agents.json +87 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/AGENTS.md +157 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/decision-journal.md +176 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/okr-design.md +181 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/ceo/methodology/weekly-review.md +150 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/AGENTS.md +176 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/burn-runway-model.md +203 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cfo-advisor/methodology/fundraise-prep.md +192 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/AGENTS.md +145 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/channel-experiment-design.md +156 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cmo/methodology/positioning-canvas.md +124 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/AGENTS.md +151 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/architecture-decision.md +196 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/one-on-one-cadence.md +149 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/cto/methodology/tech-debt-triage.md +138 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/hr/AGENTS.md +192 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/interview-rubric.md +171 -0
- package/registry/families/multi-agent-startup-team-ts/files/roles/hr/methodology/recruiting-loop-design.md +222 -0
- package/registry/families/multi-agent-startup-team-ts/manifest.json +299 -0
- package/registry/families/multimodal-agent/files/api/README.md +1 -1
- package/registry/families/multimodal-agent/files/package.json +3 -1
- package/registry/families/nextjs-ts/files/package.json +3 -1
- package/registry/families/observable-notebook/files/package.json +3 -1
- package/registry/families/observable-notebook/manifest.json +18 -1
- package/registry/families/ollama-server/files/package.json +4 -0
- package/registry/families/orchestrator-with-ui-ts/files/README.md +137 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/agents/[id]/page.tsx +124 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/globals.css +38 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/layout.tsx +30 -0
- package/registry/families/orchestrator-with-ui-ts/files/app/page.tsx +132 -0
- package/registry/families/orchestrator-with-ui-ts/files/next.config.mjs +21 -0
- package/registry/families/orchestrator-with-ui-ts/files/package.json +34 -0
- package/registry/families/orchestrator-with-ui-ts/files/postcss.config.cjs +6 -0
- package/registry/families/orchestrator-with-ui-ts/files/src/lib/agent-roster.ts +86 -0
- package/registry/families/orchestrator-with-ui-ts/files/tailwind.config.cjs +12 -0
- package/registry/families/orchestrator-with-ui-ts/files/tsconfig.json +27 -0
- package/registry/families/orchestrator-with-ui-ts/manifest.json +91 -0
- package/registry/families/pci-dss-compliance-pack/files/package.json +4 -0
- package/registry/families/phaser-game/files/package.json +4 -0
- package/registry/families/pixijs-game/files/package.json +4 -0
- package/registry/families/playwright-worker/files/package.json +3 -1
- package/registry/families/polymarket-portfolio-hedging/files/package.json +3 -1
- package/registry/families/react-vite-ts/files/package.json +3 -1
- package/registry/families/realtime-audio-ts/files/package.json +3 -1
- package/registry/families/remix-ts/files/package.json +3 -1
- package/registry/families/risczero-zkvm/files/methods/build.rs +31 -0
- package/registry/families/risczero-zkvm/files/methods/guest-Cargo.toml +8 -0
- package/registry/families/sandbox-app-ts/files/README.md +65 -0
- package/registry/families/sandbox-app-ts/files/index.html +12 -0
- package/registry/families/sandbox-app-ts/files/package.json +31 -0
- package/registry/families/sandbox-app-ts/files/postcss.config.cjs +6 -0
- package/registry/families/sandbox-app-ts/files/src/App.tsx +92 -0
- package/registry/families/sandbox-app-ts/files/src/index.css +12 -0
- package/registry/families/sandbox-app-ts/files/src/lib/sandbox-client.ts +182 -0
- package/registry/families/sandbox-app-ts/files/src/main.tsx +13 -0
- package/registry/families/sandbox-app-ts/files/tailwind.config.cjs +8 -0
- package/registry/families/sandbox-app-ts/files/tsconfig.json +24 -0
- package/registry/families/sandbox-app-ts/files/vite.config.ts +15 -0
- package/registry/families/sandbox-app-ts/manifest.json +83 -0
- package/registry/families/soc2-compliance-pack/files/package.json +4 -0
- package/registry/families/sp1-zkvm/files/script/build.rs +63 -0
- package/registry/families/sp1-zkvm/files/script-Cargo.toml +7 -1
- package/registry/families/sp1-zkvm/manifest.json +4 -0
- package/registry/families/stylus-contracts/manifest.json +25 -0
- package/registry/families/sveltekit-ts/files/package.json +3 -1
- package/registry/families/tauri-desktop/files/package.json +4 -0
- package/registry/families/tauri-menubar/files/package.json +3 -1
- package/registry/families/tauri-tray/files/package.json +3 -1
- package/registry/families/threejs-game/files/package.json +3 -1
- package/registry/families/unity-web-proxy/files/package.json +3 -1
- package/registry/families/vision-first-agent/files/api/README.md +1 -1
- package/registry/families/vision-first-agent/files/package.json +3 -1
- package/registry/families/voice-first-agent/files/api/README.md +1 -1
- package/registry/families/voice-first-agent/files/package.json +3 -1
- package/registry/families/vue-ts/files/package.json +3 -1
- package/registry/families/wasm-rust/files/package.json +3 -1
- package/registry/families/wasm-rust/manifest.json +23 -2
- package/registry/families/webgpu-inference/files/package.json +3 -1
- package/registry/families/webgpu-render/files/package.json +3 -1
- package/registry/families/worker-job/files/package.json +4 -0
- package/registry/families/x402-service/files/package.json +5 -1
- package/registry/families/zk-prover-service/files/package.json +5 -1
- package/registry/layers/agent-base/mcp-registry/files/.mcp.json +27 -0
- package/registry/layers/agent-base/mcp-registry/files/lib/mcp/README.md +47 -0
- package/registry/layers/agent-base/mcp-registry/files/lib/mcp/register.ts +130 -0
- package/registry/layers/agent-base/mcp-registry/manifest.json +109 -0
- package/registry/layers/agent-base/memory/files/lib/memory/grep.ts +126 -0
- package/registry/layers/agent-base/memory/files/lib/memory/index.test.ts +216 -0
- package/registry/layers/agent-base/memory/files/lib/memory/index.ts +258 -0
- package/registry/layers/agent-base/memory/files/lib/memory/types.ts +58 -0
- package/registry/layers/agent-base/memory/manifest.json +108 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/README.md +116 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/detectors.ts +179 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/index.test.ts +172 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/index.ts +150 -0
- package/registry/layers/agent-base/privacy/files/lib/privacy/types.ts +66 -0
- package/registry/layers/agent-base/privacy/manifest.json +74 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/cron-parse.ts +221 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.test.ts +296 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/index.ts +175 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/sweep.ts +66 -0
- package/registry/layers/agent-base/scheduler/files/lib/scheduler/types.ts +43 -0
- package/registry/layers/agent-base/scheduler/manifest.json +119 -0
- package/registry/layers/agent-base/secure/files/lib/secure/README.md +95 -0
- package/registry/layers/agent-base/secure/files/lib/secure/audit.ts +166 -0
- package/registry/layers/agent-base/secure/files/lib/secure/identity.ts +110 -0
- package/registry/layers/agent-base/secure/files/lib/secure/index.test.ts +422 -0
- package/registry/layers/agent-base/secure/files/lib/secure/index.ts +16 -0
- package/registry/layers/agent-base/secure/files/lib/secure/schedule.ts +83 -0
- package/registry/layers/agent-base/secure/files/lib/secure/secrets.ts +128 -0
- package/registry/layers/agent-base/secure/files/lib/secure/webhook-in.ts +125 -0
- package/registry/layers/agent-base/secure/files/lib/secure/webhook-out.ts +137 -0
- package/registry/layers/agent-base/secure/files/lib/secure/workspace.ts +123 -0
- package/registry/layers/agent-base/secure/manifest.json +174 -0
- package/registry/layers/agent-base/tangle/files/lib/tangle.ts +56 -0
- package/registry/layers/agent-base/tangle/manifest.json +103 -0
- package/registry/layers/agent-channels/discord/files/channels/discord.env.example +14 -0
- package/registry/layers/agent-channels/discord/files/channels/discord.ts +127 -0
- package/registry/layers/agent-channels/discord/manifest.json +95 -0
- package/registry/layers/agent-channels/gmail/files/channels/gmail.env.example +54 -0
- package/registry/layers/agent-channels/gmail/files/channels/gmail.ts +206 -0
- package/registry/layers/agent-channels/gmail/manifest.json +95 -0
- package/registry/layers/agent-channels/imessage/files/channels/imessage.env.example +31 -0
- package/registry/layers/agent-channels/imessage/files/channels/imessage.ts +123 -0
- package/registry/layers/agent-channels/imessage/manifest.json +102 -0
- package/registry/layers/agent-channels/linear/files/channels/linear.env.example +42 -0
- package/registry/layers/agent-channels/linear/files/channels/linear.ts +163 -0
- package/registry/layers/agent-channels/linear/manifest.json +95 -0
- package/registry/layers/agent-channels/slack/files/channels/slack.env.example +17 -0
- package/registry/layers/agent-channels/slack/files/channels/slack.ts +119 -0
- package/registry/layers/agent-channels/slack/manifest.json +95 -0
- package/registry/layers/agent-channels/telegram/files/channels/telegram.env.example +9 -0
- package/registry/layers/agent-channels/telegram/files/channels/telegram.ts +72 -0
- package/registry/layers/agent-channels/telegram/manifest.json +95 -0
- package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.env.example +31 -0
- package/registry/layers/agent-channels/whatsapp/files/channels/whatsapp.ts +158 -0
- package/registry/layers/agent-channels/whatsapp/manifest.json +106 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/README.md +95 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/index.ts +49 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/loop.ts +151 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/pareto.ts +60 -0
- package/registry/layers/agent-eval/auto-research/files/src/eval/auto-research/propose-review.ts +36 -0
- package/registry/layers/agent-eval/auto-research/manifest.json +86 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/README.md +86 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-cli.ts +118 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise-runner.ts +249 -0
- package/registry/layers/agent-eval/judge-pairwise/files/src/eval/judges/pairwise.example.ts +100 -0
- package/registry/layers/agent-eval/judge-pairwise/files/tests/pairwise-runner.test.ts +136 -0
- package/registry/layers/agent-eval/judge-pairwise/manifest.json +71 -0
- package/registry/layers/agent-eval/judge-rubric/files/judges/rubric.example.ts +38 -0
- package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/README.md +83 -0
- package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/rubric-runner.ts +161 -0
- package/registry/layers/agent-eval/judge-rubric/manifest.json +48 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/README.md +100 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/categories.ts +106 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/cli.ts +106 -0
- package/registry/layers/agent-eval/redteam/files/src/eval/redteam/runner.ts +257 -0
- package/registry/layers/agent-eval/redteam/files/tests/runner.test.ts +82 -0
- package/registry/layers/agent-eval/redteam/manifest.json +81 -0
- package/registry/layers/agent-eval/regression/files/.github/workflows/regression-gate.yml +85 -0
- package/registry/layers/agent-eval/regression/files/src/eval/regression/README.md +93 -0
- package/registry/layers/agent-eval/regression/files/src/eval/regression/cli.ts +106 -0
- package/registry/layers/agent-eval/regression/files/src/eval/regression/gate.ts +260 -0
- package/registry/layers/agent-eval/regression/manifest.json +60 -0
- package/registry/layers/agent-eval/scenarios/files/scenarios/README.md +64 -0
- package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-loader.ts +85 -0
- package/registry/layers/agent-eval/scenarios/files/src/eval/scenario-types.ts +15 -0
- package/registry/layers/agent-eval/scenarios/manifest.json +44 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/README.md +75 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/example-rubric.ts +105 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/per-turn-scorer.ts +230 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/src/eval/trace/trajectory-runner.ts +142 -0
- package/registry/layers/agent-eval/trace-multi-turn/files/tests/per-turn-scorer.test.ts +184 -0
- package/registry/layers/agent-eval/trace-multi-turn/manifest.json +70 -0
- package/registry/layers/agent-output/blocks/files/lib/blocks.ts +57 -0
- package/registry/layers/agent-output/blocks/manifest.json +95 -0
- package/registry/layers/agent-tools/clinical-screeners/files/lib/tools/screeners.ts +61 -0
- package/registry/layers/agent-tools/clinical-screeners/files/templates/escalation-protocol.md +77 -0
- package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-gad7.md +62 -0
- package/registry/layers/agent-tools/clinical-screeners/files/templates/screener-phq9.md +84 -0
- package/registry/layers/agent-tools/clinical-screeners/manifest.json +61 -0
- package/registry/layers/agent-tools/phony-voice/files/lib/tools/voice.ts +38 -0
- package/registry/layers/agent-tools/phony-voice/manifest.json +47 -0
- package/registry/layers/agent-tools/research-corpus/files/lib/tools/research.ts +46 -0
- package/registry/layers/agent-tools/research-corpus/manifest.json +52 -0
- package/registry/layers/capability/agent-eval/manifest.json +2 -1
- package/registry/layers/capability/ai-chat-ui/manifest.json +2 -0
- package/registry/layers/capability/bridge-protocol-api/files/bridge-protocol-config.json +5 -0
- package/registry/layers/capability/bridge-protocol-api/files/bridge-status-routes.ts +31 -0
- package/registry/layers/capability/bridge-protocol-api/manifest.json +92 -0
- package/registry/layers/capability/crypto-bridge-ui/manifest.json +54 -2
- package/registry/layers/capability/defi-bridge/manifest.json +12 -0
- package/registry/layers/capability/evm-layerzero-oft/manifest.json +59 -0
- package/registry/layers/capability/evm-nft-mint-page/manifest.json +1 -0
- package/registry/layers/capability/evm-uniswap-v4-hook/manifest.json +58 -0
- package/registry/layers/capability/fhe-foundry-private-token/files/PrivateToken.sol +58 -0
- package/registry/layers/capability/fhe-foundry-private-token/manifest.json +27 -0
- package/registry/layers/capability/fhe-foundry-private-voting/files/PrivateVoting.sol +54 -0
- package/registry/layers/capability/fhe-foundry-private-voting/manifest.json +27 -0
- package/registry/layers/capability/fhe-foundry-sealed-auction/files/SealedAuction.sol +54 -0
- package/registry/layers/capability/fhe-foundry-sealed-auction/manifest.json +27 -0
- package/registry/layers/capability/fhe-private-token/manifest.json +16 -1
- package/registry/layers/capability/fhe-private-voting/manifest.json +16 -1
- package/registry/layers/capability/fhe-sealed-auction/manifest.json +17 -2
- package/registry/layers/capability/fhevm-private-token/files/PrivateToken.sol +55 -0
- package/registry/layers/capability/fhevm-private-token/manifest.json +27 -0
- package/registry/layers/capability/fhevm-private-voting/files/PrivateVoting.sol +51 -0
- package/registry/layers/capability/fhevm-private-voting/manifest.json +27 -0
- package/registry/layers/capability/fhevm-sealed-auction/files/SealedAuction.sol +55 -0
- package/registry/layers/capability/fhevm-sealed-auction/manifest.json +27 -0
- package/registry/layers/capability/layout-auth/manifest.json +7 -0
- package/registry/layers/capability/layout-chat/manifest.json +3 -0
- package/registry/layers/capability/tangle-remote-provider/files/remote-config.json +1 -1
- package/registry/layers/capability/zk-browser/manifest.json +1 -1
- package/registry/layers/framework/aptos-move/files/package.json +4 -0
- package/registry/layers/framework/crm-backend/files/package.json +4 -0
- package/registry/layers/framework/ecommerce-headless/files/package.json +4 -0
- package/registry/layers/framework/electron-native-os/files/package.json +4 -0
- package/registry/layers/framework/fhenix-foundry/files/Contract.sol +55 -0
- package/registry/layers/framework/fhenix-foundry/files/Contract.t.sol +39 -0
- package/registry/layers/framework/fhenix-foundry/files/Deploy.s.sol +12 -0
- package/registry/layers/framework/fhenix-foundry/files/foundry.toml +25 -0
- package/registry/layers/framework/fhenix-foundry/files/lib/cofhe-contracts/contracts/FHE.sol +94 -0
- package/registry/layers/framework/fhenix-foundry/manifest.json +12 -0
- package/registry/layers/framework/gdpr-compliance-pack/files/package.json +4 -0
- package/registry/layers/framework/godot-web/files/package.json +4 -0
- package/registry/layers/framework/healthcare-hipaa-backend/files/package.json +4 -0
- package/registry/layers/framework/hipaa-compliance-pack/files/package.json +4 -0
- package/registry/layers/framework/hugo-static/files/package.json +4 -0
- package/registry/layers/framework/legal-case-mgmt/files/package.json +4 -0
- package/registry/layers/framework/move-package/files/Move.toml +7 -3
- package/registry/layers/framework/react-vite-ts/files/index.html +6 -6
- package/registry/layers/framework/tangle-blueprint/files/main.rs +2 -17
- package/registry/layers/framework/zola-static/files/package.json +5 -1
- package/registry/layers/ui-adapter/blocks-renderer/files/lib/blocks-to-artifacts.tsx +188 -0
- package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.test.ts +58 -0
- package/registry/layers/ui-adapter/blocks-renderer/files/lib/parse-blocks.ts +163 -0
- package/registry/layers/ui-adapter/blocks-renderer/manifest.json +61 -0
- package/registry/seed-list-agent-runtime.json +250 -0
- package/dist/lib/ab.js.map +0 -1
- package/dist/lib/audit.js.map +0 -1
- package/dist/lib/batch-export.js.map +0 -1
- package/dist/lib/benchmark.js.map +0 -1
- package/dist/lib/compose-seed.d.ts +0 -15
- package/dist/lib/compose-seed.js +0 -44
- package/dist/lib/compose-seed.js.map +0 -1
- package/dist/lib/planner/zk-preferences.d.ts +0 -9
- package/dist/lib/planner/zk-preferences.js +0 -91
- package/dist/lib/planner/zk-preferences.js.map +0 -1
- package/dist/lib/prove.js.map +0 -1
- package/dist/lib/reproducibility.js.map +0 -1
- package/dist/lib/sbom.js.map +0 -1
- package/specs/agent-python-research.json +0 -12
- package/specs/agent-rust-runtime.json +0 -11
- package/specs/agent-ts-control-plane.json +0 -13
- package/specs/api-evm-protocol.json +0 -17
- package/specs/api-health.json +0 -14
- package/specs/browser-extension-research.json +0 -12
- package/specs/cli-release-tool.json +0 -9
- package/specs/cloudflare-edge.json +0 -13
- package/specs/coinbase-landing.json +0 -13
- package/specs/dspy-pipeline.json +0 -8
- package/specs/eigenlayer-avs.json +0 -8
- package/specs/electron-ops-console.json +0 -14
- package/specs/evm-infra.json +0 -15
- package/specs/expo-wallet-mobile.json +0 -14
- package/specs/forge-counter.json +0 -10
- package/specs/fullstack-control-plane.json +0 -16
- package/specs/go-api.json +0 -12
- package/specs/go-worker.json +0 -11
- package/specs/hardhat-xlayer-config.json +0 -9
- package/specs/mcp-server.json +0 -8
- package/specs/move-treasury.json +0 -10
- package/specs/multichain-workspace.json +0 -74
- package/specs/nextjs-saas.json +0 -11
- package/specs/playwright-worker.json +0 -11
- package/specs/python-api.json +0 -13
- package/specs/python-data-insights.json +0 -9
- package/specs/react-vite-coinbase.json +0 -11
- package/specs/rust-service.json +0 -13
- package/specs/solana-keeper-worker.json +0 -13
- package/specs/solana-perps.json +0 -12
- package/specs/solana-prediction.json +0 -12
- package/specs/solana-treasury.json +0 -10
- package/specs/stylus-contracts.json +0 -8
- package/specs/tangle-blueprint.json +0 -9
- package/specs/tangle-custody.json +0 -11
- package/specs/tangle-oracle.json +0 -11
- package/specs/tauri-desktop.json +0 -13
- package/specs/trading-worker.json +0 -12
- package/specs/x402-service.json +0 -8
- package/specs/xlayer-aa.json +0 -13
- package/specs/xlayer-foundry-deploy.json +0 -12
- package/specs/xlayer-oft.json +0 -13
- package/specs/xlayer-wallet-dashboard.json +0 -18
- package/specs/zk-prover.json +0 -8
- /package/{LICENSE → LICENSE-MIT} +0 -0
- /package/dist/lib/{ab.d.ts → eval/ab.d.ts} +0 -0
- /package/dist/lib/{ab.js → eval/ab.js} +0 -0
- /package/dist/lib/{batch-export.d.ts → eval/batch-export.d.ts} +0 -0
- /package/dist/lib/{reproducibility.js → eval/reproducibility.js} +0 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
"""Sandbox-driven scenario runner.
|
|
2
|
+
|
|
3
|
+
Spins a Tangle Sandbox (``tangle_sandbox.Sandbox``), deploys an agent
|
|
4
|
+
bundle, runs scenarios via ``box.task()``, then deletes the sandbox.
|
|
5
|
+
Designed to be passed to :func:`eval.runner.run_scenarios` as the
|
|
6
|
+
``sandbox_runner`` arg.
|
|
7
|
+
|
|
8
|
+
Lifecycle:
|
|
9
|
+
|
|
10
|
+
1. ``__enter__`` / ``__init__`` — read API key + base URL from env, lazy-import
|
|
11
|
+
``tangle_sandbox`` (so dry-runs work without the SDK installed), build
|
|
12
|
+
``CreateSandboxOptions``, call ``client.create()``, wait for ``running``.
|
|
13
|
+
2. ``run(spec)`` — call ``box.task(spec["input"])``; return the response
|
|
14
|
+
string. Raises ``RuntimeError`` on task failure (the runner converts to
|
|
15
|
+
a flow-level error, not a process exit).
|
|
16
|
+
3. ``__exit__`` / ``close`` — best-effort ``box.delete()``. Always swallow
|
|
17
|
+
errors at teardown so a flaky teardown doesn't blow away the scorecard.
|
|
18
|
+
|
|
19
|
+
The bundle layout follows the existing ``scripts/python/starter_foundry``
|
|
20
|
+
loader (``load_agent_bundle`` → ``to_agent_profile`` → ``box.files.write``).
|
|
21
|
+
We intentionally do not duplicate that loader here; instead we either reuse
|
|
22
|
+
``starter_foundry.agent_bundle`` if available, or accept a pre-built profile
|
|
23
|
+
dict. This keeps the eval harness aligned with the deploy script.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
from __future__ import annotations
|
|
27
|
+
|
|
28
|
+
import os
|
|
29
|
+
from dataclasses import dataclass, field
|
|
30
|
+
from pathlib import Path
|
|
31
|
+
from typing import Any
|
|
32
|
+
|
|
33
|
+
DEFAULT_BASE_URL_ENVS = ("TANGLE_SANDBOX_BASE_URL", "SANDBOX_BASE_URL")
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
def _resolve_sandbox_base_url(explicit: str | None) -> str:
|
|
37
|
+
if explicit:
|
|
38
|
+
return explicit
|
|
39
|
+
for env in DEFAULT_BASE_URL_ENVS:
|
|
40
|
+
v = os.environ.get(env)
|
|
41
|
+
if v:
|
|
42
|
+
return v
|
|
43
|
+
raise RuntimeError(
|
|
44
|
+
"GAP: sandbox base URL not set (pass explicitly or set "
|
|
45
|
+
f"{' / '.join(DEFAULT_BASE_URL_ENVS)})"
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
@dataclass
|
|
50
|
+
class SandboxDriver:
|
|
51
|
+
"""Manages the lifetime of one sandbox across an eval run.
|
|
52
|
+
|
|
53
|
+
Use as a context manager::
|
|
54
|
+
|
|
55
|
+
with SandboxDriver(bundle_dir=Path("./bundle")) as drv:
|
|
56
|
+
scorecard = run_scenarios(cfg, sandbox_runner=drv)
|
|
57
|
+
"""
|
|
58
|
+
|
|
59
|
+
bundle_dir: Path | None = None
|
|
60
|
+
profile: dict[str, Any] | None = None
|
|
61
|
+
image: str = "node:20"
|
|
62
|
+
name: str = "eval-harness"
|
|
63
|
+
api_key_env: str = "TANGLE_SANDBOX_API_KEY"
|
|
64
|
+
base_url: str | None = None
|
|
65
|
+
workspace_root: str = "/home/agent"
|
|
66
|
+
workspace_files: list[Any] = field(default_factory=list)
|
|
67
|
+
|
|
68
|
+
_client: Any | None = field(default=None, init=False, repr=False)
|
|
69
|
+
_box: Any | None = field(default=None, init=False, repr=False)
|
|
70
|
+
|
|
71
|
+
# ------------------------------------------------------------------
|
|
72
|
+
# Bundle resolution
|
|
73
|
+
# ------------------------------------------------------------------
|
|
74
|
+
|
|
75
|
+
def _resolve_profile(self) -> tuple[dict[str, Any], list[Any], str]:
|
|
76
|
+
"""Return ``(profile, workspace_files, workspace_root)`` for create+write."""
|
|
77
|
+
if self.profile is not None:
|
|
78
|
+
return self.profile, list(self.workspace_files), self.workspace_root
|
|
79
|
+
if self.bundle_dir is None:
|
|
80
|
+
raise ValueError(
|
|
81
|
+
"SandboxDriver: provide either bundle_dir or profile"
|
|
82
|
+
)
|
|
83
|
+
# Lazy-import the existing Python bundle loader to keep this module
|
|
84
|
+
# importable in environments where starter_foundry isn't installed.
|
|
85
|
+
try:
|
|
86
|
+
from starter_foundry.agent_bundle import ( # type: ignore[import-not-found]
|
|
87
|
+
load_agent_bundle,
|
|
88
|
+
resolve_workspace_root,
|
|
89
|
+
to_agent_profile,
|
|
90
|
+
to_workspace_files,
|
|
91
|
+
)
|
|
92
|
+
except ImportError as err:
|
|
93
|
+
raise RuntimeError(
|
|
94
|
+
"GAP: starter_foundry.agent_bundle not importable; "
|
|
95
|
+
"either install it or pass an explicit profile= dict."
|
|
96
|
+
) from err
|
|
97
|
+
|
|
98
|
+
bundle = load_agent_bundle(self.bundle_dir)
|
|
99
|
+
return (
|
|
100
|
+
to_agent_profile(bundle, self.bundle_dir),
|
|
101
|
+
to_workspace_files(bundle, self.bundle_dir),
|
|
102
|
+
resolve_workspace_root(bundle),
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
# ------------------------------------------------------------------
|
|
106
|
+
# Lifecycle
|
|
107
|
+
# ------------------------------------------------------------------
|
|
108
|
+
|
|
109
|
+
def open(self) -> None:
|
|
110
|
+
"""Create the sandbox and write the bundle's workspace files."""
|
|
111
|
+
try:
|
|
112
|
+
from tangle_sandbox import ( # type: ignore[import-not-found]
|
|
113
|
+
BackendConfig,
|
|
114
|
+
CreateSandboxOptions,
|
|
115
|
+
Sandbox,
|
|
116
|
+
)
|
|
117
|
+
except ImportError as err:
|
|
118
|
+
raise RuntimeError(
|
|
119
|
+
"GAP: tangle_sandbox is not installed; "
|
|
120
|
+
"`pip install tangle-sandbox` or use --driver local/http."
|
|
121
|
+
) from err
|
|
122
|
+
|
|
123
|
+
api_key = os.environ.get(self.api_key_env)
|
|
124
|
+
if not api_key:
|
|
125
|
+
raise RuntimeError(
|
|
126
|
+
f"GAP: env var {self.api_key_env} is unset; cannot reach Tangle sandbox API"
|
|
127
|
+
)
|
|
128
|
+
base_url = _resolve_sandbox_base_url(self.base_url)
|
|
129
|
+
|
|
130
|
+
profile, workspace_files, workspace_root = self._resolve_profile()
|
|
131
|
+
self.workspace_root = workspace_root
|
|
132
|
+
|
|
133
|
+
self._client = Sandbox(api_key=api_key, base_url=base_url)
|
|
134
|
+
self._box = self._client.create(
|
|
135
|
+
CreateSandboxOptions(
|
|
136
|
+
name=self.name,
|
|
137
|
+
image=self.image,
|
|
138
|
+
backend=BackendConfig(profile=profile),
|
|
139
|
+
)
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
wait_for = getattr(self._box, "wait_for", None)
|
|
143
|
+
if callable(wait_for):
|
|
144
|
+
wait_for("running")
|
|
145
|
+
|
|
146
|
+
for f in workspace_files:
|
|
147
|
+
# Workspace-file objects from agent_bundle have ``targetPath`` + ``content``;
|
|
148
|
+
# be liberal in what we accept (a dict with the same keys, too).
|
|
149
|
+
target = getattr(f, "targetPath", None) or (
|
|
150
|
+
f.get("targetPath") if isinstance(f, dict) else None
|
|
151
|
+
)
|
|
152
|
+
content = getattr(f, "content", None) or (
|
|
153
|
+
f.get("content") if isinstance(f, dict) else None
|
|
154
|
+
)
|
|
155
|
+
if not target or content is None:
|
|
156
|
+
continue
|
|
157
|
+
self._box.files.write(target, content)
|
|
158
|
+
|
|
159
|
+
def close(self) -> None:
|
|
160
|
+
"""Best-effort sandbox delete; swallow errors so teardown never crashes."""
|
|
161
|
+
if self._box is None:
|
|
162
|
+
return
|
|
163
|
+
try:
|
|
164
|
+
self._box.delete()
|
|
165
|
+
except Exception: # noqa: BLE001 — teardown
|
|
166
|
+
pass
|
|
167
|
+
self._box = None
|
|
168
|
+
self._client = None
|
|
169
|
+
|
|
170
|
+
def __enter__(self) -> "SandboxDriver":
|
|
171
|
+
self.open()
|
|
172
|
+
return self
|
|
173
|
+
|
|
174
|
+
def __exit__(self, exc_type, exc, tb) -> None:
|
|
175
|
+
self.close()
|
|
176
|
+
|
|
177
|
+
# ------------------------------------------------------------------
|
|
178
|
+
# Runner adapter
|
|
179
|
+
# ------------------------------------------------------------------
|
|
180
|
+
|
|
181
|
+
def run(self, spec: dict[str, Any]) -> str:
|
|
182
|
+
"""Execute one scenario inside the sandbox; return the agent's response."""
|
|
183
|
+
if self._box is None:
|
|
184
|
+
raise RuntimeError("SandboxDriver.run called before open()")
|
|
185
|
+
result = self._box.task(spec["input"])
|
|
186
|
+
if not getattr(result, "success", False):
|
|
187
|
+
err = getattr(result, "error", None) or "unknown error"
|
|
188
|
+
raise RuntimeError(f"sandbox task failed: {err}")
|
|
189
|
+
response = getattr(result, "response", None)
|
|
190
|
+
if not isinstance(response, str):
|
|
191
|
+
raise RuntimeError(
|
|
192
|
+
f"sandbox task returned non-str response: {type(response).__name__}"
|
|
193
|
+
)
|
|
194
|
+
return response
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"""Scorecard models — cross-language contract with the TS sibling.
|
|
2
|
+
|
|
3
|
+
The shape mirrors `.evolve/scorecard.json` exactly, with these invariants
|
|
4
|
+
enforced at the model layer:
|
|
5
|
+
|
|
6
|
+
- ``value``, ``target``, ``aggregate`` rounded to 4 decimals.
|
|
7
|
+
- ``status`` is one of {``pass``, ``fail``, ``unmeasured``, ``gap``}.
|
|
8
|
+
- ``direction`` is one of {``higher-better``, ``lower-better``}.
|
|
9
|
+
- ``aggregate`` = unweighted mean of pass-fraction across measurable flows
|
|
10
|
+
(``status in {pass, fail}``); ``unmeasured`` and ``gap`` flows are excluded
|
|
11
|
+
from the denominator (matches ``buildScorecard`` in the TS sibling).
|
|
12
|
+
|
|
13
|
+
A flow's ``status`` is computed from ``value`` vs ``target`` + ``direction``:
|
|
14
|
+
|
|
15
|
+
- ``higher-better``: pass iff value >= target.
|
|
16
|
+
- ``lower-better``: pass iff value <= target.
|
|
17
|
+
- ``value is None``: status forced to ``unmeasured``.
|
|
18
|
+
|
|
19
|
+
Use :func:`aggregate_score` to (re)compute the aggregate after editing flows.
|
|
20
|
+
Use :func:`write_scorecard` to persist; it normalises rounding before write
|
|
21
|
+
so byte-equal cross-language diffs are possible.
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
from __future__ import annotations
|
|
25
|
+
|
|
26
|
+
import json
|
|
27
|
+
from datetime import datetime, timezone
|
|
28
|
+
from pathlib import Path
|
|
29
|
+
from typing import Any, Literal
|
|
30
|
+
|
|
31
|
+
from pydantic import BaseModel, ConfigDict, Field, field_validator, model_validator
|
|
32
|
+
|
|
33
|
+
FlowStatus = Literal["pass", "fail", "unmeasured", "gap"]
|
|
34
|
+
FlowDirection = Literal["higher-better", "lower-better"]
|
|
35
|
+
|
|
36
|
+
_ROUND_DECIMALS = 4
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
def _round(v: float | int | None) -> float | None:
|
|
40
|
+
"""Match the TS sibling's ``Number(x.toFixed(4))`` semantics."""
|
|
41
|
+
if v is None:
|
|
42
|
+
return None
|
|
43
|
+
return round(float(v), _ROUND_DECIMALS)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class ScorecardInput(BaseModel):
|
|
47
|
+
"""Provenance entry — a file the scorecard is derived from."""
|
|
48
|
+
|
|
49
|
+
model_config = ConfigDict(extra="forbid")
|
|
50
|
+
|
|
51
|
+
path: str
|
|
52
|
+
mtime: str # ISO-8601
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
class ScorecardFlow(BaseModel):
|
|
56
|
+
"""One measured flow — the unit of cross-language comparison.
|
|
57
|
+
|
|
58
|
+
Field order matches the TS sibling's emit order; pydantic v2 preserves
|
|
59
|
+
declaration order in ``model_dump()``.
|
|
60
|
+
"""
|
|
61
|
+
|
|
62
|
+
model_config = ConfigDict(extra="forbid")
|
|
63
|
+
|
|
64
|
+
name: str
|
|
65
|
+
value: float | None
|
|
66
|
+
target: float
|
|
67
|
+
status: FlowStatus
|
|
68
|
+
productValueClaim: str = Field(
|
|
69
|
+
..., description="One sentence: what does this flow's pass mean for the user?"
|
|
70
|
+
)
|
|
71
|
+
direction: FlowDirection
|
|
72
|
+
notes: str | None = None
|
|
73
|
+
|
|
74
|
+
@field_validator("value", "target", mode="after")
|
|
75
|
+
@classmethod
|
|
76
|
+
def _round_numeric(cls, v: float | None) -> float | None:
|
|
77
|
+
return _round(v)
|
|
78
|
+
|
|
79
|
+
@model_validator(mode="after")
|
|
80
|
+
def _coerce_status(self) -> ScorecardFlow:
|
|
81
|
+
"""Force status=unmeasured when value is None.
|
|
82
|
+
|
|
83
|
+
We do not auto-derive pass/fail from value+target+direction here —
|
|
84
|
+
callers may have richer context (timeouts, judge errors, etc) and
|
|
85
|
+
should set ``status`` explicitly. We only enforce the floor.
|
|
86
|
+
"""
|
|
87
|
+
if self.value is None and self.status not in {"unmeasured", "gap"}:
|
|
88
|
+
object.__setattr__(self, "status", "unmeasured")
|
|
89
|
+
return self
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
def derive_status(
|
|
93
|
+
value: float | None, target: float, direction: FlowDirection
|
|
94
|
+
) -> FlowStatus:
|
|
95
|
+
"""Compute pass/fail/unmeasured from raw inputs. Mirrors TS ``deriveStatus``."""
|
|
96
|
+
if value is None:
|
|
97
|
+
return "unmeasured"
|
|
98
|
+
if direction == "higher-better":
|
|
99
|
+
return "pass" if value >= target else "fail"
|
|
100
|
+
return "pass" if value <= target else "fail"
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def aggregate_score(flows: list[ScorecardFlow]) -> float:
|
|
104
|
+
"""Unweighted mean of pass fraction across measurable flows.
|
|
105
|
+
|
|
106
|
+
``unmeasured`` and ``gap`` are excluded — they don't move the aggregate
|
|
107
|
+
in either direction. Returns 0.0 when no flows are measurable (matches
|
|
108
|
+
the TS sibling's behaviour rather than NaN, which serialises poorly).
|
|
109
|
+
"""
|
|
110
|
+
measurable = [f for f in flows if f.status in {"pass", "fail"}]
|
|
111
|
+
if not measurable:
|
|
112
|
+
return 0.0
|
|
113
|
+
passes = sum(1 for f in measurable if f.status == "pass")
|
|
114
|
+
return _round(passes / len(measurable)) or 0.0
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
class Scorecard(BaseModel):
|
|
118
|
+
"""Top-level scorecard — the cross-language artifact."""
|
|
119
|
+
|
|
120
|
+
model_config = ConfigDict(extra="forbid")
|
|
121
|
+
|
|
122
|
+
product: str
|
|
123
|
+
timestamp: str
|
|
124
|
+
coverage: str
|
|
125
|
+
aggregate: float
|
|
126
|
+
inputs: list[ScorecardInput] = Field(default_factory=list)
|
|
127
|
+
flows: list[ScorecardFlow] = Field(default_factory=list)
|
|
128
|
+
|
|
129
|
+
@field_validator("aggregate", mode="after")
|
|
130
|
+
@classmethod
|
|
131
|
+
def _round_aggregate(cls, v: float) -> float:
|
|
132
|
+
return _round(v) or 0.0
|
|
133
|
+
|
|
134
|
+
@classmethod
|
|
135
|
+
def build(
|
|
136
|
+
cls,
|
|
137
|
+
*,
|
|
138
|
+
product: str,
|
|
139
|
+
flows: list[ScorecardFlow],
|
|
140
|
+
inputs: list[ScorecardInput] | None = None,
|
|
141
|
+
declared_count: int | None = None,
|
|
142
|
+
timestamp: str | None = None,
|
|
143
|
+
) -> Scorecard:
|
|
144
|
+
"""Construct a scorecard with derived ``coverage`` + ``aggregate``."""
|
|
145
|
+
ts = timestamp or datetime.now(timezone.utc).isoformat(timespec="milliseconds").replace(
|
|
146
|
+
"+00:00", "Z"
|
|
147
|
+
)
|
|
148
|
+
measured = sum(1 for f in flows if f.status in {"pass", "fail"})
|
|
149
|
+
declared = declared_count if declared_count is not None else len(flows)
|
|
150
|
+
coverage = f"{measured}/{declared} flows measured"
|
|
151
|
+
return cls(
|
|
152
|
+
product=product,
|
|
153
|
+
timestamp=ts,
|
|
154
|
+
coverage=coverage,
|
|
155
|
+
aggregate=aggregate_score(flows),
|
|
156
|
+
inputs=inputs or [],
|
|
157
|
+
flows=flows,
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
def write_scorecard(scorecard: Scorecard, path: str | Path) -> Path:
|
|
162
|
+
"""Persist with deterministic field order + 2-space indent.
|
|
163
|
+
|
|
164
|
+
Matches the TS sibling's ``JSON.stringify(card, null, 2)`` byte-for-byte
|
|
165
|
+
for the field-name set we share. ``ensure_ascii=False`` preserves
|
|
166
|
+
non-ASCII codepoints (em dashes, unicode arrows in productValueClaim).
|
|
167
|
+
|
|
168
|
+
Required fields (``value``) are always emitted even when ``None`` so the
|
|
169
|
+
JSON survives a round-trip through :func:`load_scorecard`. Optional
|
|
170
|
+
fields (``notes``) are dropped when ``None`` to match the TS sibling
|
|
171
|
+
(``undefined`` keys are absent in JSON.stringify output).
|
|
172
|
+
"""
|
|
173
|
+
p = Path(path)
|
|
174
|
+
p.parent.mkdir(parents=True, exist_ok=True)
|
|
175
|
+
payload: dict[str, Any] = scorecard.model_dump(mode="json")
|
|
176
|
+
# Strip only the optional-and-None fields. ``value`` is required (None is
|
|
177
|
+
# legal for unmeasured/gap flows), so it stays.
|
|
178
|
+
for flow in payload.get("flows", []):
|
|
179
|
+
if flow.get("notes") is None:
|
|
180
|
+
flow.pop("notes", None)
|
|
181
|
+
with p.open("w", encoding="utf-8") as fh:
|
|
182
|
+
json.dump(payload, fh, indent=2, ensure_ascii=False)
|
|
183
|
+
fh.write("\n")
|
|
184
|
+
return p
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
def load_scorecard(path: str | Path) -> Scorecard:
|
|
188
|
+
"""Parse a scorecard JSON file. Validates against the model."""
|
|
189
|
+
p = Path(path)
|
|
190
|
+
with p.open("r", encoding="utf-8") as fh:
|
|
191
|
+
data = json.load(fh)
|
|
192
|
+
return Scorecard.model_validate(data)
|
|
File without changes
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"""Regression-gate math tests.
|
|
2
|
+
|
|
3
|
+
Anchors the bootstrap CI / Cohen's d / Welch t-test math against
|
|
4
|
+
hand-checked numeric values, so the gate verdict is byte-stable across
|
|
5
|
+
language ports (TS sibling validates against the same anchor numbers).
|
|
6
|
+
|
|
7
|
+
Specific regressions these protect against:
|
|
8
|
+
|
|
9
|
+
- ``cohens_d`` sign inversion (positive = head higher; we depend on this
|
|
10
|
+
to decide ``higher-better`` vs ``lower-better`` regression).
|
|
11
|
+
- Bootstrap CI not honouring the ``alpha`` parameter (regression: a
|
|
12
|
+
hardcoded 95% would block ``--alpha 0.01`` audits).
|
|
13
|
+
- Regression gate firing on either-or instead of and-and (regression:
|
|
14
|
+
either-or made the gate flap on tiny samples).
|
|
15
|
+
- Sample-size floor (<8 → ValueError, not a fake CI).
|
|
16
|
+
"""
|
|
17
|
+
|
|
18
|
+
from __future__ import annotations
|
|
19
|
+
|
|
20
|
+
import math
|
|
21
|
+
|
|
22
|
+
import numpy as np
|
|
23
|
+
import pytest
|
|
24
|
+
|
|
25
|
+
from eval.regression import (
|
|
26
|
+
DEFAULT_RESAMPLES,
|
|
27
|
+
DEFAULT_SEED,
|
|
28
|
+
bootstrap_ci,
|
|
29
|
+
cohens_d,
|
|
30
|
+
regression_gate,
|
|
31
|
+
welch_t_test,
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
# ---------------------------------------------------------------------------
|
|
36
|
+
# bootstrap CI
|
|
37
|
+
# ---------------------------------------------------------------------------
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def test_bootstrap_ci_mean_matches_sample_mean() -> None:
|
|
41
|
+
"""The reported ``mean`` field is the empirical mean (not the bootstrap mean)."""
|
|
42
|
+
samples = [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8]
|
|
43
|
+
ci = bootstrap_ci(samples, seed=42)
|
|
44
|
+
assert math.isclose(ci.mean, np.mean(samples)), ci
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def test_bootstrap_ci_seed_reproducibility() -> None:
|
|
48
|
+
"""Same seed → same CI bounds, byte-equal."""
|
|
49
|
+
s = [0.1, 0.5, 0.9, 0.2, 0.4, 0.7, 0.6, 0.3, 0.8, 0.5]
|
|
50
|
+
a = bootstrap_ci(s, seed=DEFAULT_SEED)
|
|
51
|
+
b = bootstrap_ci(s, seed=DEFAULT_SEED)
|
|
52
|
+
assert a.low == b.low and a.high == b.high
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def test_bootstrap_ci_alpha_is_honoured() -> None:
|
|
56
|
+
"""Tighter alpha widens the CI."""
|
|
57
|
+
s = [0.1, 0.5, 0.9, 0.2, 0.4, 0.7, 0.6, 0.3, 0.8, 0.5]
|
|
58
|
+
ci_95 = bootstrap_ci(s, alpha=0.05)
|
|
59
|
+
ci_99 = bootstrap_ci(s, alpha=0.01)
|
|
60
|
+
assert (ci_99.high - ci_99.low) >= (ci_95.high - ci_95.low)
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def test_bootstrap_ci_rejects_under_8_samples() -> None:
|
|
64
|
+
with pytest.raises(ValueError, match=r"≥8 samples"):
|
|
65
|
+
bootstrap_ci([0.1, 0.2, 0.3])
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def test_bootstrap_ci_rejects_nan() -> None:
|
|
69
|
+
with pytest.raises(ValueError, match="non-finite"):
|
|
70
|
+
bootstrap_ci([0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, float("nan")])
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
# ---------------------------------------------------------------------------
|
|
74
|
+
# Cohen's d
|
|
75
|
+
# ---------------------------------------------------------------------------
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
def test_cohens_d_known_value() -> None:
|
|
79
|
+
"""Anchor against a hand-checked value.
|
|
80
|
+
|
|
81
|
+
baseline = [0,0,0,0,0,0,0,0,0,0] (mean 0, var 0)
|
|
82
|
+
head = [1,1,1,1,1,1,1,1,1,1] (mean 1, var 0)
|
|
83
|
+
pooled std = 0 → returns 0.0 (constant samples have no detectable effect).
|
|
84
|
+
"""
|
|
85
|
+
a = [0.0] * 10
|
|
86
|
+
b = [1.0] * 10
|
|
87
|
+
assert cohens_d(a, b) == 0.0
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
def test_cohens_d_sign_convention() -> None:
|
|
91
|
+
"""Positive d means head > baseline (regardless of better/worse)."""
|
|
92
|
+
rng = np.random.default_rng(0)
|
|
93
|
+
a = rng.normal(0.5, 0.1, 50).tolist()
|
|
94
|
+
b = rng.normal(0.7, 0.1, 50).tolist()
|
|
95
|
+
d = cohens_d(a, b)
|
|
96
|
+
assert d > 0, f"expected positive d, got {d}"
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
def test_cohens_d_anchor_two_normals() -> None:
|
|
100
|
+
"""For two normals (mean diff 1, std 1, n large) Cohen's d ≈ 1.0."""
|
|
101
|
+
rng = np.random.default_rng(123)
|
|
102
|
+
a = rng.normal(0.0, 1.0, 500).tolist()
|
|
103
|
+
b = rng.normal(1.0, 1.0, 500).tolist()
|
|
104
|
+
d = cohens_d(a, b)
|
|
105
|
+
assert 0.85 < d < 1.15, f"expected d~1.0, got {d}"
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def test_cohens_d_rejects_under_2_samples() -> None:
|
|
109
|
+
with pytest.raises(ValueError):
|
|
110
|
+
cohens_d([0.5], [0.6, 0.7])
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
# ---------------------------------------------------------------------------
|
|
114
|
+
# Welch's t-test
|
|
115
|
+
# ---------------------------------------------------------------------------
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
def test_welch_t_test_significant_difference() -> None:
|
|
119
|
+
rng = np.random.default_rng(7)
|
|
120
|
+
a = rng.normal(0.5, 0.05, 50).tolist()
|
|
121
|
+
b = rng.normal(0.7, 0.05, 50).tolist()
|
|
122
|
+
_, p = welch_t_test(a, b)
|
|
123
|
+
assert p < 0.001
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
def test_welch_t_test_no_difference() -> None:
|
|
127
|
+
rng = np.random.default_rng(7)
|
|
128
|
+
a = rng.normal(0.5, 0.1, 50).tolist()
|
|
129
|
+
b = rng.normal(0.5, 0.1, 50).tolist()
|
|
130
|
+
_, p = welch_t_test(a, b)
|
|
131
|
+
assert p > 0.05
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
# ---------------------------------------------------------------------------
|
|
135
|
+
# regression_gate (and-and rule)
|
|
136
|
+
# ---------------------------------------------------------------------------
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
def test_gate_higher_better_clear_regression_flags() -> None:
|
|
140
|
+
rng = np.random.default_rng(11)
|
|
141
|
+
base = rng.normal(0.85, 0.02, 50).tolist()
|
|
142
|
+
head = rng.normal(0.55, 0.02, 50).tolist()
|
|
143
|
+
v = regression_gate(
|
|
144
|
+
flow="quality",
|
|
145
|
+
baseline=base,
|
|
146
|
+
head=head,
|
|
147
|
+
direction="higher-better",
|
|
148
|
+
)
|
|
149
|
+
assert v.regressed is True
|
|
150
|
+
assert v.cohen_d < -1.0
|
|
151
|
+
assert v.welch_p < 0.001
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def test_gate_higher_better_improvement_does_not_flag() -> None:
|
|
155
|
+
"""Improvements (head higher) on higher-better flows are NOT regressions."""
|
|
156
|
+
rng = np.random.default_rng(13)
|
|
157
|
+
base = rng.normal(0.6, 0.02, 50).tolist()
|
|
158
|
+
head = rng.normal(0.85, 0.02, 50).tolist()
|
|
159
|
+
v = regression_gate(
|
|
160
|
+
flow="quality",
|
|
161
|
+
baseline=base,
|
|
162
|
+
head=head,
|
|
163
|
+
direction="higher-better",
|
|
164
|
+
)
|
|
165
|
+
assert v.regressed is False, v.reason
|
|
166
|
+
assert v.cohen_d > 1.0 # positive d, but it's improvement, not regression
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
def test_gate_lower_better_flips_direction() -> None:
|
|
170
|
+
"""For lower-better flows, head GROWING is the regression."""
|
|
171
|
+
rng = np.random.default_rng(17)
|
|
172
|
+
# latency went from 0.2s to 0.5s — a regression
|
|
173
|
+
base = rng.normal(0.2, 0.02, 50).tolist()
|
|
174
|
+
head = rng.normal(0.5, 0.02, 50).tolist()
|
|
175
|
+
v = regression_gate(
|
|
176
|
+
flow="latency_p50",
|
|
177
|
+
baseline=base,
|
|
178
|
+
head=head,
|
|
179
|
+
direction="lower-better",
|
|
180
|
+
)
|
|
181
|
+
assert v.regressed is True
|
|
182
|
+
assert v.cohen_d > 1.0
|
|
183
|
+
|
|
184
|
+
|
|
185
|
+
def test_gate_requires_both_d_and_p() -> None:
|
|
186
|
+
"""Tiny d but tiny p (huge n) should NOT flag — d gate prevents flap."""
|
|
187
|
+
rng = np.random.default_rng(19)
|
|
188
|
+
# std=1 → effect is 0.05 sigma → tiny d, but n=2000 makes p < 0.05
|
|
189
|
+
base = rng.normal(0.5, 1.0, 2000).tolist()
|
|
190
|
+
head = rng.normal(0.45, 1.0, 2000).tolist()
|
|
191
|
+
v = regression_gate(
|
|
192
|
+
flow="quality",
|
|
193
|
+
baseline=base,
|
|
194
|
+
head=head,
|
|
195
|
+
direction="higher-better",
|
|
196
|
+
)
|
|
197
|
+
# p might be small here, but |d| should be < 0.2 → no regression
|
|
198
|
+
assert abs(v.cohen_d) < 0.2
|
|
199
|
+
assert v.regressed is False, v.reason
|
|
200
|
+
|
|
201
|
+
|
|
202
|
+
def test_gate_includes_diff_ci_in_verdict() -> None:
|
|
203
|
+
rng = np.random.default_rng(23)
|
|
204
|
+
base = rng.normal(0.85, 0.02, 50).tolist()
|
|
205
|
+
head = rng.normal(0.85, 0.02, 50).tolist()
|
|
206
|
+
v = regression_gate(
|
|
207
|
+
flow="quality",
|
|
208
|
+
baseline=base,
|
|
209
|
+
head=head,
|
|
210
|
+
direction="higher-better",
|
|
211
|
+
)
|
|
212
|
+
# Both arms are noise around the same mean ⇒ diff CI must span 0.
|
|
213
|
+
# Pre-fix this asserted the head-mean fell inside head's own CI, which
|
|
214
|
+
# was tautological (the bug being measured was that the field said
|
|
215
|
+
# "diff" while computing "head-mean"). Now we assert the actual
|
|
216
|
+
# treatment-vs-baseline interval.
|
|
217
|
+
assert v.diff_ci_low < 0 < v.diff_ci_high
|
|
218
|
+
assert abs(v.delta) < 0.05 # tiny mean shift in noise
|
|
219
|
+
assert v.resamples == DEFAULT_RESAMPLES
|
|
220
|
+
assert v.seed == DEFAULT_SEED
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
def test_diff_ci_recovers_known_lift() -> None:
|
|
224
|
+
"""Cross-language parity check: large lift ⇒ diff CI brackets it."""
|
|
225
|
+
from eval.regression import bootstrap_diff_ci
|
|
226
|
+
|
|
227
|
+
base = [0.5] * 30
|
|
228
|
+
head = [0.7] * 30
|
|
229
|
+
low, high = bootstrap_diff_ci(base, head, seed=DEFAULT_SEED)
|
|
230
|
+
# Zero-variance arms ⇒ degenerate CI exactly at the point estimate 0.2.
|
|
231
|
+
assert abs(low - 0.2) < 1e-9
|
|
232
|
+
assert abs(high - 0.2) < 1e-9
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
def test_diff_ci_does_not_collapse_to_head_mean_ci() -> None:
|
|
236
|
+
"""Regression: pre-fix `regression_gate` returned the head-MEAN CI,
|
|
237
|
+
not the delta CI. With baseline ≪ head, the head-mean CI lives near
|
|
238
|
+
head_mean (~0.85) while the delta CI lives near delta (~0.15). The
|
|
239
|
+
fields must report the latter.
|
|
240
|
+
"""
|
|
241
|
+
rng = np.random.default_rng(99)
|
|
242
|
+
base = rng.normal(0.70, 0.02, 30).tolist()
|
|
243
|
+
head = rng.normal(0.85, 0.02, 30).tolist()
|
|
244
|
+
v = regression_gate(
|
|
245
|
+
flow="quality",
|
|
246
|
+
baseline=base,
|
|
247
|
+
head=head,
|
|
248
|
+
direction="higher-better",
|
|
249
|
+
)
|
|
250
|
+
# Diff CI must be near 0.15, NOT near 0.85.
|
|
251
|
+
assert 0.10 < v.diff_ci_low < 0.20
|
|
252
|
+
assert 0.10 < v.diff_ci_high < 0.20
|
|
253
|
+
# Sanity: not regressed (head moved up significantly, but in
|
|
254
|
+
# higher-better direction → "improvement", which the gate codes as
|
|
255
|
+
# not-regressed).
|
|
256
|
+
assert v.regressed is False
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
def test_gate_invalid_direction_raises() -> None:
|
|
260
|
+
with pytest.raises(ValueError, match="invalid direction"):
|
|
261
|
+
regression_gate(
|
|
262
|
+
flow="x",
|
|
263
|
+
baseline=[0.5] * 10,
|
|
264
|
+
head=[0.5] * 10,
|
|
265
|
+
direction="sideways",
|
|
266
|
+
)
|