@tangle-network/starter-foundry 0.7.3 → 0.13.2
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 +7 -7
- package/dist/training/template_v1/harvest.js +5 -7
- 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 +108 -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 +24 -0
- package/registry/families/agent-debug-ui-ts/files/pnpm-workspace.yaml +3 -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 +92 -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 +116 -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 +93 -0
- package/registry/families/agent-eval-harness-ts/files/package.json +21 -0
- package/registry/families/agent-eval-harness-ts/files/pnpm-workspace.yaml +3 -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 +491 -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 +124 -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 +26 -0
- package/registry/families/agent-eval-ui-ts/files/pnpm-workspace.yaml +3 -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 +102 -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 +27 -0
- package/registry/families/agent-marketplace-ui-ts/files/pnpm-workspace.yaml +3 -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 +105 -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 +31 -0
- package/registry/families/agent-research-harness-ts/files/pnpm-workspace.yaml +3 -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 +109 -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 +27 -0
- package/registry/families/agent-with-ui-ts/files/pnpm-workspace.yaml +3 -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 +82 -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 +30 -0
- package/registry/families/orchestrator-with-ui-ts/files/pnpm-workspace.yaml +3 -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 +92 -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 +27 -0
- package/registry/families/sandbox-app-ts/files/pnpm-workspace.yaml +3 -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 +84 -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 +84 -0
- package/registry/layers/agent-eval/judge-rubric/files/src/eval/judges/rubric-runner.ts +249 -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/files/tests/eval/README.md +5 -5
- package/registry/layers/capability/agent-eval/files/tests/eval/judge.mjs +25 -15
- 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 +3 -3
- 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/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,305 @@
|
|
|
1
|
+
"""Validator — multi-rep verdicts with bootstrap CI + Cohen's d.
|
|
2
|
+
|
|
3
|
+
This module is the **single source of truth** for the harness's
|
|
4
|
+
statistical math. The TS sibling family mirrors these definitions
|
|
5
|
+
byte-for-byte; do not introduce a second implementation in screener
|
|
6
|
+
or runner. Both other modules import from here.
|
|
7
|
+
|
|
8
|
+
Math contract:
|
|
9
|
+
bootstrap_mean_diff_ci -> 95%, 1000 resamples, fixed seed
|
|
10
|
+
cohens_d -> pooled-variance form (Hedges-style
|
|
11
|
+
denominator with n1+n2-2)
|
|
12
|
+
|
|
13
|
+
The verdict ladder:
|
|
14
|
+
winner -> ci_lower > 0 AND cohens_d >= 0.2
|
|
15
|
+
loser -> ci_upper < 0 AND cohens_d <= -0.2
|
|
16
|
+
neutral -> CI straddles zero or |d| < 0.2
|
|
17
|
+
insufficient-data -> n_reps < 2 after errors are filtered out
|
|
18
|
+
"""
|
|
19
|
+
|
|
20
|
+
from __future__ import annotations
|
|
21
|
+
|
|
22
|
+
from collections.abc import Iterable
|
|
23
|
+
from typing import Literal
|
|
24
|
+
|
|
25
|
+
import numpy as np
|
|
26
|
+
from scipy import stats
|
|
27
|
+
|
|
28
|
+
from .types import HypothesisResult, ValidationVerdict
|
|
29
|
+
|
|
30
|
+
BOOTSTRAP_RESAMPLES = 1000
|
|
31
|
+
BOOTSTRAP_CI = 0.95
|
|
32
|
+
BOOTSTRAP_SEED = 0xC0FFEE
|
|
33
|
+
COHENS_D_THRESHOLD = 0.2
|
|
34
|
+
DEFAULT_FDR = 0.05
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def benjamini_hochberg(p_values: list[float], fdr: float = DEFAULT_FDR) -> list[float]:
|
|
38
|
+
"""Benjamini–Hochberg FDR-adjusted q-values.
|
|
39
|
+
|
|
40
|
+
Sort p-values ascending; for each rank i (1-based) of n total tests:
|
|
41
|
+
q[i] = min(p[i] * n / i, q[i+1] ... q[n], 1.0)
|
|
42
|
+
The trailing-min ("step-up") preserves monotonicity of q-values and
|
|
43
|
+
matches scipy's ``false_discovery_control`` and the TS sibling's
|
|
44
|
+
``benjaminiHochberg`` byte-for-byte under the same input ordering.
|
|
45
|
+
|
|
46
|
+
Returns q-values in the ORIGINAL order (not sorted).
|
|
47
|
+
"""
|
|
48
|
+
if not p_values:
|
|
49
|
+
return []
|
|
50
|
+
if not all(0.0 <= p <= 1.0 for p in p_values):
|
|
51
|
+
raise ValueError("benjamini_hochberg: p-values must be in [0, 1]")
|
|
52
|
+
n = len(p_values)
|
|
53
|
+
# Sort indices by ascending p-value.
|
|
54
|
+
order = sorted(range(n), key=lambda i: p_values[i])
|
|
55
|
+
sorted_p = [p_values[i] for i in order]
|
|
56
|
+
# Compute raw adjusted: p_(k) * n / (k+1) (k 0-indexed → rank k+1).
|
|
57
|
+
raw = [min(sorted_p[k] * n / (k + 1), 1.0) for k in range(n)]
|
|
58
|
+
# Step-up: enforce monotonicity by taking trailing minimum.
|
|
59
|
+
q_sorted = list(raw)
|
|
60
|
+
for k in range(n - 2, -1, -1):
|
|
61
|
+
q_sorted[k] = min(q_sorted[k], q_sorted[k + 1])
|
|
62
|
+
# Re-scatter to original positions.
|
|
63
|
+
q = [0.0] * n
|
|
64
|
+
for rank, original_idx in enumerate(order):
|
|
65
|
+
q[original_idx] = q_sorted[rank]
|
|
66
|
+
return q
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def welch_p_value(treatment: Iterable[float], baseline: Iterable[float]) -> float:
|
|
70
|
+
"""Two-sided Welch t-test p-value. Returns 1.0 when n<2 in either arm
|
|
71
|
+
(no test possible) so BH treats the entry as non-significant.
|
|
72
|
+
"""
|
|
73
|
+
t = np.asarray(list(treatment), dtype=float)
|
|
74
|
+
b = np.asarray(list(baseline), dtype=float)
|
|
75
|
+
if t.size < 2 or b.size < 2:
|
|
76
|
+
return 1.0
|
|
77
|
+
res = stats.ttest_ind(t, b, equal_var=False)
|
|
78
|
+
p = float(res.pvalue)
|
|
79
|
+
if not np.isfinite(p):
|
|
80
|
+
return 1.0
|
|
81
|
+
return p
|
|
82
|
+
|
|
83
|
+
|
|
84
|
+
def cohens_d(treatment: Iterable[float], baseline: Iterable[float]) -> float:
|
|
85
|
+
"""Pooled-variance Cohen's d.
|
|
86
|
+
|
|
87
|
+
d = (mean(treatment) - mean(baseline)) / s_pooled
|
|
88
|
+
s_pooled = sqrt(((n1-1)*s1^2 + (n2-1)*s2^2) / (n1 + n2 - 2))
|
|
89
|
+
|
|
90
|
+
Uses sample variance (ddof=1). Returns 0.0 if both samples are
|
|
91
|
+
constant (s_pooled == 0) — the conservative answer for a
|
|
92
|
+
no-variation comparison.
|
|
93
|
+
"""
|
|
94
|
+
t = np.asarray(list(treatment), dtype=float)
|
|
95
|
+
b = np.asarray(list(baseline), dtype=float)
|
|
96
|
+
n1, n2 = t.size, b.size
|
|
97
|
+
if n1 < 2 or n2 < 2:
|
|
98
|
+
raise ValueError("cohens_d requires n>=2 in each arm")
|
|
99
|
+
s1 = float(np.var(t, ddof=1))
|
|
100
|
+
s2 = float(np.var(b, ddof=1))
|
|
101
|
+
s_pooled_sq = ((n1 - 1) * s1 + (n2 - 1) * s2) / (n1 + n2 - 2)
|
|
102
|
+
if s_pooled_sq <= 0:
|
|
103
|
+
return 0.0
|
|
104
|
+
return (float(np.mean(t)) - float(np.mean(b))) / float(np.sqrt(s_pooled_sq))
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
def bootstrap_mean_diff_ci(
|
|
108
|
+
treatment: Iterable[float],
|
|
109
|
+
baseline: Iterable[float],
|
|
110
|
+
*,
|
|
111
|
+
n_resamples: int = BOOTSTRAP_RESAMPLES,
|
|
112
|
+
confidence_level: float = BOOTSTRAP_CI,
|
|
113
|
+
seed: int = BOOTSTRAP_SEED,
|
|
114
|
+
) -> tuple[float, float]:
|
|
115
|
+
"""Bootstrap CI on mean(treatment) - mean(baseline).
|
|
116
|
+
|
|
117
|
+
Wraps `scipy.stats.bootstrap` with a fixed seed so re-runs over
|
|
118
|
+
the same inputs return identical CIs. Returns ``(low, high)``.
|
|
119
|
+
|
|
120
|
+
`method='percentile'` is intentional — it matches the TS sibling
|
|
121
|
+
family's implementation. BCa would be marginally tighter but
|
|
122
|
+
requires deeper integration to get matching results across
|
|
123
|
+
languages.
|
|
124
|
+
"""
|
|
125
|
+
t = np.asarray(list(treatment), dtype=float)
|
|
126
|
+
b = np.asarray(list(baseline), dtype=float)
|
|
127
|
+
if t.size < 2 or b.size < 2:
|
|
128
|
+
raise ValueError("bootstrap_mean_diff_ci requires n>=2 in each arm")
|
|
129
|
+
rng = np.random.default_rng(seed)
|
|
130
|
+
|
|
131
|
+
def stat(x: np.ndarray, y: np.ndarray) -> float:
|
|
132
|
+
return float(np.mean(x) - np.mean(y))
|
|
133
|
+
|
|
134
|
+
res = stats.bootstrap(
|
|
135
|
+
(t, b),
|
|
136
|
+
statistic=stat,
|
|
137
|
+
n_resamples=n_resamples,
|
|
138
|
+
confidence_level=confidence_level,
|
|
139
|
+
method="percentile",
|
|
140
|
+
random_state=rng,
|
|
141
|
+
paired=False,
|
|
142
|
+
vectorized=False,
|
|
143
|
+
)
|
|
144
|
+
lo = float(res.confidence_interval.low)
|
|
145
|
+
hi = float(res.confidence_interval.high)
|
|
146
|
+
return lo, hi
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
def _verdict(
|
|
150
|
+
ci_lower: float,
|
|
151
|
+
ci_upper: float,
|
|
152
|
+
d: float,
|
|
153
|
+
n_reps: int,
|
|
154
|
+
q_value: float | None,
|
|
155
|
+
fdr: float,
|
|
156
|
+
) -> Literal["winner", "neutral", "loser", "insufficient-data"]:
|
|
157
|
+
if n_reps < 2:
|
|
158
|
+
return "insufficient-data"
|
|
159
|
+
# Promotion (winner / loser) requires BOTH a CI strictly off zero AND
|
|
160
|
+
# the BH-adjusted q below the configured FDR. Without the q gate the
|
|
161
|
+
# family-wise false-promote rate scales linearly with the number of
|
|
162
|
+
# hypotheses tested in a single run.
|
|
163
|
+
if q_value is None:
|
|
164
|
+
# Single-hypothesis run: BH degenerates to identity; fall back to
|
|
165
|
+
# raw-CI gate. Caller should still aggregate across runs.
|
|
166
|
+
if ci_lower > 0 and d >= COHENS_D_THRESHOLD:
|
|
167
|
+
return "winner"
|
|
168
|
+
if ci_upper < 0 and d <= -COHENS_D_THRESHOLD:
|
|
169
|
+
return "loser"
|
|
170
|
+
return "neutral"
|
|
171
|
+
if ci_lower > 0 and d >= COHENS_D_THRESHOLD and q_value < fdr:
|
|
172
|
+
return "winner"
|
|
173
|
+
if ci_upper < 0 and d <= -COHENS_D_THRESHOLD and q_value < fdr:
|
|
174
|
+
return "loser"
|
|
175
|
+
return "neutral"
|
|
176
|
+
|
|
177
|
+
|
|
178
|
+
def _summarize_one(
|
|
179
|
+
hypothesis_id: str, results: list[HypothesisResult]
|
|
180
|
+
) -> tuple[ValidationVerdict, float | None]:
|
|
181
|
+
"""Compute per-hypothesis stats; returns (partial verdict, p-value).
|
|
182
|
+
|
|
183
|
+
Verdict is filled in by the family-level pass after BH q-values are
|
|
184
|
+
available. p-value is None when the hypothesis has insufficient data.
|
|
185
|
+
"""
|
|
186
|
+
treatment_vals: list[float] = []
|
|
187
|
+
baseline_vals: list[float] = []
|
|
188
|
+
n_errors = 0
|
|
189
|
+
for r in results:
|
|
190
|
+
if r.error is not None:
|
|
191
|
+
n_errors += 1
|
|
192
|
+
continue
|
|
193
|
+
if r.treatment_value is None or r.baseline_value is None:
|
|
194
|
+
n_errors += 1
|
|
195
|
+
continue
|
|
196
|
+
treatment_vals.append(r.treatment_value)
|
|
197
|
+
baseline_vals.append(r.baseline_value)
|
|
198
|
+
|
|
199
|
+
n_reps = min(len(treatment_vals), len(baseline_vals))
|
|
200
|
+
if n_reps < 2:
|
|
201
|
+
return (
|
|
202
|
+
ValidationVerdict(
|
|
203
|
+
hypothesis_id=hypothesis_id,
|
|
204
|
+
n_reps=n_reps,
|
|
205
|
+
mean_treatment=float("nan"),
|
|
206
|
+
mean_baseline=float("nan"),
|
|
207
|
+
mean_diff=float("nan"),
|
|
208
|
+
ci_lower=float("nan"),
|
|
209
|
+
ci_upper=float("nan"),
|
|
210
|
+
cohens_d=float("nan"),
|
|
211
|
+
p_value=None,
|
|
212
|
+
q_value=None,
|
|
213
|
+
n_errors=n_errors,
|
|
214
|
+
verdict="insufficient-data",
|
|
215
|
+
),
|
|
216
|
+
None,
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
mean_t = float(np.mean(treatment_vals))
|
|
220
|
+
mean_b = float(np.mean(baseline_vals))
|
|
221
|
+
mean_diff = mean_t - mean_b
|
|
222
|
+
lo, hi = bootstrap_mean_diff_ci(treatment_vals, baseline_vals)
|
|
223
|
+
d = cohens_d(treatment_vals, baseline_vals)
|
|
224
|
+
p = welch_p_value(treatment_vals, baseline_vals)
|
|
225
|
+
|
|
226
|
+
# Verdict left as 'neutral' — family-level pass overwrites with BH q.
|
|
227
|
+
return (
|
|
228
|
+
ValidationVerdict(
|
|
229
|
+
hypothesis_id=hypothesis_id,
|
|
230
|
+
n_reps=n_reps,
|
|
231
|
+
mean_treatment=mean_t,
|
|
232
|
+
mean_baseline=mean_b,
|
|
233
|
+
mean_diff=mean_diff,
|
|
234
|
+
ci_lower=lo,
|
|
235
|
+
ci_upper=hi,
|
|
236
|
+
cohens_d=d,
|
|
237
|
+
p_value=p,
|
|
238
|
+
q_value=None,
|
|
239
|
+
n_errors=n_errors,
|
|
240
|
+
verdict="neutral",
|
|
241
|
+
),
|
|
242
|
+
p,
|
|
243
|
+
)
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
def summarize(
|
|
247
|
+
hypothesis_id: str, results: list[HypothesisResult]
|
|
248
|
+
) -> ValidationVerdict:
|
|
249
|
+
"""Single-hypothesis convenience. For multi-hypothesis runs use
|
|
250
|
+
``run_validate`` so BH/FDR correction is applied family-wise.
|
|
251
|
+
"""
|
|
252
|
+
partial, p = _summarize_one(hypothesis_id, results)
|
|
253
|
+
if p is None:
|
|
254
|
+
return partial
|
|
255
|
+
verdict = _verdict(
|
|
256
|
+
partial.ci_lower, partial.ci_upper, partial.cohens_d, partial.n_reps, None, DEFAULT_FDR
|
|
257
|
+
)
|
|
258
|
+
return partial.model_copy(update={"verdict": verdict})
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
def run_validate(
|
|
262
|
+
results_by_hypothesis: dict[str, list[HypothesisResult]],
|
|
263
|
+
*,
|
|
264
|
+
fdr: float = DEFAULT_FDR,
|
|
265
|
+
) -> list[ValidationVerdict]:
|
|
266
|
+
"""Compute verdicts with family-wise BH-FDR correction.
|
|
267
|
+
|
|
268
|
+
Two passes:
|
|
269
|
+
1. Per-hypothesis stats + raw p-values.
|
|
270
|
+
2. BH-adjust p-values across the family; finalize verdicts using q.
|
|
271
|
+
"""
|
|
272
|
+
partials: list[ValidationVerdict] = []
|
|
273
|
+
p_values: list[float] = []
|
|
274
|
+
p_indices: list[int] = [] # which partials had a real p-value
|
|
275
|
+
for hid, rs in results_by_hypothesis.items():
|
|
276
|
+
v, p = _summarize_one(hid, rs)
|
|
277
|
+
partials.append(v)
|
|
278
|
+
if p is not None:
|
|
279
|
+
p_values.append(p)
|
|
280
|
+
p_indices.append(len(partials) - 1)
|
|
281
|
+
|
|
282
|
+
if p_values:
|
|
283
|
+
q_values = benjamini_hochberg(p_values, fdr)
|
|
284
|
+
else:
|
|
285
|
+
q_values = []
|
|
286
|
+
|
|
287
|
+
out: list[ValidationVerdict] = []
|
|
288
|
+
q_iter = iter(zip(p_indices, q_values, strict=True))
|
|
289
|
+
next_pair = next(q_iter, None)
|
|
290
|
+
for i, partial in enumerate(partials):
|
|
291
|
+
if next_pair is not None and next_pair[0] == i:
|
|
292
|
+
_, q = next_pair
|
|
293
|
+
verdict = _verdict(
|
|
294
|
+
partial.ci_lower,
|
|
295
|
+
partial.ci_upper,
|
|
296
|
+
partial.cohens_d,
|
|
297
|
+
partial.n_reps,
|
|
298
|
+
q,
|
|
299
|
+
fdr,
|
|
300
|
+
)
|
|
301
|
+
out.append(partial.model_copy(update={"q_value": q, "verdict": verdict}))
|
|
302
|
+
next_pair = next(q_iter, None)
|
|
303
|
+
else:
|
|
304
|
+
out.append(partial)
|
|
305
|
+
return out
|
|
File without changes
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"""Sandbox lifecycle — mocked because there's no live router/sandbox
|
|
2
|
+
in the family scaffold's pytest run.
|
|
3
|
+
|
|
4
|
+
Documented limit: this test stops at the boundary between the harness
|
|
5
|
+
and `tangle_sandbox.Sandbox`. It verifies our orchestration (create →
|
|
6
|
+
wait_for → write → exec → delete, in that order, with treatment +
|
|
7
|
+
baseline both applied) is correct. It does NOT verify the real SDK.
|
|
8
|
+
|
|
9
|
+
For end-to-end sandbox integration, set `TANGLE_SANDBOX_KEY` and run
|
|
10
|
+
the harness via `python -m research screen` against the example
|
|
11
|
+
hypothesis. That path is exercised by the nightly CI in
|
|
12
|
+
`.github/workflows/research.yml`.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from dataclasses import dataclass, field
|
|
18
|
+
from typing import Any
|
|
19
|
+
|
|
20
|
+
import pytest
|
|
21
|
+
|
|
22
|
+
from research.sandbox_runner import (
|
|
23
|
+
SandboxRunConfig,
|
|
24
|
+
_extract_metric,
|
|
25
|
+
run_hypothesis_rep,
|
|
26
|
+
)
|
|
27
|
+
from research.types import Baseline, Hypothesis, Scenario, Treatment
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@dataclass
|
|
31
|
+
class _ExecResult:
|
|
32
|
+
exit_code: int
|
|
33
|
+
stdout: str
|
|
34
|
+
stderr: str = ""
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
@dataclass
|
|
38
|
+
class _MockBox:
|
|
39
|
+
image: str
|
|
40
|
+
events: list[tuple[str, Any]] = field(default_factory=list)
|
|
41
|
+
deleted: bool = False
|
|
42
|
+
_file_state: dict[str, str] = field(default_factory=dict)
|
|
43
|
+
|
|
44
|
+
def wait_for(self, status: str) -> None:
|
|
45
|
+
self.events.append(("wait_for", status))
|
|
46
|
+
|
|
47
|
+
def write(self, path: str, content: str) -> None:
|
|
48
|
+
self.events.append(("write", (path, content)))
|
|
49
|
+
self._file_state[path] = content
|
|
50
|
+
|
|
51
|
+
def exec(self, command: str, env: dict[str, str] | None = None) -> _ExecResult:
|
|
52
|
+
self.events.append(("exec", (command, dict(self._file_state), env or {})))
|
|
53
|
+
# Synthesize a metric reading that depends on the file state
|
|
54
|
+
# so tests can assert treatment vs baseline produced different
|
|
55
|
+
# values.
|
|
56
|
+
marker = self._file_state.get("config/runtime.env", "")
|
|
57
|
+
qps = 100.0 if "BATCH_SIZE=64" in marker else 50.0
|
|
58
|
+
return _ExecResult(exit_code=0, stdout=f'{{"qps": {qps}}}\n')
|
|
59
|
+
|
|
60
|
+
def delete(self) -> None:
|
|
61
|
+
self.deleted = True
|
|
62
|
+
self.events.append(("delete", None))
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@dataclass
|
|
66
|
+
class _MockClient:
|
|
67
|
+
last_box: _MockBox | None = None
|
|
68
|
+
|
|
69
|
+
def create(self, image: str = "ubuntu") -> _MockBox:
|
|
70
|
+
box = _MockBox(image=image)
|
|
71
|
+
self.last_box = box
|
|
72
|
+
return box
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def _client_factory(_cfg: SandboxRunConfig) -> _MockClient:
|
|
76
|
+
return _MockClient()
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
def _hypothesis() -> Hypothesis:
|
|
80
|
+
return Hypothesis(
|
|
81
|
+
id="h-batch",
|
|
82
|
+
description="Doubling batch size should improve qps without breaking the run.",
|
|
83
|
+
sandboxImage="ubuntu",
|
|
84
|
+
treatment=Treatment(
|
|
85
|
+
description="batch=64",
|
|
86
|
+
files={"config/runtime.env": "BATCH_SIZE=64\n"},
|
|
87
|
+
env={},
|
|
88
|
+
),
|
|
89
|
+
baseline=Baseline(
|
|
90
|
+
description="batch=32",
|
|
91
|
+
files={"config/runtime.env": "BATCH_SIZE=32\n"},
|
|
92
|
+
env={},
|
|
93
|
+
),
|
|
94
|
+
scenarios=[
|
|
95
|
+
Scenario(
|
|
96
|
+
id="bench",
|
|
97
|
+
description="run benchmark",
|
|
98
|
+
command=["bash", "-c", "scripts/run-bench.sh"],
|
|
99
|
+
)
|
|
100
|
+
],
|
|
101
|
+
metrics=["qps"],
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
def test_extract_metric_picks_last_json_line() -> None:
|
|
106
|
+
stdout = "noise\n{'not': 'json'}\n{\"qps\": 42.5}\n"
|
|
107
|
+
assert _extract_metric(stdout, "qps") == 42.5
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
def test_extract_metric_returns_none_when_metric_missing() -> None:
|
|
111
|
+
stdout = '{"throughput": 99}\n'
|
|
112
|
+
assert _extract_metric(stdout, "qps") is None
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
def test_extract_metric_returns_none_when_no_json() -> None:
|
|
116
|
+
assert _extract_metric("just text\n", "qps") is None
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
def test_run_hypothesis_rep_creates_treatment_baseline_and_deletes_sandbox() -> None:
|
|
120
|
+
h = _hypothesis()
|
|
121
|
+
cfg = SandboxRunConfig(api_key="test-key", base_url="http://localhost")
|
|
122
|
+
captured: dict[str, _MockClient] = {}
|
|
123
|
+
|
|
124
|
+
def factory(c: SandboxRunConfig) -> _MockClient:
|
|
125
|
+
client = _client_factory(c)
|
|
126
|
+
captured["c"] = client
|
|
127
|
+
return client
|
|
128
|
+
|
|
129
|
+
results = run_hypothesis_rep(h, rep_index=0, config=cfg, client_factory=factory)
|
|
130
|
+
assert len(results) == 1
|
|
131
|
+
r = results[0]
|
|
132
|
+
assert r.hypothesis_id == "h-batch"
|
|
133
|
+
assert r.scenario_id == "bench"
|
|
134
|
+
assert r.metric == "qps"
|
|
135
|
+
assert r.treatment_value == 100.0
|
|
136
|
+
assert r.baseline_value == 50.0
|
|
137
|
+
assert r.error is None
|
|
138
|
+
assert r.rep_index == 0
|
|
139
|
+
|
|
140
|
+
box = captured["c"].last_box
|
|
141
|
+
assert box is not None and box.deleted, "sandbox must be deleted after the rep"
|
|
142
|
+
kinds = [ev[0] for ev in box.events]
|
|
143
|
+
# Order contract: wait_for → (write+exec for treatment) → (write+exec for baseline) → delete
|
|
144
|
+
assert kinds[0] == "wait_for"
|
|
145
|
+
assert kinds[-1] == "delete"
|
|
146
|
+
assert kinds.count("write") == 2
|
|
147
|
+
assert kinds.count("exec") == 2
|
|
148
|
+
|
|
149
|
+
|
|
150
|
+
def test_run_hypothesis_rep_requires_sandbox_key_when_no_factory() -> None:
|
|
151
|
+
h = _hypothesis()
|
|
152
|
+
cfg = SandboxRunConfig(api_key="", base_url="http://localhost")
|
|
153
|
+
with pytest.raises(RuntimeError, match="TANGLE_SANDBOX_KEY"):
|
|
154
|
+
run_hypothesis_rep(h, rep_index=0, config=cfg)
|
|
155
|
+
|
|
156
|
+
|
|
157
|
+
def test_run_hypothesis_rep_marks_error_when_both_arms_missing_metric() -> None:
|
|
158
|
+
"""If the scenario's command emits no metric line, both arms come
|
|
159
|
+
back as None and the result must carry an `error` so downstream
|
|
160
|
+
code doesn't average None into the verdict."""
|
|
161
|
+
|
|
162
|
+
class _BlankBox(_MockBox):
|
|
163
|
+
def exec(self, command: str, env: dict[str, str] | None = None) -> _ExecResult:
|
|
164
|
+
return _ExecResult(exit_code=0, stdout="no json here\n")
|
|
165
|
+
|
|
166
|
+
class _BlankClient(_MockClient):
|
|
167
|
+
def create(self, image: str = "ubuntu") -> _BlankBox:
|
|
168
|
+
box = _BlankBox(image=image)
|
|
169
|
+
self.last_box = box
|
|
170
|
+
return box
|
|
171
|
+
|
|
172
|
+
h = _hypothesis()
|
|
173
|
+
results = run_hypothesis_rep(
|
|
174
|
+
h,
|
|
175
|
+
rep_index=0,
|
|
176
|
+
config=SandboxRunConfig(api_key="x"),
|
|
177
|
+
client_factory=lambda _c: _BlankClient(),
|
|
178
|
+
)
|
|
179
|
+
assert results[0].treatment_value is None
|
|
180
|
+
assert results[0].baseline_value is None
|
|
181
|
+
assert results[0].error == "both-arms-missing-metric"
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"""Screener regressions.
|
|
2
|
+
|
|
3
|
+
Catches:
|
|
4
|
+
- mis-ranking when one hypothesis has consistent positive deltas
|
|
5
|
+
- hypotheses with all-error scenarios sneaking into top()
|
|
6
|
+
- non-deterministic ordering (must be stable for repeat runs)
|
|
7
|
+
"""
|
|
8
|
+
|
|
9
|
+
from __future__ import annotations
|
|
10
|
+
|
|
11
|
+
from research.screener import run_screen
|
|
12
|
+
from research.types import HypothesisResult
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
def _result(hid: str, sid: str, t: float | None, b: float | None, err: str | None = None) -> HypothesisResult:
|
|
16
|
+
return HypothesisResult(
|
|
17
|
+
hypothesis_id=hid,
|
|
18
|
+
scenario_id=sid,
|
|
19
|
+
metric="qps",
|
|
20
|
+
treatment_value=t,
|
|
21
|
+
baseline_value=b,
|
|
22
|
+
error=err,
|
|
23
|
+
)
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def test_screener_ranks_by_mean_delta_descending() -> None:
|
|
27
|
+
results: dict[str, list[HypothesisResult]] = {
|
|
28
|
+
"h-low": [_result("h-low", "s1", 11.0, 10.0), _result("h-low", "s2", 11.0, 10.0)],
|
|
29
|
+
"h-high": [_result("h-high", "s1", 20.0, 10.0), _result("h-high", "s2", 18.0, 10.0)],
|
|
30
|
+
"h-mid": [_result("h-mid", "s1", 15.0, 10.0), _result("h-mid", "s2", 15.0, 10.0)],
|
|
31
|
+
"h-neg": [_result("h-neg", "s1", 5.0, 10.0), _result("h-neg", "s2", 7.0, 10.0)],
|
|
32
|
+
"h-zero": [_result("h-zero", "s1", 10.0, 10.0), _result("h-zero", "s2", 10.0, 10.0)],
|
|
33
|
+
}
|
|
34
|
+
ranking = run_screen(results)
|
|
35
|
+
ids = [row.hypothesis_id for row in ranking.rows]
|
|
36
|
+
# Expected order by mean delta: h-high(9) > h-mid(5) > h-low(1) > h-zero(0) > h-neg(-3.5)
|
|
37
|
+
assert ids == ["h-high", "h-mid", "h-low", "h-zero", "h-neg"], ids
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
def test_screener_top_excludes_all_error_hypotheses() -> None:
|
|
41
|
+
results: dict[str, list[HypothesisResult]] = {
|
|
42
|
+
"h-good": [_result("h-good", "s1", 11.0, 10.0)],
|
|
43
|
+
"h-broken": [_result("h-broken", "s1", None, None, err="exec-failed")],
|
|
44
|
+
}
|
|
45
|
+
ranking = run_screen(results)
|
|
46
|
+
assert "h-broken" not in ranking.top(2)
|
|
47
|
+
assert ranking.top(2) == ["h-good"]
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
def test_screener_top_k_respects_k() -> None:
|
|
51
|
+
results: dict[str, list[HypothesisResult]] = {
|
|
52
|
+
f"h-{i}": [_result(f"h-{i}", "s1", float(10 + i), 10.0)] for i in range(5)
|
|
53
|
+
}
|
|
54
|
+
ranking = run_screen(results)
|
|
55
|
+
top3 = ranking.top(3)
|
|
56
|
+
assert top3 == ["h-4", "h-3", "h-2"]
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
def test_screener_handles_partial_errors() -> None:
|
|
60
|
+
"""A hypothesis with one good scenario and one errored scenario
|
|
61
|
+
should rank by the good scenario's delta — and the row's
|
|
62
|
+
n_errors must reflect the failure."""
|
|
63
|
+
results: dict[str, list[HypothesisResult]] = {
|
|
64
|
+
"h-partial": [
|
|
65
|
+
_result("h-partial", "s1", 12.0, 10.0),
|
|
66
|
+
_result("h-partial", "s2", None, None, err="timeout"),
|
|
67
|
+
],
|
|
68
|
+
}
|
|
69
|
+
ranking = run_screen(results)
|
|
70
|
+
row = ranking.rows[0]
|
|
71
|
+
assert row.hypothesis_id == "h-partial"
|
|
72
|
+
assert row.mean_delta == 2.0
|
|
73
|
+
assert row.n_errors == 1
|
|
74
|
+
assert row.n_scenarios == 2
|