metaharness 0.3.0 → 0.3.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 +21 -21
- package/README.md +111 -74
- package/dist/bin.js +14 -2
- package/dist/bin.js.map +1 -1
- package/dist/completions-cmd.js +94 -94
- package/dist/diag.d.ts +8 -0
- package/dist/diag.d.ts.map +1 -1
- package/dist/diag.js +79 -15
- package/dist/diag.js.map +1 -1
- package/dist/export-config.d.ts.map +1 -1
- package/dist/export-config.js +3 -12
- package/dist/export-config.js.map +1 -1
- package/dist/genome.d.ts.map +1 -1
- package/dist/genome.js +3 -12
- package/dist/genome.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +101 -75
- package/dist/index.js.map +1 -1
- package/dist/meta-proxy.d.ts +57 -0
- package/dist/meta-proxy.d.ts.map +1 -0
- package/dist/meta-proxy.js +325 -0
- package/dist/meta-proxy.js.map +1 -0
- package/dist/publish-cmd.d.ts.map +1 -1
- package/dist/publish-cmd.js +5 -0
- package/dist/publish-cmd.js.map +1 -1
- package/dist/publish.d.ts +6 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +9 -0
- package/dist/publish.js.map +1 -1
- package/dist/redact.d.ts +25 -0
- package/dist/redact.d.ts.map +1 -0
- package/dist/redact.js +62 -0
- package/dist/redact.js.map +1 -0
- package/dist/score.d.ts +9 -0
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +20 -14
- package/dist/score.js.map +1 -1
- package/dist/threat-model.d.ts.map +1 -1
- package/dist/threat-model.js +3 -12
- package/dist/threat-model.js.map +1 -1
- package/dist/with-wasm.js +43 -43
- package/dist/witness-client.d.ts +7 -0
- package/dist/witness-client.d.ts.map +1 -1
- package/dist/witness-client.js +5 -1
- package/dist/witness-client.js.map +1 -1
- package/genomes/README.md +23 -23
- package/genomes/genome-promoted-cand6-edit-by-midpoint.json +26 -26
- package/package.json +126 -125
- package/templates/catalog.def.mjs +542 -542
- package/templates/catalog.json +1274 -1274
- package/templates/minimal/.claude/settings.json.tmpl +18 -18
- package/templates/minimal/.claude-plugin/plugin.json.tmpl +13 -13
- package/templates/minimal/CLAUDE.md.tmpl +26 -23
- package/templates/minimal/README.md.tmpl +20 -20
- package/templates/minimal/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/minimal/bin/cli.js.tmpl +100 -100
- package/templates/minimal/manifest.json +20 -20
- package/templates/minimal/package.json.tmpl +31 -31
- package/templates/minimal/src/init.ts.tmpl +21 -21
- package/templates/minimal/tsconfig.json.tmpl +19 -19
- package/templates/minimal/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_advertising/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_advertising/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_advertising/.claude/skills/media-plan/SKILL.md.tmpl +13 -13
- package/templates/vertical_advertising/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_advertising/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_advertising/README.md.tmpl +29 -29
- package/templates/vertical_advertising/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_advertising/bin/cli.js.tmpl +100 -100
- package/templates/vertical_advertising/manifest.json +101 -101
- package/templates/vertical_advertising/package.json.tmpl +30 -30
- package/templates/vertical_advertising/src/agents/copywriter.ts.tmpl +7 -7
- package/templates/vertical_advertising/src/agents/media-planner.ts.tmpl +7 -7
- package/templates/vertical_advertising/src/agents/performance-analyst.ts.tmpl +7 -7
- package/templates/vertical_advertising/src/init.ts.tmpl +21 -21
- package/templates/vertical_advertising/tsconfig.json.tmpl +19 -19
- package/templates/vertical_advertising/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_agentics/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_agentics/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_agentics/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_agentics/.claude/skills/run-swarm/SKILL.md.tmpl +14 -14
- package/templates/vertical_agentics/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_agentics/CLAUDE.md.tmpl +32 -32
- package/templates/vertical_agentics/README.md.tmpl +30 -30
- package/templates/vertical_agentics/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_agentics/bin/cli.js.tmpl +100 -100
- package/templates/vertical_agentics/manifest.json +111 -111
- package/templates/vertical_agentics/package.json.tmpl +30 -30
- package/templates/vertical_agentics/src/agents/critic.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/agents/orchestrator.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/agents/planner.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/agents/worker.ts.tmpl +7 -7
- package/templates/vertical_agentics/src/init.ts.tmpl +21 -21
- package/templates/vertical_agentics/tsconfig.json.tmpl +19 -19
- package/templates/vertical_agentics/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_ai/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_ai/.claude/settings.json.tmpl +35 -35
- package/templates/vertical_ai/.claude/skills/eval-report/SKILL.md.tmpl +13 -13
- package/templates/vertical_ai/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_ai/CLAUDE.md.tmpl +31 -31
- package/templates/vertical_ai/README.md.tmpl +30 -30
- package/templates/vertical_ai/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_ai/bin/cli.js.tmpl +100 -100
- package/templates/vertical_ai/manifest.json +106 -106
- package/templates/vertical_ai/package.json.tmpl +30 -30
- package/templates/vertical_ai/src/agents/data-curator.ts.tmpl +7 -7
- package/templates/vertical_ai/src/agents/deployer.ts.tmpl +7 -7
- package/templates/vertical_ai/src/agents/evaluator.ts.tmpl +7 -7
- package/templates/vertical_ai/src/agents/trainer.ts.tmpl +7 -7
- package/templates/vertical_ai/src/init.ts.tmpl +21 -21
- package/templates/vertical_ai/tsconfig.json.tmpl +19 -19
- package/templates/vertical_ai/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_business/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_business/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_business/.claude/skills/quarterly-plan/SKILL.md.tmpl +13 -13
- package/templates/vertical_business/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_business/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_business/README.md.tmpl +29 -29
- package/templates/vertical_business/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_business/bin/cli.js.tmpl +100 -100
- package/templates/vertical_business/manifest.json +101 -101
- package/templates/vertical_business/package.json.tmpl +30 -30
- package/templates/vertical_business/src/agents/analyst.ts.tmpl +7 -7
- package/templates/vertical_business/src/agents/ops-coordinator.ts.tmpl +7 -7
- package/templates/vertical_business/src/agents/strategist.ts.tmpl +7 -7
- package/templates/vertical_business/src/init.ts.tmpl +21 -21
- package/templates/vertical_business/tsconfig.json.tmpl +19 -19
- package/templates/vertical_business/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_coding/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_coding/.claude/commands/review-diff.md.tmpl +10 -10
- package/templates/vertical_coding/.claude/settings.json.tmpl +40 -40
- package/templates/vertical_coding/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
- package/templates/vertical_coding/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_coding/CLAUDE.md.tmpl +32 -32
- package/templates/vertical_coding/README.md.tmpl +30 -30
- package/templates/vertical_coding/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_coding/bin/cli.js.tmpl +100 -100
- package/templates/vertical_coding/manifest.json +111 -111
- package/templates/vertical_coding/package.json.tmpl +30 -30
- package/templates/vertical_coding/src/agents/architect.ts.tmpl +7 -7
- package/templates/vertical_coding/src/agents/implementer.ts.tmpl +7 -7
- package/templates/vertical_coding/src/agents/reviewer.ts.tmpl +7 -7
- package/templates/vertical_coding/src/agents/test-writer.ts.tmpl +7 -7
- package/templates/vertical_coding/src/init.ts.tmpl +21 -21
- package/templates/vertical_coding/tsconfig.json.tmpl +19 -19
- package/templates/vertical_coding/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_crm/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_crm/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_crm/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_crm/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_crm/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_crm/README.md.tmpl +29 -29
- package/templates/vertical_crm/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_crm/bin/cli.js.tmpl +100 -100
- package/templates/vertical_crm/manifest.json +101 -101
- package/templates/vertical_crm/package.json.tmpl +30 -30
- package/templates/vertical_crm/src/agents/account-manager.ts.tmpl +7 -7
- package/templates/vertical_crm/src/agents/churn-watcher.ts.tmpl +7 -7
- package/templates/vertical_crm/src/agents/lead-qualifier.ts.tmpl +7 -7
- package/templates/vertical_crm/src/init.ts.tmpl +21 -21
- package/templates/vertical_crm/tsconfig.json.tmpl +19 -19
- package/templates/vertical_crm/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_devops/.claude/settings.json.tmpl +36 -36
- package/templates/vertical_devops/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_devops/CLAUDE.md.tmpl +34 -34
- package/templates/vertical_devops/README.md.tmpl +27 -27
- package/templates/vertical_devops/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_devops/bin/cli.js.tmpl +100 -100
- package/templates/vertical_devops/manifest.json +100 -100
- package/templates/vertical_devops/package.json.tmpl +27 -27
- package/templates/vertical_devops/runbooks/README.md.tmpl +32 -32
- package/templates/vertical_devops/src/agents/escalator.ts.tmpl +19 -19
- package/templates/vertical_devops/src/agents/postmortem.ts.tmpl +23 -23
- package/templates/vertical_devops/src/agents/responder.ts.tmpl +14 -14
- package/templates/vertical_devops/src/agents/runbook-runner.ts.tmpl +17 -17
- package/templates/vertical_devops/src/init.ts.tmpl +23 -23
- package/templates/vertical_devops/tsconfig.json.tmpl +19 -19
- package/templates/vertical_devops/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_education/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_education/.claude/commands/mastery-report.md.tmpl +12 -12
- package/templates/vertical_education/.claude/settings.json.tmpl +45 -45
- package/templates/vertical_education/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_education/.claude/skills/teach-next/SKILL.md.tmpl +16 -16
- package/templates/vertical_education/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_education/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_education/README.md.tmpl +30 -30
- package/templates/vertical_education/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_education/bin/cli.js.tmpl +100 -100
- package/templates/vertical_education/manifest.json +116 -116
- package/templates/vertical_education/package.json.tmpl +30 -30
- package/templates/vertical_education/src/agents/explainer.ts.tmpl +7 -7
- package/templates/vertical_education/src/agents/grader.ts.tmpl +7 -7
- package/templates/vertical_education/src/agents/quiz-master.ts.tmpl +7 -7
- package/templates/vertical_education/src/agents/tutor.ts.tmpl +7 -7
- package/templates/vertical_education/src/init.ts.tmpl +21 -21
- package/templates/vertical_education/tsconfig.json.tmpl +19 -19
- package/templates/vertical_education/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_exotic/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_exotic/.claude/settings.json.tmpl +44 -44
- package/templates/vertical_exotic/.claude/skills/evolve/SKILL.md.tmpl +14 -14
- package/templates/vertical_exotic/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_exotic/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_exotic/CLAUDE.md.tmpl +31 -31
- package/templates/vertical_exotic/README.md.tmpl +29 -29
- package/templates/vertical_exotic/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_exotic/bin/cli.js.tmpl +100 -100
- package/templates/vertical_exotic/manifest.json +106 -106
- package/templates/vertical_exotic/package.json.tmpl +30 -30
- package/templates/vertical_exotic/src/agents/experimenter.ts.tmpl +7 -7
- package/templates/vertical_exotic/src/agents/federator.ts.tmpl +7 -7
- package/templates/vertical_exotic/src/agents/hypothesizer.ts.tmpl +7 -7
- package/templates/vertical_exotic/src/init.ts.tmpl +21 -21
- package/templates/vertical_exotic/tsconfig.json.tmpl +19 -19
- package/templates/vertical_exotic/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_gaming/.claude/commands/design-doc-diff.md.tmpl +13 -13
- package/templates/vertical_gaming/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_gaming/.claude/settings.json.tmpl +45 -45
- package/templates/vertical_gaming/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_gaming/.claude/skills/playtest-recap/SKILL.md.tmpl +16 -16
- package/templates/vertical_gaming/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_gaming/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_gaming/README.md.tmpl +30 -30
- package/templates/vertical_gaming/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_gaming/bin/cli.js.tmpl +100 -100
- package/templates/vertical_gaming/manifest.json +116 -116
- package/templates/vertical_gaming/package.json.tmpl +30 -30
- package/templates/vertical_gaming/src/agents/balance-critic.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/agents/economy-modeler.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/agents/narrative-keeper.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/agents/playtest-reader.ts.tmpl +7 -7
- package/templates/vertical_gaming/src/init.ts.tmpl +21 -21
- package/templates/vertical_gaming/tsconfig.json.tmpl +19 -19
- package/templates/vertical_gaming/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_health/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_health/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_health/.claude/skills/wellness-intake/SKILL.md.tmpl +15 -15
- package/templates/vertical_health/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_health/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_health/README.md.tmpl +29 -29
- package/templates/vertical_health/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_health/bin/cli.js.tmpl +100 -100
- package/templates/vertical_health/manifest.json +101 -101
- package/templates/vertical_health/package.json.tmpl +30 -30
- package/templates/vertical_health/src/agents/care-coordinator.ts.tmpl +7 -7
- package/templates/vertical_health/src/agents/intake.ts.tmpl +7 -7
- package/templates/vertical_health/src/agents/triage.ts.tmpl +7 -7
- package/templates/vertical_health/src/init.ts.tmpl +21 -21
- package/templates/vertical_health/tsconfig.json.tmpl +19 -19
- package/templates/vertical_health/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_legal/.claude/settings.json.tmpl +10 -10
- package/templates/vertical_legal/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_legal/CLAUDE.md.tmpl +24 -24
- package/templates/vertical_legal/README.md.tmpl +21 -21
- package/templates/vertical_legal/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_legal/bin/cli.js.tmpl +100 -100
- package/templates/vertical_legal/manifest.json +90 -90
- package/templates/vertical_legal/package.json.tmpl +14 -14
- package/templates/vertical_legal/src/agents/citation-checker.ts.tmpl +7 -7
- package/templates/vertical_legal/src/agents/redline.ts.tmpl +7 -7
- package/templates/vertical_legal/src/agents/risk-rater.ts.tmpl +8 -8
- package/templates/vertical_legal/src/init.ts.tmpl +13 -13
- package/templates/vertical_legal/tsconfig.json.tmpl +19 -19
- package/templates/vertical_legal/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_marketing/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_marketing/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_marketing/.claude/skills/campaign-brief/SKILL.md.tmpl +13 -13
- package/templates/vertical_marketing/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_marketing/CLAUDE.md.tmpl +30 -30
- package/templates/vertical_marketing/README.md.tmpl +29 -29
- package/templates/vertical_marketing/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_marketing/bin/cli.js.tmpl +100 -100
- package/templates/vertical_marketing/manifest.json +101 -101
- package/templates/vertical_marketing/package.json.tmpl +30 -30
- package/templates/vertical_marketing/src/agents/content-creator.ts.tmpl +7 -7
- package/templates/vertical_marketing/src/agents/seo-analyst.ts.tmpl +7 -7
- package/templates/vertical_marketing/src/agents/strategist.ts.tmpl +7 -7
- package/templates/vertical_marketing/src/init.ts.tmpl +21 -21
- package/templates/vertical_marketing/tsconfig.json.tmpl +19 -19
- package/templates/vertical_marketing/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_repo-maintainer/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_repo-maintainer/.claude/commands/release-check.md.tmpl +13 -13
- package/templates/vertical_repo-maintainer/.claude/commands/repo-triage.md.tmpl +16 -16
- package/templates/vertical_repo-maintainer/.claude/settings.json.tmpl +44 -44
- package/templates/vertical_repo-maintainer/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_repo-maintainer/.claude/skills/plan-change/SKILL.md.tmpl +15 -15
- package/templates/vertical_repo-maintainer/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_repo-maintainer/CLAUDE.md.tmpl +34 -34
- package/templates/vertical_repo-maintainer/README.md.tmpl +30 -30
- package/templates/vertical_repo-maintainer/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_repo-maintainer/bin/cli.js.tmpl +100 -100
- package/templates/vertical_repo-maintainer/manifest.json +121 -121
- package/templates/vertical_repo-maintainer/package.json.tmpl +30 -30
- package/templates/vertical_repo-maintainer/src/agents/benchmarker.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/agents/maintainer.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/agents/release.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/agents/security.ts.tmpl +7 -7
- package/templates/vertical_repo-maintainer/src/init.ts.tmpl +21 -21
- package/templates/vertical_repo-maintainer/tsconfig.json.tmpl +19 -19
- package/templates/vertical_repo-maintainer/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_research/.claude/settings.json.tmpl +9 -9
- package/templates/vertical_research/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_research/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_research/README.md.tmpl +17 -17
- package/templates/vertical_research/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_research/bin/cli.js.tmpl +100 -100
- package/templates/vertical_research/manifest.json +105 -105
- package/templates/vertical_research/package.json.tmpl +14 -14
- package/templates/vertical_research/src/agents/citer.ts.tmpl +8 -8
- package/templates/vertical_research/src/agents/fact-checker.ts.tmpl +8 -8
- package/templates/vertical_research/src/agents/scout.ts.tmpl +7 -7
- package/templates/vertical_research/src/agents/source-grader.ts.tmpl +10 -10
- package/templates/vertical_research/src/agents/synthesizer.ts.tmpl +8 -8
- package/templates/vertical_research/src/agents/web-searcher.ts.tmpl +6 -6
- package/templates/vertical_research/src/init.ts.tmpl +13 -13
- package/templates/vertical_research/tsconfig.json.tmpl +19 -19
- package/templates/vertical_research/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_ruview/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_ruview/.claude/settings.json.tmpl +33 -33
- package/templates/vertical_ruview/.claude/skills/index-and-ask/SKILL.md.tmpl +15 -15
- package/templates/vertical_ruview/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_ruview/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_ruview/CLAUDE.md.tmpl +31 -31
- package/templates/vertical_ruview/README.md.tmpl +29 -29
- package/templates/vertical_ruview/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_ruview/bin/cli.js.tmpl +100 -100
- package/templates/vertical_ruview/manifest.json +106 -106
- package/templates/vertical_ruview/package.json.tmpl +30 -30
- package/templates/vertical_ruview/src/agents/indexer.ts.tmpl +7 -7
- package/templates/vertical_ruview/src/agents/retriever.ts.tmpl +7 -7
- package/templates/vertical_ruview/src/agents/reviewer.ts.tmpl +7 -7
- package/templates/vertical_ruview/src/init.ts.tmpl +21 -21
- package/templates/vertical_ruview/tsconfig.json.tmpl +19 -19
- package/templates/vertical_ruview/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_sales/.claude/commands/doctor.md.tmpl +12 -12
- package/templates/vertical_sales/.claude/commands/pipeline-report.md.tmpl +13 -13
- package/templates/vertical_sales/.claude/settings.json.tmpl +45 -45
- package/templates/vertical_sales/.claude/skills/memory-inspect/SKILL.md.tmpl +14 -14
- package/templates/vertical_sales/.claude/skills/qualify-lead/SKILL.md.tmpl +15 -15
- package/templates/vertical_sales/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_sales/CLAUDE.md.tmpl +33 -33
- package/templates/vertical_sales/README.md.tmpl +30 -30
- package/templates/vertical_sales/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_sales/bin/cli.js.tmpl +100 -100
- package/templates/vertical_sales/manifest.json +116 -116
- package/templates/vertical_sales/package.json.tmpl +30 -30
- package/templates/vertical_sales/src/agents/closer.ts.tmpl +7 -7
- package/templates/vertical_sales/src/agents/demo-coach.ts.tmpl +7 -7
- package/templates/vertical_sales/src/agents/prospector.ts.tmpl +7 -7
- package/templates/vertical_sales/src/agents/qualifier.ts.tmpl +7 -7
- package/templates/vertical_sales/src/init.ts.tmpl +21 -21
- package/templates/vertical_sales/tsconfig.json.tmpl +19 -19
- package/templates/vertical_sales/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_support/.claude/settings.json.tmpl +25 -25
- package/templates/vertical_support/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_support/CLAUDE.md.tmpl +34 -34
- package/templates/vertical_support/README.md.tmpl +16 -16
- package/templates/vertical_support/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_support/bin/cli.js.tmpl +100 -100
- package/templates/vertical_support/kb/README.md.tmpl +23 -23
- package/templates/vertical_support/manifest.json +100 -100
- package/templates/vertical_support/package.json.tmpl +25 -25
- package/templates/vertical_support/src/agents/escalator.ts.tmpl +6 -6
- package/templates/vertical_support/src/agents/kb-searcher.ts.tmpl +6 -6
- package/templates/vertical_support/src/agents/responder.ts.tmpl +7 -7
- package/templates/vertical_support/src/agents/triager.ts.tmpl +6 -6
- package/templates/vertical_support/src/init.ts.tmpl +16 -16
- package/templates/vertical_support/tsconfig.json.tmpl +19 -19
- package/templates/vertical_support/vitest.config.ts.tmpl +23 -23
- package/templates/vertical_trading/.claude/settings.json.tmpl +20 -20
- package/templates/vertical_trading/.claude-plugin/plugin.json.tmpl +23 -23
- package/templates/vertical_trading/CLAUDE.md.tmpl +24 -24
- package/templates/vertical_trading/README.md.tmpl +17 -17
- package/templates/vertical_trading/__tests__/smoke.test.ts.tmpl +37 -37
- package/templates/vertical_trading/bin/cli.js.tmpl +100 -100
- package/templates/vertical_trading/manifest.json +100 -100
- package/templates/vertical_trading/package.json.tmpl +14 -14
- package/templates/vertical_trading/src/agents/executor.ts.tmpl +8 -8
- package/templates/vertical_trading/src/agents/market-watcher.ts.tmpl +7 -7
- package/templates/vertical_trading/src/agents/postmortem.ts.tmpl +8 -8
- package/templates/vertical_trading/src/agents/risk-checker.ts.tmpl +11 -11
- package/templates/vertical_trading/src/agents/signal-gen.ts.tmpl +8 -8
- package/templates/vertical_trading/src/init.ts.tmpl +20 -20
- package/templates/vertical_trading/tsconfig.json.tmpl +19 -19
- package/templates/vertical_trading/vitest.config.ts.tmpl +23 -23
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
# {{name}}
|
|
2
|
-
|
|
3
|
-
{{description}}
|
|
4
|
-
|
|
5
|
-
> Generated with [`create-agent-harness`](https://github.com/ruvnet/agent-harness-generator) — `vertical:research` template.
|
|
6
|
-
|
|
7
|
-
## Install
|
|
8
|
-
|
|
9
|
-
```bash
|
|
10
|
-
npm install -g {{name}}
|
|
11
|
-
{{name}} init
|
|
12
|
-
{{name}} dossier "your research question"
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
## License
|
|
16
|
-
|
|
17
|
-
MIT
|
|
1
|
+
# {{name}}
|
|
2
|
+
|
|
3
|
+
{{description}}
|
|
4
|
+
|
|
5
|
+
> Generated with [`create-agent-harness`](https://github.com/ruvnet/agent-harness-generator) — `vertical:research` template.
|
|
6
|
+
|
|
7
|
+
## Install
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install -g {{name}}
|
|
11
|
+
{{name}} init
|
|
12
|
+
{{name}} dossier "your research question"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## License
|
|
16
|
+
|
|
17
|
+
MIT
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
// Generated by metaharness — a real smoke test for {{name}}.
|
|
3
|
-
//
|
|
4
|
-
// This is NOT a placeholder: it boots the actual kernel + host adapter the
|
|
5
|
-
// harness depends on, so `npm test` fails loudly if @metaharness/kernel or
|
|
6
|
-
// @metaharness/host-{{host}} is missing, broken, or version-skewed. It is the
|
|
7
|
-
// fastest signal that `npm install` produced a runnable harness.
|
|
8
|
-
|
|
9
|
-
import { describe, it, expect } from 'vitest';
|
|
10
|
-
import { loadKernel } from '@metaharness/kernel';
|
|
11
|
-
import adapter from '@metaharness/host-{{host}}';
|
|
12
|
-
import { run } from '../bin/cli.js';
|
|
13
|
-
|
|
14
|
-
describe('{{name}} — install smoke test', () => {
|
|
15
|
-
it('loads the kernel and reports a version + a known backend', async () => {
|
|
16
|
-
const kernel = await loadKernel();
|
|
17
|
-
const info = kernel.kernelInfo();
|
|
18
|
-
expect(typeof info.version).toBe('string');
|
|
19
|
-
expect(info.version.length).toBeGreaterThan(0);
|
|
20
|
-
expect(['native', 'wasm', 'js']).toContain(kernel.backend);
|
|
21
|
-
});
|
|
22
|
-
|
|
23
|
-
it('resolves the host adapter with a name', () => {
|
|
24
|
-
expect(typeof adapter.name).toBe('string');
|
|
25
|
-
expect(adapter.name.length).toBeGreaterThan(0);
|
|
26
|
-
});
|
|
27
|
-
|
|
28
|
-
it('the CLI doctor command succeeds (exit 0)', async () => {
|
|
29
|
-
const code = await run(['doctor']);
|
|
30
|
-
expect(code).toBe(0);
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
it('an unknown CLI command exits non-zero', async () => {
|
|
34
|
-
const code = await run(['definitely-not-a-command']);
|
|
35
|
-
expect(code).not.toBe(0);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
// Generated by metaharness — a real smoke test for {{name}}.
|
|
3
|
+
//
|
|
4
|
+
// This is NOT a placeholder: it boots the actual kernel + host adapter the
|
|
5
|
+
// harness depends on, so `npm test` fails loudly if @metaharness/kernel or
|
|
6
|
+
// @metaharness/host-{{host}} is missing, broken, or version-skewed. It is the
|
|
7
|
+
// fastest signal that `npm install` produced a runnable harness.
|
|
8
|
+
|
|
9
|
+
import { describe, it, expect } from 'vitest';
|
|
10
|
+
import { loadKernel } from '@metaharness/kernel';
|
|
11
|
+
import adapter from '@metaharness/host-{{host}}';
|
|
12
|
+
import { run } from '../bin/cli.js';
|
|
13
|
+
|
|
14
|
+
describe('{{name}} — install smoke test', () => {
|
|
15
|
+
it('loads the kernel and reports a version + a known backend', async () => {
|
|
16
|
+
const kernel = await loadKernel();
|
|
17
|
+
const info = kernel.kernelInfo();
|
|
18
|
+
expect(typeof info.version).toBe('string');
|
|
19
|
+
expect(info.version.length).toBeGreaterThan(0);
|
|
20
|
+
expect(['native', 'wasm', 'js']).toContain(kernel.backend);
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
it('resolves the host adapter with a name', () => {
|
|
24
|
+
expect(typeof adapter.name).toBe('string');
|
|
25
|
+
expect(adapter.name.length).toBeGreaterThan(0);
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
it('the CLI doctor command succeeds (exit 0)', async () => {
|
|
29
|
+
const code = await run(['doctor']);
|
|
30
|
+
expect(code).toBe(0);
|
|
31
|
+
});
|
|
32
|
+
|
|
33
|
+
it('an unknown CLI command exits non-zero', async () => {
|
|
34
|
+
const code = await run(['definitely-not-a-command']);
|
|
35
|
+
expect(code).not.toBe(0);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
@@ -1,100 +1,100 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
// SPDX-License-Identifier: MIT
|
|
3
|
-
// Generated by metaharness — the `{{name}}` CLI entry point.
|
|
4
|
-
//
|
|
5
|
-
// This is plain ESM JavaScript on purpose: it runs as-is via `npx {{name}}`
|
|
6
|
-
// with NO build step. `npm run build` (tsc) is only needed if you extend the
|
|
7
|
-
// TypeScript in src/. The published package ships this file directly (see the
|
|
8
|
-
// "bin" + "files" fields in package.json), so `npx {{name}}` works the moment
|
|
9
|
-
// `npm install` has resolved @metaharness/kernel + @metaharness/host-{{host}}.
|
|
10
|
-
|
|
11
|
-
import { loadKernel } from '@metaharness/kernel';
|
|
12
|
-
import adapter from '@metaharness/host-{{host}}';
|
|
13
|
-
|
|
14
|
-
const HARNESS_NAME = '{{name}}';
|
|
15
|
-
|
|
16
|
-
/** `{{name}} init` — boot the kernel + host adapter and report status. */
|
|
17
|
-
async function init() {
|
|
18
|
-
const kernel = await loadKernel();
|
|
19
|
-
const info = kernel.kernelInfo();
|
|
20
|
-
console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
|
|
21
|
-
console.log(`Host adapter: ${adapter.name}`);
|
|
22
|
-
console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
|
|
23
|
-
return 0;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/** `{{name}} doctor` — verify the install end-to-end (kernel + host resolve). */
|
|
27
|
-
async function doctor() {
|
|
28
|
-
const kernel = await loadKernel();
|
|
29
|
-
const info = kernel.kernelInfo();
|
|
30
|
-
const checks = [
|
|
31
|
-
['kernel loads', !!kernel],
|
|
32
|
-
['kernel reports a version', typeof info.version === 'string' && info.version.length > 0],
|
|
33
|
-
['kernel backend is native|wasm|js', ['native', 'wasm', 'js'].includes(kernel.backend)],
|
|
34
|
-
['host adapter has a name', typeof adapter?.name === 'string' && adapter.name.length > 0],
|
|
35
|
-
];
|
|
36
|
-
let ok = true;
|
|
37
|
-
for (const [label, pass] of checks) {
|
|
38
|
-
console.log(`${pass ? 'PASS' : 'FAIL'} ${label}`);
|
|
39
|
-
if (!pass) ok = false;
|
|
40
|
-
}
|
|
41
|
-
console.log(
|
|
42
|
-
ok
|
|
43
|
-
? `\n${HARNESS_NAME}: all checks passed (kernel ${info.version}, ${kernel.backend} backend, host ${adapter.name})`
|
|
44
|
-
: `\n${HARNESS_NAME}: doctor found problems`,
|
|
45
|
-
);
|
|
46
|
-
return ok ? 0 : 1;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
/**
|
|
50
|
-
* Dispatch one CLI invocation. Exported (not just run on import) so a test can
|
|
51
|
-
* drive it without spawning a subprocess. Returns the intended exit code.
|
|
52
|
-
*/
|
|
53
|
-
export async function run(argv) {
|
|
54
|
-
const cmd = argv[0] ?? 'init';
|
|
55
|
-
switch (cmd) {
|
|
56
|
-
case 'init':
|
|
57
|
-
return init();
|
|
58
|
-
case 'doctor':
|
|
59
|
-
return doctor();
|
|
60
|
-
case '--version':
|
|
61
|
-
case '-v': {
|
|
62
|
-
const kernel = await loadKernel();
|
|
63
|
-
console.log(kernel.version());
|
|
64
|
-
return 0;
|
|
65
|
-
}
|
|
66
|
-
case '--help':
|
|
67
|
-
case '-h':
|
|
68
|
-
console.log(`Usage: ${HARNESS_NAME} <command>\n\n init boot the kernel + host adapter (default)\n doctor verify the install end-to-end\n --version print the kernel version`);
|
|
69
|
-
return 0;
|
|
70
|
-
default:
|
|
71
|
-
console.error(`Unknown command: ${cmd}. Try \`${HARNESS_NAME} --help\`.`);
|
|
72
|
-
return 2;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// CLI guard: execute only when invoked directly (not when imported by a test).
|
|
77
|
-
// npm's bin shims pass a NON-normalized argv[1] (e.g. ".../.bin/../<pkg>/bin/cli.js"
|
|
78
|
-
// on Windows) and may differ in case, so realpath BOTH sides before comparing —
|
|
79
|
-
// a naive string === misses the npx/shim path and the CLI silently no-ops.
|
|
80
|
-
import { fileURLToPath } from 'node:url';
|
|
81
|
-
import { realpathSync } from 'node:fs';
|
|
82
|
-
import { argv } from 'node:process';
|
|
83
|
-
const invokedDirectly = (() => {
|
|
84
|
-
if (!argv[1]) return false;
|
|
85
|
-
try {
|
|
86
|
-
const a = realpathSync(argv[1]);
|
|
87
|
-
const b = realpathSync(fileURLToPath(import.meta.url));
|
|
88
|
-
return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
89
|
-
} catch {
|
|
90
|
-
return false;
|
|
91
|
-
}
|
|
92
|
-
})();
|
|
93
|
-
if (invokedDirectly) {
|
|
94
|
-
run(argv.slice(2))
|
|
95
|
-
.then((code) => process.exit(code))
|
|
96
|
-
.catch((err) => {
|
|
97
|
-
console.error(err);
|
|
98
|
-
process.exit(1);
|
|
99
|
-
});
|
|
100
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Generated by metaharness — the `{{name}}` CLI entry point.
|
|
4
|
+
//
|
|
5
|
+
// This is plain ESM JavaScript on purpose: it runs as-is via `npx {{name}}`
|
|
6
|
+
// with NO build step. `npm run build` (tsc) is only needed if you extend the
|
|
7
|
+
// TypeScript in src/. The published package ships this file directly (see the
|
|
8
|
+
// "bin" + "files" fields in package.json), so `npx {{name}}` works the moment
|
|
9
|
+
// `npm install` has resolved @metaharness/kernel + @metaharness/host-{{host}}.
|
|
10
|
+
|
|
11
|
+
import { loadKernel } from '@metaharness/kernel';
|
|
12
|
+
import adapter from '@metaharness/host-{{host}}';
|
|
13
|
+
|
|
14
|
+
const HARNESS_NAME = '{{name}}';
|
|
15
|
+
|
|
16
|
+
/** `{{name}} init` — boot the kernel + host adapter and report status. */
|
|
17
|
+
async function init() {
|
|
18
|
+
const kernel = await loadKernel();
|
|
19
|
+
const info = kernel.kernelInfo();
|
|
20
|
+
console.log(`${HARNESS_NAME} — kernel ${info.version} (${kernel.backend})`);
|
|
21
|
+
console.log(`Host adapter: ${adapter.name}`);
|
|
22
|
+
console.log(`Run \`${HARNESS_NAME} doctor\` to verify the install.`);
|
|
23
|
+
return 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** `{{name}} doctor` — verify the install end-to-end (kernel + host resolve). */
|
|
27
|
+
async function doctor() {
|
|
28
|
+
const kernel = await loadKernel();
|
|
29
|
+
const info = kernel.kernelInfo();
|
|
30
|
+
const checks = [
|
|
31
|
+
['kernel loads', !!kernel],
|
|
32
|
+
['kernel reports a version', typeof info.version === 'string' && info.version.length > 0],
|
|
33
|
+
['kernel backend is native|wasm|js', ['native', 'wasm', 'js'].includes(kernel.backend)],
|
|
34
|
+
['host adapter has a name', typeof adapter?.name === 'string' && adapter.name.length > 0],
|
|
35
|
+
];
|
|
36
|
+
let ok = true;
|
|
37
|
+
for (const [label, pass] of checks) {
|
|
38
|
+
console.log(`${pass ? 'PASS' : 'FAIL'} ${label}`);
|
|
39
|
+
if (!pass) ok = false;
|
|
40
|
+
}
|
|
41
|
+
console.log(
|
|
42
|
+
ok
|
|
43
|
+
? `\n${HARNESS_NAME}: all checks passed (kernel ${info.version}, ${kernel.backend} backend, host ${adapter.name})`
|
|
44
|
+
: `\n${HARNESS_NAME}: doctor found problems`,
|
|
45
|
+
);
|
|
46
|
+
return ok ? 0 : 1;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Dispatch one CLI invocation. Exported (not just run on import) so a test can
|
|
51
|
+
* drive it without spawning a subprocess. Returns the intended exit code.
|
|
52
|
+
*/
|
|
53
|
+
export async function run(argv) {
|
|
54
|
+
const cmd = argv[0] ?? 'init';
|
|
55
|
+
switch (cmd) {
|
|
56
|
+
case 'init':
|
|
57
|
+
return init();
|
|
58
|
+
case 'doctor':
|
|
59
|
+
return doctor();
|
|
60
|
+
case '--version':
|
|
61
|
+
case '-v': {
|
|
62
|
+
const kernel = await loadKernel();
|
|
63
|
+
console.log(kernel.version());
|
|
64
|
+
return 0;
|
|
65
|
+
}
|
|
66
|
+
case '--help':
|
|
67
|
+
case '-h':
|
|
68
|
+
console.log(`Usage: ${HARNESS_NAME} <command>\n\n init boot the kernel + host adapter (default)\n doctor verify the install end-to-end\n --version print the kernel version`);
|
|
69
|
+
return 0;
|
|
70
|
+
default:
|
|
71
|
+
console.error(`Unknown command: ${cmd}. Try \`${HARNESS_NAME} --help\`.`);
|
|
72
|
+
return 2;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// CLI guard: execute only when invoked directly (not when imported by a test).
|
|
77
|
+
// npm's bin shims pass a NON-normalized argv[1] (e.g. ".../.bin/../<pkg>/bin/cli.js"
|
|
78
|
+
// on Windows) and may differ in case, so realpath BOTH sides before comparing —
|
|
79
|
+
// a naive string === misses the npx/shim path and the CLI silently no-ops.
|
|
80
|
+
import { fileURLToPath } from 'node:url';
|
|
81
|
+
import { realpathSync } from 'node:fs';
|
|
82
|
+
import { argv } from 'node:process';
|
|
83
|
+
const invokedDirectly = (() => {
|
|
84
|
+
if (!argv[1]) return false;
|
|
85
|
+
try {
|
|
86
|
+
const a = realpathSync(argv[1]);
|
|
87
|
+
const b = realpathSync(fileURLToPath(import.meta.url));
|
|
88
|
+
return process.platform === 'win32' ? a.toLowerCase() === b.toLowerCase() : a === b;
|
|
89
|
+
} catch {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
})();
|
|
93
|
+
if (invokedDirectly) {
|
|
94
|
+
run(argv.slice(2))
|
|
95
|
+
.then((code) => process.exit(code))
|
|
96
|
+
.catch((err) => {
|
|
97
|
+
console.error(err);
|
|
98
|
+
process.exit(1);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
@@ -1,105 +1,105 @@
|
|
|
1
|
-
{
|
|
2
|
-
"id": "vertical:research",
|
|
3
|
-
"description": "Research dossier harness — 6 agents (scout, web-searcher, source-grader, synthesizer, fact-checker, citer), evidence-graded multi-source synthesis",
|
|
4
|
-
"domain": "research/multi-source-dossier",
|
|
5
|
-
"files": [
|
|
6
|
-
{
|
|
7
|
-
"src": "package.json.tmpl",
|
|
8
|
-
"dst": "package.json",
|
|
9
|
-
"render": true
|
|
10
|
-
},
|
|
11
|
-
{
|
|
12
|
-
"src": "CLAUDE.md.tmpl",
|
|
13
|
-
"dst": "CLAUDE.md",
|
|
14
|
-
"render": true
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
"src": "README.md.tmpl",
|
|
18
|
-
"dst": "README.md",
|
|
19
|
-
"render": true
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"src": ".claude/settings.json.tmpl",
|
|
23
|
-
"dst": ".claude/settings.json",
|
|
24
|
-
"render": true
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
"src": ".claude-plugin/plugin.json.tmpl",
|
|
28
|
-
"dst": ".claude-plugin/plugin.json",
|
|
29
|
-
"render": true
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
"src": "src/init.ts.tmpl",
|
|
33
|
-
"dst": "src/init.ts",
|
|
34
|
-
"render": true
|
|
35
|
-
},
|
|
36
|
-
{
|
|
37
|
-
"src": "src/agents/scout.ts.tmpl",
|
|
38
|
-
"dst": "src/agents/scout.ts",
|
|
39
|
-
"render": true
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
"src": "src/agents/web-searcher.ts.tmpl",
|
|
43
|
-
"dst": "src/agents/web-searcher.ts",
|
|
44
|
-
"render": true
|
|
45
|
-
},
|
|
46
|
-
{
|
|
47
|
-
"src": "src/agents/source-grader.ts.tmpl",
|
|
48
|
-
"dst": "src/agents/source-grader.ts",
|
|
49
|
-
"render": true
|
|
50
|
-
},
|
|
51
|
-
{
|
|
52
|
-
"src": "src/agents/synthesizer.ts.tmpl",
|
|
53
|
-
"dst": "src/agents/synthesizer.ts",
|
|
54
|
-
"render": true
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"src": "src/agents/fact-checker.ts.tmpl",
|
|
58
|
-
"dst": "src/agents/fact-checker.ts",
|
|
59
|
-
"render": true
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
"src": "src/agents/citer.ts.tmpl",
|
|
63
|
-
"dst": "src/agents/citer.ts",
|
|
64
|
-
"render": true
|
|
65
|
-
},
|
|
66
|
-
{
|
|
67
|
-
"src": "tsconfig.json.tmpl",
|
|
68
|
-
"dst": "tsconfig.json",
|
|
69
|
-
"render": true
|
|
70
|
-
},
|
|
71
|
-
{
|
|
72
|
-
"src": "bin/cli.js.tmpl",
|
|
73
|
-
"dst": "bin/cli.js",
|
|
74
|
-
"render": true
|
|
75
|
-
},
|
|
76
|
-
{
|
|
77
|
-
"src": "__tests__/smoke.test.ts.tmpl",
|
|
78
|
-
"dst": "__tests__/smoke.test.ts",
|
|
79
|
-
"render": true
|
|
80
|
-
}
|
|
81
|
-
],
|
|
82
|
-
"vars": [
|
|
83
|
-
{
|
|
84
|
-
"name": "name",
|
|
85
|
-
"prompt": "Harness name (kebab-case)",
|
|
86
|
-
"validate": "^[a-z0-9-]+$"
|
|
87
|
-
},
|
|
88
|
-
{
|
|
89
|
-
"name": "description",
|
|
90
|
-
"prompt": "One-line description",
|
|
91
|
-
"default": "Multi-source research with evidence grading"
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
"name": "host",
|
|
95
|
-
"prompt": "Host adapter",
|
|
96
|
-
"default": "claude-code",
|
|
97
|
-
"choices": [
|
|
98
|
-
"claude-code",
|
|
99
|
-
"codex",
|
|
100
|
-
"pi-dev",
|
|
101
|
-
"hermes"
|
|
102
|
-
]
|
|
103
|
-
}
|
|
104
|
-
]
|
|
105
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"id": "vertical:research",
|
|
3
|
+
"description": "Research dossier harness — 6 agents (scout, web-searcher, source-grader, synthesizer, fact-checker, citer), evidence-graded multi-source synthesis",
|
|
4
|
+
"domain": "research/multi-source-dossier",
|
|
5
|
+
"files": [
|
|
6
|
+
{
|
|
7
|
+
"src": "package.json.tmpl",
|
|
8
|
+
"dst": "package.json",
|
|
9
|
+
"render": true
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"src": "CLAUDE.md.tmpl",
|
|
13
|
+
"dst": "CLAUDE.md",
|
|
14
|
+
"render": true
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"src": "README.md.tmpl",
|
|
18
|
+
"dst": "README.md",
|
|
19
|
+
"render": true
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"src": ".claude/settings.json.tmpl",
|
|
23
|
+
"dst": ".claude/settings.json",
|
|
24
|
+
"render": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"src": ".claude-plugin/plugin.json.tmpl",
|
|
28
|
+
"dst": ".claude-plugin/plugin.json",
|
|
29
|
+
"render": true
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"src": "src/init.ts.tmpl",
|
|
33
|
+
"dst": "src/init.ts",
|
|
34
|
+
"render": true
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"src": "src/agents/scout.ts.tmpl",
|
|
38
|
+
"dst": "src/agents/scout.ts",
|
|
39
|
+
"render": true
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
"src": "src/agents/web-searcher.ts.tmpl",
|
|
43
|
+
"dst": "src/agents/web-searcher.ts",
|
|
44
|
+
"render": true
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"src": "src/agents/source-grader.ts.tmpl",
|
|
48
|
+
"dst": "src/agents/source-grader.ts",
|
|
49
|
+
"render": true
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"src": "src/agents/synthesizer.ts.tmpl",
|
|
53
|
+
"dst": "src/agents/synthesizer.ts",
|
|
54
|
+
"render": true
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"src": "src/agents/fact-checker.ts.tmpl",
|
|
58
|
+
"dst": "src/agents/fact-checker.ts",
|
|
59
|
+
"render": true
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
"src": "src/agents/citer.ts.tmpl",
|
|
63
|
+
"dst": "src/agents/citer.ts",
|
|
64
|
+
"render": true
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"src": "tsconfig.json.tmpl",
|
|
68
|
+
"dst": "tsconfig.json",
|
|
69
|
+
"render": true
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"src": "bin/cli.js.tmpl",
|
|
73
|
+
"dst": "bin/cli.js",
|
|
74
|
+
"render": true
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
"src": "__tests__/smoke.test.ts.tmpl",
|
|
78
|
+
"dst": "__tests__/smoke.test.ts",
|
|
79
|
+
"render": true
|
|
80
|
+
}
|
|
81
|
+
],
|
|
82
|
+
"vars": [
|
|
83
|
+
{
|
|
84
|
+
"name": "name",
|
|
85
|
+
"prompt": "Harness name (kebab-case)",
|
|
86
|
+
"validate": "^[a-z0-9-]+$"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"name": "description",
|
|
90
|
+
"prompt": "One-line description",
|
|
91
|
+
"default": "Multi-source research with evidence grading"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"name": "host",
|
|
95
|
+
"prompt": "Host adapter",
|
|
96
|
+
"default": "claude-code",
|
|
97
|
+
"choices": [
|
|
98
|
+
"claude-code",
|
|
99
|
+
"codex",
|
|
100
|
+
"pi-dev",
|
|
101
|
+
"hermes"
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
]
|
|
105
|
+
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "{{name}}",
|
|
3
|
-
"version": "0.1.0",
|
|
4
|
-
"description": "{{description}}",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"bin": { "{{name}}": "bin/cli.js" },
|
|
7
|
-
"files": ["bin/**", "dist/**", "src/**", "tsconfig.json", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
|
|
8
|
-
"scripts": { "build": "tsc", "test": "vitest run", "init": "node ./bin/cli.js init", "doctor": "node ./bin/cli.js doctor" },
|
|
9
|
-
"dependencies": { "@metaharness/kernel": "^0.1.0", "@metaharness/host-{{host}}": "^0.1.0" },
|
|
10
|
-
"devDependencies": { "@types/node": "^20.0.0", "typescript": "^5.4.0", "vitest": "^3.0.0" },
|
|
11
|
-
"keywords": ["research", "dossier", "fact-checking", "agent-harness"],
|
|
12
|
-
"publishConfig": { "access": "public" },
|
|
13
|
-
"engines": { "node": ">=20.0.0" }
|
|
14
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "{{name}}",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "{{description}}",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": { "{{name}}": "bin/cli.js" },
|
|
7
|
+
"files": ["bin/**", "dist/**", "src/**", "tsconfig.json", ".claude/**", "CLAUDE.md", "README.md", "LICENSE"],
|
|
8
|
+
"scripts": { "build": "tsc", "test": "vitest run", "init": "node ./bin/cli.js init", "doctor": "node ./bin/cli.js doctor" },
|
|
9
|
+
"dependencies": { "@metaharness/kernel": "^0.1.0", "@metaharness/host-{{host}}": "^0.1.0" },
|
|
10
|
+
"devDependencies": { "@types/node": "^20.0.0", "typescript": "^5.4.0", "vitest": "^3.0.0" },
|
|
11
|
+
"keywords": ["research", "dossier", "fact-checking", "agent-harness"],
|
|
12
|
+
"publishConfig": { "access": "public" },
|
|
13
|
+
"engines": { "node": ">=20.0.0" }
|
|
14
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
export const SYSTEM_PROMPT = `You are the citer for {{name}}.
|
|
3
|
-
Final pass over the verified synthesis. Add inline citations [1][2] to
|
|
4
|
-
every claim. Build the bibliography with grade tags: [A], [B], [C].
|
|
5
|
-
Render the final dossier markdown: TL;DR + body + bibliography. The
|
|
6
|
-
dossier must NOT contain any claim without a citation.`;
|
|
7
|
-
export const NAME = 'citer';
|
|
8
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
export const SYSTEM_PROMPT = `You are the citer for {{name}}.
|
|
3
|
+
Final pass over the verified synthesis. Add inline citations [1][2] to
|
|
4
|
+
every claim. Build the bibliography with grade tags: [A], [B], [C].
|
|
5
|
+
Render the final dossier markdown: TL;DR + body + bibliography. The
|
|
6
|
+
dossier must NOT contain any claim without a citation.`;
|
|
7
|
+
export const NAME = 'citer';
|
|
8
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
export const SYSTEM_PROMPT = `You are the fact-checker for {{name}}.
|
|
3
|
-
Adversarially verify each claim in the synthesis: is it supported by at
|
|
4
|
-
least one grade A or two grade B sources? Flag CONFIRMED, DISPUTED,
|
|
5
|
-
UNSUPPORTED. Strip UNSUPPORTED claims from the dossier. Output: pruned
|
|
6
|
-
synthesis + verification log.`;
|
|
7
|
-
export const NAME = 'fact-checker';
|
|
8
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
export const SYSTEM_PROMPT = `You are the fact-checker for {{name}}.
|
|
3
|
+
Adversarially verify each claim in the synthesis: is it supported by at
|
|
4
|
+
least one grade A or two grade B sources? Flag CONFIRMED, DISPUTED,
|
|
5
|
+
UNSUPPORTED. Strip UNSUPPORTED claims from the dossier. Output: pruned
|
|
6
|
+
synthesis + verification log.`;
|
|
7
|
+
export const NAME = 'fact-checker';
|
|
8
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
export const SYSTEM_PROMPT = `You are the scout for {{name}}.
|
|
3
|
-
Decompose the research question into 3-7 specific subqueries. Each subquery
|
|
4
|
-
must be standalone (no shared context required), web-searchable, and
|
|
5
|
-
non-overlapping. Output: a JSON list of strings.`;
|
|
6
|
-
export const NAME = 'scout';
|
|
7
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
export const SYSTEM_PROMPT = `You are the scout for {{name}}.
|
|
3
|
+
Decompose the research question into 3-7 specific subqueries. Each subquery
|
|
4
|
+
must be standalone (no shared context required), web-searchable, and
|
|
5
|
+
non-overlapping. Output: a JSON list of strings.`;
|
|
6
|
+
export const NAME = 'scout';
|
|
7
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
export const SYSTEM_PROMPT = `You are the source grader for {{name}}.
|
|
3
|
-
For each search hit, fetch the URL (via WebFetch) and assign a grade:
|
|
4
|
-
A = primary source (paper, official doc), <2y, on-topic
|
|
5
|
-
B = reputable secondary (major outlet, expert blog), <5y
|
|
6
|
-
C = tertiary (Wikipedia, summary)
|
|
7
|
-
D = discard (forum, unsourced, broken)
|
|
8
|
-
Output: enriched hits with {grade, reason, key_facts[]}.`;
|
|
9
|
-
export const NAME = 'source-grader';
|
|
10
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
export const SYSTEM_PROMPT = `You are the source grader for {{name}}.
|
|
3
|
+
For each search hit, fetch the URL (via WebFetch) and assign a grade:
|
|
4
|
+
A = primary source (paper, official doc), <2y, on-topic
|
|
5
|
+
B = reputable secondary (major outlet, expert blog), <5y
|
|
6
|
+
C = tertiary (Wikipedia, summary)
|
|
7
|
+
D = discard (forum, unsourced, broken)
|
|
8
|
+
Output: enriched hits with {grade, reason, key_facts[]}.`;
|
|
9
|
+
export const NAME = 'source-grader';
|
|
10
|
+
export const TIER = 'sonnet' as const;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
// SPDX-License-Identifier: MIT
|
|
2
|
-
export const SYSTEM_PROMPT = `You are the synthesizer for {{name}}.
|
|
3
|
-
Use ONLY grade A and B sources from source-grader's output. Synthesise
|
|
4
|
-
findings into a coherent narrative. Every claim must be traceable to one
|
|
5
|
-
or more sources. Flag contradictions explicitly. Do NOT cite yet — citer
|
|
6
|
-
does that.`;
|
|
7
|
-
export const NAME = 'synthesizer';
|
|
8
|
-
export const TIER = 'sonnet' as const;
|
|
1
|
+
// SPDX-License-Identifier: MIT
|
|
2
|
+
export const SYSTEM_PROMPT = `You are the synthesizer for {{name}}.
|
|
3
|
+
Use ONLY grade A and B sources from source-grader's output. Synthesise
|
|
4
|
+
findings into a coherent narrative. Every claim must be traceable to one
|
|
5
|
+
or more sources. Flag contradictions explicitly. Do NOT cite yet — citer
|
|
6
|
+
does that.`;
|
|
7
|
+
export const NAME = 'synthesizer';
|
|
8
|
+
export const TIER = 'sonnet' as const;
|