hunter-harness 0.1.2 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/README.md +11 -0
- package/dist/bin.js +955 -318
- package/package.json +1 -1
- package/resources/harness/bundles/general/claude-code/.harness-build.json +6 -0
- package/resources/harness/{general → bundles/general/claude-code}/agents/harness-reviewer.md +2 -2
- package/resources/harness/{general → bundles/general/claude-code}/harness-archive/SKILL.md +1 -1
- package/resources/harness/{java → bundles/general/claude-code}/harness-codebase-map/SKILL.md +1 -1
- package/resources/harness/{java → bundles/general/claude-code}/harness-knowledge-ingest/SKILL.md +1 -1
- package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-ingest/reference.md +1 -1
- package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-query/SKILL.md +1 -1
- package/resources/harness/{general → bundles/general/claude-code}/harness-plan/SKILL.md +1 -1
- package/resources/harness/{java → bundles/general/claude-code}/harness-review/SKILL.md +8 -4
- package/resources/harness/{general → bundles/general/claude-code}/harness-review/checklist.md +3 -3
- package/resources/harness/{general → bundles/general/claude-code}/harness-run/SKILL.md +1 -1
- package/resources/harness/{general → bundles/general/claude-code}/harness-run/checklist.md +1 -1
- package/resources/harness/{general → bundles/general/claude-code}/harness-run/reference.md +2 -2
- package/resources/harness/{general → bundles/general/claude-code}/harness-submit/SKILL.md +1 -1
- package/resources/harness/{java → bundles/general/claude-code}/harness-sync/SKILL.md +2 -2
- package/resources/harness/{general → bundles/general/claude-code}/harness-sync/reference.md +7 -7
- package/resources/harness/{general → bundles/general/claude-code}/harness-test/SKILL.md +1 -1
- package/resources/harness/{general → bundles/general/claude-code}/harness-test/checklist.md +1 -1
- package/resources/harness/{java → bundles/general/claude-code}/scripts/harness_archive.py +2300 -2300
- package/resources/harness/{general → bundles/general/claude-code}/scripts/harness_deploy.py +74 -13
- package/resources/harness/{general → bundles/general/claude-code}/scripts/harness_events.py +680 -680
- package/resources/harness/{general → bundles/general/claude-code}/scripts/harness_ledger.py +660 -660
- package/resources/harness/{java → bundles/general/claude-code}/scripts/harness_preflight.py +765 -765
- package/resources/harness/{general → bundles/general/claude-code}/scripts/harness_service.py +1331 -1331
- package/resources/harness/bundles/general/codebuddy/.harness-build.json +6 -0
- package/resources/harness/bundles/general/codebuddy/agents/harness-evaluator.md +94 -0
- package/resources/harness/bundles/general/codebuddy/agents/harness-explorer.md +53 -0
- package/resources/harness/bundles/general/codebuddy/agents/harness-reviewer.md +52 -0
- package/resources/harness/bundles/general/codebuddy/harness-archive/SKILL.md +198 -0
- package/resources/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +95 -0
- package/resources/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +229 -0
- package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/reference.md +1 -1
- package/resources/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +147 -0
- package/resources/harness/bundles/general/codebuddy/harness-plan/SKILL.md +109 -0
- package/resources/harness/bundles/general/codebuddy/harness-review/SKILL.md +142 -0
- package/resources/harness/{java → bundles/general/codebuddy}/harness-review/checklist.md +3 -3
- package/resources/harness/bundles/general/codebuddy/harness-run/SKILL.md +113 -0
- package/resources/harness/bundles/general/codebuddy/harness-run/checklist.md +259 -0
- package/resources/harness/bundles/general/codebuddy/harness-run/reference.md +834 -0
- package/resources/harness/bundles/general/codebuddy/harness-submit/SKILL.md +142 -0
- package/resources/harness/bundles/general/codebuddy/harness-sync/SKILL.md +65 -0
- package/resources/harness/{java → bundles/general/codebuddy}/harness-sync/reference.md +7 -7
- package/resources/harness/bundles/general/codebuddy/harness-test/SKILL.md +160 -0
- package/resources/harness/bundles/general/codebuddy/harness-test/checklist.md +319 -0
- package/resources/harness/bundles/general/codebuddy/harness-test/reference.md +791 -0
- package/resources/harness/{general → bundles/general/codebuddy}/scripts/harness_archive.py +2300 -2300
- package/resources/harness/{java → bundles/general/codebuddy}/scripts/harness_deploy.py +74 -13
- package/resources/harness/{java → bundles/general/codebuddy}/scripts/harness_events.py +680 -680
- package/resources/harness/{java → bundles/general/codebuddy}/scripts/harness_ledger.py +660 -660
- package/resources/harness/{general → bundles/general/codebuddy}/scripts/harness_preflight.py +765 -765
- package/resources/harness/{java → bundles/general/codebuddy}/scripts/harness_service.py +1331 -1331
- package/resources/harness/bundles/general/codex/.harness-build.json +6 -0
- package/resources/harness/bundles/general/codex/CONTEXT.md +65 -0
- package/resources/harness/bundles/general/codex/README.md +478 -0
- package/resources/harness/bundles/general/codex/harness-archive/SKILL.md +198 -0
- package/resources/harness/bundles/general/codex/harness-archive/checklist.md +52 -0
- package/resources/harness/bundles/general/codex/harness-archive/reference.md +103 -0
- package/resources/harness/bundles/general/codex/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/resources/harness/bundles/general/codex/harness-archive/templates/render-summary.mjs +171 -0
- package/resources/harness/bundles/general/codex/harness-archive/templates/summary-data-template.json +128 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/SKILL.md +95 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/checklist.md +126 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/reference.md +364 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/STACK.md +55 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/TESTING.md +64 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/resources/harness/bundles/general/codex/harness-codebase-map/templates/map-summary.md +64 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +229 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/design.md +842 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +42 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/mcp-config.example.json +10 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/reference.md +309 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +4082 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +273 -0
- package/resources/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +147 -0
- package/resources/harness/bundles/general/codex/harness-plan/SKILL.md +109 -0
- package/resources/harness/bundles/general/codex/harness-plan/checklist.md +243 -0
- package/resources/harness/bundles/general/codex/harness-plan/protocols.md +124 -0
- package/resources/harness/bundles/general/codex/harness-plan/reference.md +376 -0
- package/resources/harness/bundles/general/codex/harness-review/SKILL.md +137 -0
- package/resources/harness/bundles/general/codex/harness-review/checklist.md +124 -0
- package/resources/harness/bundles/general/codex/harness-review/protocols.md +68 -0
- package/resources/harness/bundles/general/codex/harness-review/reference.md +86 -0
- package/resources/harness/bundles/general/codex/harness-run/SKILL.md +113 -0
- package/resources/harness/bundles/general/codex/harness-run/checklist.md +259 -0
- package/resources/harness/bundles/general/codex/harness-run/protocols.md +78 -0
- package/resources/harness/bundles/general/codex/harness-run/reference.md +834 -0
- package/resources/harness/bundles/general/codex/harness-submit/SKILL.md +142 -0
- package/resources/harness/bundles/general/codex/harness-submit/checklist.md +407 -0
- package/resources/harness/bundles/general/codex/harness-submit/reference.md +152 -0
- package/resources/harness/bundles/general/codex/harness-sync/SKILL.md +65 -0
- package/resources/harness/bundles/general/codex/harness-sync/reference.md +153 -0
- package/resources/harness/bundles/general/codex/harness-test/SKILL.md +160 -0
- package/resources/harness/bundles/general/codex/harness-test/checklist.md +319 -0
- package/resources/harness/bundles/general/codex/harness-test/pitfalls.md +260 -0
- package/resources/harness/bundles/general/codex/harness-test/reference.md +791 -0
- package/resources/harness/bundles/general/codex/protocols/archive-report-protocol.md +175 -0
- package/resources/harness/bundles/general/codex/protocols/evidence-based-reporting-protocol.md +134 -0
- package/resources/harness/bundles/general/codex/protocols/ledger-protocol.md +270 -0
- package/resources/harness/bundles/general/codex/protocols/powershell-protocol.md +181 -0
- package/resources/harness/bundles/general/codex/protocols/report-pipeline-protocol.md +150 -0
- package/resources/harness/bundles/general/codex/protocols/sensitive-info-protocol.md +92 -0
- package/resources/harness/bundles/general/codex/protocols/state-layout-protocol.md +131 -0
- package/resources/harness/bundles/general/codex/protocols/submit-protocol.md +78 -0
- package/resources/harness/bundles/general/codex/scripts/harness_archive.py +2319 -0
- package/resources/harness/bundles/general/codex/scripts/harness_deploy.py +674 -0
- package/resources/harness/bundles/general/codex/scripts/harness_events.py +680 -0
- package/resources/harness/bundles/general/codex/scripts/harness_ledger.py +671 -0
- package/resources/harness/bundles/general/codex/scripts/harness_preflight.py +780 -0
- package/resources/harness/bundles/general/codex/scripts/harness_service.py +1331 -0
- package/resources/harness/bundles/general/cursor/.harness-build.json +6 -0
- package/resources/harness/bundles/general/cursor/CONTEXT.md +65 -0
- package/resources/harness/bundles/general/cursor/README.md +478 -0
- package/resources/harness/bundles/general/cursor/harness-archive/SKILL.md +198 -0
- package/resources/harness/bundles/general/cursor/harness-archive/checklist.md +52 -0
- package/resources/harness/bundles/general/cursor/harness-archive/reference.md +103 -0
- package/resources/harness/bundles/general/cursor/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/resources/harness/bundles/general/cursor/harness-archive/templates/render-summary.mjs +171 -0
- package/resources/harness/bundles/general/cursor/harness-archive/templates/summary-data-template.json +128 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +95 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/checklist.md +126 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/reference.md +364 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/STACK.md +55 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/TESTING.md +64 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/resources/harness/bundles/general/cursor/harness-codebase-map/templates/map-summary.md +64 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +229 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/design.md +842 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +42 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/mcp-config.example.json +10 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/reference.md +309 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +4082 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +273 -0
- package/resources/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +147 -0
- package/resources/harness/bundles/general/cursor/harness-plan/SKILL.md +109 -0
- package/resources/harness/bundles/general/cursor/harness-plan/checklist.md +243 -0
- package/resources/harness/bundles/general/cursor/harness-plan/protocols.md +124 -0
- package/resources/harness/bundles/general/cursor/harness-plan/reference.md +376 -0
- package/resources/harness/bundles/general/cursor/harness-review/SKILL.md +137 -0
- package/resources/harness/bundles/general/cursor/harness-review/checklist.md +124 -0
- package/resources/harness/bundles/general/cursor/harness-review/protocols.md +68 -0
- package/resources/harness/bundles/general/cursor/harness-review/reference.md +86 -0
- package/resources/harness/bundles/general/cursor/harness-run/SKILL.md +113 -0
- package/resources/harness/bundles/general/cursor/harness-run/checklist.md +259 -0
- package/resources/harness/bundles/general/cursor/harness-run/protocols.md +78 -0
- package/resources/harness/bundles/general/cursor/harness-run/reference.md +834 -0
- package/resources/harness/bundles/general/cursor/harness-submit/SKILL.md +142 -0
- package/resources/harness/bundles/general/cursor/harness-submit/checklist.md +407 -0
- package/resources/harness/bundles/general/cursor/harness-submit/reference.md +152 -0
- package/resources/harness/bundles/general/cursor/harness-sync/SKILL.md +65 -0
- package/resources/harness/bundles/general/cursor/harness-sync/reference.md +153 -0
- package/resources/harness/bundles/general/cursor/harness-test/SKILL.md +160 -0
- package/resources/harness/bundles/general/cursor/harness-test/checklist.md +319 -0
- package/resources/harness/bundles/general/cursor/harness-test/pitfalls.md +260 -0
- package/resources/harness/bundles/general/cursor/harness-test/reference.md +791 -0
- package/resources/harness/bundles/general/cursor/protocols/archive-report-protocol.md +175 -0
- package/resources/harness/bundles/general/cursor/protocols/evidence-based-reporting-protocol.md +134 -0
- package/resources/harness/bundles/general/cursor/protocols/ledger-protocol.md +270 -0
- package/resources/harness/bundles/general/cursor/protocols/powershell-protocol.md +181 -0
- package/resources/harness/bundles/general/cursor/protocols/report-pipeline-protocol.md +150 -0
- package/resources/harness/bundles/general/cursor/protocols/sensitive-info-protocol.md +92 -0
- package/resources/harness/bundles/general/cursor/protocols/state-layout-protocol.md +131 -0
- package/resources/harness/bundles/general/cursor/protocols/submit-protocol.md +78 -0
- package/resources/harness/bundles/general/cursor/scripts/harness_archive.py +2319 -0
- package/resources/harness/bundles/general/cursor/scripts/harness_deploy.py +674 -0
- package/resources/harness/bundles/general/cursor/scripts/harness_events.py +680 -0
- package/resources/harness/bundles/general/cursor/scripts/harness_ledger.py +671 -0
- package/resources/harness/bundles/general/cursor/scripts/harness_preflight.py +780 -0
- package/resources/harness/bundles/general/cursor/scripts/harness_service.py +1331 -0
- package/resources/harness/bundles/java/claude-code/.harness-build.json +6 -0
- package/resources/harness/bundles/java/claude-code/CONTEXT.md +65 -0
- package/resources/harness/bundles/java/claude-code/README.md +478 -0
- package/resources/harness/{java → bundles/java/claude-code}/agents/harness-reviewer.md +2 -2
- package/resources/harness/{java → bundles/java/claude-code}/harness-apidoc/SKILL.md +1 -1
- package/resources/harness/{java → bundles/java/claude-code}/harness-archive/SKILL.md +1 -1
- package/resources/harness/bundles/java/claude-code/harness-archive/checklist.md +52 -0
- package/resources/harness/bundles/java/claude-code/harness-archive/reference.md +103 -0
- package/resources/harness/bundles/java/claude-code/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/resources/harness/bundles/java/claude-code/harness-archive/templates/render-summary.mjs +171 -0
- package/resources/harness/bundles/java/claude-code/harness-archive/templates/summary-data-template.json +128 -0
- package/resources/harness/{general → bundles/java/claude-code}/harness-codebase-map/SKILL.md +1 -1
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/checklist.md +126 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/reference.md +364 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/STACK.md +55 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/TESTING.md +64 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/resources/harness/bundles/java/claude-code/harness-codebase-map/templates/map-summary.md +64 -0
- package/resources/harness/{general → bundles/java/claude-code}/harness-knowledge-ingest/SKILL.md +1 -1
- package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/design.md +842 -0
- package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +42 -0
- package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/mcp-config.example.json +10 -0
- package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/reference.md +309 -0
- package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +4082 -0
- package/resources/harness/bundles/java/claude-code/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +273 -0
- package/resources/harness/{java → bundles/java/claude-code}/harness-knowledge-query/SKILL.md +1 -1
- package/resources/harness/{java → bundles/java/claude-code}/harness-package/SKILL.md +1 -1
- package/resources/harness/{java → bundles/java/claude-code}/harness-package/reference.md +1 -1
- package/resources/harness/{java → bundles/java/claude-code}/harness-plan/SKILL.md +1 -1
- package/resources/harness/bundles/java/claude-code/harness-plan/checklist.md +243 -0
- package/resources/harness/bundles/java/claude-code/harness-plan/protocols.md +124 -0
- package/resources/harness/bundles/java/claude-code/harness-plan/reference.md +376 -0
- package/resources/harness/{general → bundles/java/claude-code}/harness-review/SKILL.md +8 -4
- package/resources/harness/bundles/java/claude-code/harness-review/checklist.md +124 -0
- package/resources/harness/bundles/java/claude-code/harness-review/protocols.md +68 -0
- package/resources/harness/bundles/java/claude-code/harness-review/reference.md +86 -0
- package/resources/harness/{java → bundles/java/claude-code}/harness-run/SKILL.md +1 -1
- package/resources/harness/{java → bundles/java/claude-code}/harness-run/checklist.md +1 -1
- package/resources/harness/bundles/java/claude-code/harness-run/protocols.md +78 -0
- package/resources/harness/{java → bundles/java/claude-code}/harness-run/reference.md +2 -2
- package/resources/harness/{java → bundles/java/claude-code}/harness-submit/SKILL.md +1 -1
- package/resources/harness/bundles/java/claude-code/harness-submit/checklist.md +407 -0
- package/resources/harness/bundles/java/claude-code/harness-submit/reference.md +152 -0
- package/resources/harness/{general → bundles/java/claude-code}/harness-sync/SKILL.md +2 -2
- package/resources/harness/bundles/java/claude-code/harness-sync/reference.md +153 -0
- package/resources/harness/{java → bundles/java/claude-code}/harness-test/SKILL.md +1 -1
- package/resources/harness/{java → bundles/java/claude-code}/harness-test/checklist.md +316 -316
- package/resources/harness/bundles/java/claude-code/harness-test/pitfalls.md +260 -0
- package/resources/harness/{java → bundles/java/claude-code}/harness-test/reference.md +788 -788
- package/resources/harness/bundles/java/claude-code/protocols/archive-report-protocol.md +175 -0
- package/resources/harness/bundles/java/claude-code/protocols/evidence-based-reporting-protocol.md +134 -0
- package/resources/harness/bundles/java/claude-code/protocols/ledger-protocol.md +270 -0
- package/resources/harness/bundles/java/claude-code/protocols/powershell-protocol.md +181 -0
- package/resources/harness/bundles/java/claude-code/protocols/report-pipeline-protocol.md +150 -0
- package/resources/harness/bundles/java/claude-code/protocols/sensitive-info-protocol.md +92 -0
- package/resources/harness/bundles/java/claude-code/protocols/state-layout-protocol.md +131 -0
- package/resources/harness/bundles/java/claude-code/protocols/submit-protocol.md +78 -0
- package/resources/harness/bundles/java/claude-code/scripts/harness_archive.py +2319 -0
- package/resources/harness/bundles/java/claude-code/scripts/harness_deploy.py +674 -0
- package/resources/harness/bundles/java/claude-code/scripts/harness_events.py +680 -0
- package/resources/harness/bundles/java/claude-code/scripts/harness_ledger.py +671 -0
- package/resources/harness/bundles/java/claude-code/scripts/harness_preflight.py +780 -0
- package/resources/harness/bundles/java/claude-code/scripts/harness_service.py +1331 -0
- package/resources/harness/bundles/java/codebuddy/.harness-build.json +6 -0
- package/resources/harness/bundles/java/codebuddy/CONTEXT.md +65 -0
- package/resources/harness/bundles/java/codebuddy/README.md +478 -0
- package/resources/harness/bundles/java/codebuddy/agents/harness-evaluator.md +94 -0
- package/resources/harness/bundles/java/codebuddy/agents/harness-explorer.md +53 -0
- package/resources/harness/bundles/java/codebuddy/agents/harness-reviewer.md +52 -0
- package/resources/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +68 -0
- package/resources/harness/bundles/java/codebuddy/harness-apidoc/checklist.md +142 -0
- package/resources/harness/bundles/java/codebuddy/harness-apidoc/reference.md +233 -0
- package/resources/harness/bundles/java/codebuddy/harness-archive/SKILL.md +198 -0
- package/resources/harness/bundles/java/codebuddy/harness-archive/checklist.md +52 -0
- package/resources/harness/bundles/java/codebuddy/harness-archive/reference.md +103 -0
- package/resources/harness/bundles/java/codebuddy/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/resources/harness/bundles/java/codebuddy/harness-archive/templates/render-summary.mjs +171 -0
- package/resources/harness/bundles/java/codebuddy/harness-archive/templates/summary-data-template.json +128 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +95 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/checklist.md +126 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/reference.md +364 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/STACK.md +55 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/TESTING.md +64 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/resources/harness/bundles/java/codebuddy/harness-codebase-map/templates/map-summary.md +64 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +229 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/design.md +842 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +42 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/mcp-config.example.json +10 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/reference.md +309 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +4082 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +273 -0
- package/resources/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +147 -0
- package/resources/harness/bundles/java/codebuddy/harness-package/SKILL.md +69 -0
- package/resources/harness/bundles/java/codebuddy/harness-package/checklist.md +322 -0
- package/resources/harness/bundles/java/codebuddy/harness-package/reference.md +210 -0
- package/resources/harness/bundles/java/codebuddy/harness-plan/SKILL.md +109 -0
- package/resources/harness/bundles/java/codebuddy/harness-plan/checklist.md +243 -0
- package/resources/harness/bundles/java/codebuddy/harness-plan/protocols.md +124 -0
- package/resources/harness/bundles/java/codebuddy/harness-plan/reference.md +376 -0
- package/resources/harness/bundles/java/codebuddy/harness-review/SKILL.md +142 -0
- package/resources/harness/bundles/java/codebuddy/harness-review/checklist.md +124 -0
- package/resources/harness/bundles/java/codebuddy/harness-review/protocols.md +68 -0
- package/resources/harness/bundles/java/codebuddy/harness-review/reference.md +86 -0
- package/resources/harness/bundles/java/codebuddy/harness-run/SKILL.md +129 -0
- package/resources/harness/bundles/java/codebuddy/harness-run/checklist.md +250 -0
- package/resources/harness/bundles/java/codebuddy/harness-run/protocols.md +78 -0
- package/resources/harness/bundles/java/codebuddy/harness-run/reference.md +814 -0
- package/resources/harness/bundles/java/codebuddy/harness-submit/SKILL.md +149 -0
- package/resources/harness/bundles/java/codebuddy/harness-submit/checklist.md +407 -0
- package/resources/harness/bundles/java/codebuddy/harness-submit/reference.md +152 -0
- package/resources/harness/bundles/java/codebuddy/harness-sync/SKILL.md +65 -0
- package/resources/harness/bundles/java/codebuddy/harness-sync/reference.md +153 -0
- package/resources/harness/bundles/java/codebuddy/harness-test/SKILL.md +172 -0
- package/resources/harness/bundles/java/codebuddy/harness-test/checklist.md +317 -0
- package/resources/harness/bundles/java/codebuddy/harness-test/pitfalls-java.md +16 -0
- package/resources/harness/bundles/java/codebuddy/harness-test/pitfalls.md +260 -0
- package/resources/harness/bundles/java/codebuddy/harness-test/reference.md +788 -0
- package/resources/harness/bundles/java/codebuddy/protocols/archive-report-protocol.md +175 -0
- package/resources/harness/bundles/java/codebuddy/protocols/evidence-based-reporting-protocol.md +134 -0
- package/resources/harness/bundles/java/codebuddy/protocols/ledger-protocol.md +270 -0
- package/resources/harness/bundles/java/codebuddy/protocols/powershell-protocol.md +181 -0
- package/resources/harness/bundles/java/codebuddy/protocols/report-pipeline-protocol.md +150 -0
- package/resources/harness/bundles/java/codebuddy/protocols/sensitive-info-protocol.md +92 -0
- package/resources/harness/bundles/java/codebuddy/protocols/state-layout-protocol.md +131 -0
- package/resources/harness/bundles/java/codebuddy/protocols/submit-protocol.md +78 -0
- package/resources/harness/bundles/java/codebuddy/scripts/harness_archive.py +2319 -0
- package/resources/harness/bundles/java/codebuddy/scripts/harness_deploy.py +674 -0
- package/resources/harness/bundles/java/codebuddy/scripts/harness_events.py +680 -0
- package/resources/harness/bundles/java/codebuddy/scripts/harness_ledger.py +671 -0
- package/resources/harness/bundles/java/codebuddy/scripts/harness_preflight.py +780 -0
- package/resources/harness/bundles/java/codebuddy/scripts/harness_service.py +1331 -0
- package/resources/harness/bundles/java/codex/.harness-build.json +6 -0
- package/resources/harness/bundles/java/codex/CONTEXT.md +65 -0
- package/resources/harness/bundles/java/codex/README.md +478 -0
- package/resources/harness/bundles/java/codex/harness-apidoc/SKILL.md +68 -0
- package/resources/harness/bundles/java/codex/harness-apidoc/checklist.md +142 -0
- package/resources/harness/bundles/java/codex/harness-apidoc/reference.md +233 -0
- package/resources/harness/bundles/java/codex/harness-archive/SKILL.md +198 -0
- package/resources/harness/bundles/java/codex/harness-archive/checklist.md +52 -0
- package/resources/harness/bundles/java/codex/harness-archive/reference.md +103 -0
- package/resources/harness/bundles/java/codex/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/resources/harness/bundles/java/codex/harness-archive/templates/render-summary.mjs +171 -0
- package/resources/harness/bundles/java/codex/harness-archive/templates/summary-data-template.json +128 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/SKILL.md +95 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/checklist.md +126 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/reference.md +364 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/STACK.md +55 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/TESTING.md +64 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/resources/harness/bundles/java/codex/harness-codebase-map/templates/map-summary.md +64 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +229 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/design.md +842 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +42 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/mcp-config.example.json +10 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/reference.md +309 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +4082 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +273 -0
- package/resources/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +147 -0
- package/resources/harness/bundles/java/codex/harness-package/SKILL.md +69 -0
- package/resources/harness/bundles/java/codex/harness-package/checklist.md +322 -0
- package/resources/harness/bundles/java/codex/harness-package/reference.md +210 -0
- package/resources/harness/bundles/java/codex/harness-plan/SKILL.md +109 -0
- package/resources/harness/bundles/java/codex/harness-plan/checklist.md +243 -0
- package/resources/harness/bundles/java/codex/harness-plan/protocols.md +124 -0
- package/resources/harness/bundles/java/codex/harness-plan/reference.md +376 -0
- package/resources/harness/bundles/java/codex/harness-review/SKILL.md +137 -0
- package/resources/harness/bundles/java/codex/harness-review/checklist.md +124 -0
- package/resources/harness/bundles/java/codex/harness-review/protocols.md +68 -0
- package/resources/harness/bundles/java/codex/harness-review/reference.md +86 -0
- package/resources/harness/bundles/java/codex/harness-run/SKILL.md +129 -0
- package/resources/harness/bundles/java/codex/harness-run/checklist.md +250 -0
- package/resources/harness/bundles/java/codex/harness-run/protocols.md +78 -0
- package/resources/harness/bundles/java/codex/harness-run/reference.md +814 -0
- package/resources/harness/bundles/java/codex/harness-submit/SKILL.md +149 -0
- package/resources/harness/bundles/java/codex/harness-submit/checklist.md +407 -0
- package/resources/harness/bundles/java/codex/harness-submit/reference.md +152 -0
- package/resources/harness/bundles/java/codex/harness-sync/SKILL.md +65 -0
- package/resources/harness/bundles/java/codex/harness-sync/reference.md +153 -0
- package/resources/harness/bundles/java/codex/harness-test/SKILL.md +172 -0
- package/resources/harness/bundles/java/codex/harness-test/checklist.md +317 -0
- package/resources/harness/bundles/java/codex/harness-test/pitfalls-java.md +16 -0
- package/resources/harness/bundles/java/codex/harness-test/pitfalls.md +260 -0
- package/resources/harness/bundles/java/codex/harness-test/reference.md +788 -0
- package/resources/harness/bundles/java/codex/protocols/archive-report-protocol.md +175 -0
- package/resources/harness/bundles/java/codex/protocols/evidence-based-reporting-protocol.md +134 -0
- package/resources/harness/bundles/java/codex/protocols/ledger-protocol.md +270 -0
- package/resources/harness/bundles/java/codex/protocols/powershell-protocol.md +181 -0
- package/resources/harness/bundles/java/codex/protocols/report-pipeline-protocol.md +150 -0
- package/resources/harness/bundles/java/codex/protocols/sensitive-info-protocol.md +92 -0
- package/resources/harness/bundles/java/codex/protocols/state-layout-protocol.md +131 -0
- package/resources/harness/bundles/java/codex/protocols/submit-protocol.md +78 -0
- package/resources/harness/bundles/java/codex/scripts/harness_archive.py +2319 -0
- package/resources/harness/bundles/java/codex/scripts/harness_deploy.py +674 -0
- package/resources/harness/bundles/java/codex/scripts/harness_events.py +680 -0
- package/resources/harness/bundles/java/codex/scripts/harness_ledger.py +671 -0
- package/resources/harness/bundles/java/codex/scripts/harness_preflight.py +780 -0
- package/resources/harness/bundles/java/codex/scripts/harness_service.py +1331 -0
- package/resources/harness/bundles/java/cursor/.harness-build.json +6 -0
- package/resources/harness/bundles/java/cursor/CONTEXT.md +65 -0
- package/resources/harness/bundles/java/cursor/README.md +478 -0
- package/resources/harness/bundles/java/cursor/harness-apidoc/SKILL.md +68 -0
- package/resources/harness/bundles/java/cursor/harness-apidoc/checklist.md +142 -0
- package/resources/harness/bundles/java/cursor/harness-apidoc/reference.md +233 -0
- package/resources/harness/bundles/java/cursor/harness-archive/SKILL.md +198 -0
- package/resources/harness/bundles/java/cursor/harness-archive/checklist.md +52 -0
- package/resources/harness/bundles/java/cursor/harness-archive/reference.md +103 -0
- package/resources/harness/bundles/java/cursor/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/resources/harness/bundles/java/cursor/harness-archive/templates/render-summary.mjs +171 -0
- package/resources/harness/bundles/java/cursor/harness-archive/templates/summary-data-template.json +128 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +95 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/checklist.md +126 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/reference.md +364 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/STACK.md +55 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/TESTING.md +64 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/resources/harness/bundles/java/cursor/harness-codebase-map/templates/map-summary.md +64 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +229 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/design.md +842 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +42 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/mcp-config.example.json +10 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/reference.md +309 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +4082 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +273 -0
- package/resources/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +147 -0
- package/resources/harness/bundles/java/cursor/harness-package/SKILL.md +69 -0
- package/resources/harness/bundles/java/cursor/harness-package/checklist.md +322 -0
- package/resources/harness/bundles/java/cursor/harness-package/reference.md +210 -0
- package/resources/harness/bundles/java/cursor/harness-plan/SKILL.md +109 -0
- package/resources/harness/bundles/java/cursor/harness-plan/checklist.md +243 -0
- package/resources/harness/bundles/java/cursor/harness-plan/protocols.md +124 -0
- package/resources/harness/bundles/java/cursor/harness-plan/reference.md +376 -0
- package/resources/harness/bundles/java/cursor/harness-review/SKILL.md +137 -0
- package/resources/harness/bundles/java/cursor/harness-review/checklist.md +124 -0
- package/resources/harness/bundles/java/cursor/harness-review/protocols.md +68 -0
- package/resources/harness/bundles/java/cursor/harness-review/reference.md +86 -0
- package/resources/harness/bundles/java/cursor/harness-run/SKILL.md +129 -0
- package/resources/harness/bundles/java/cursor/harness-run/checklist.md +250 -0
- package/resources/harness/bundles/java/cursor/harness-run/protocols.md +78 -0
- package/resources/harness/bundles/java/cursor/harness-run/reference.md +814 -0
- package/resources/harness/bundles/java/cursor/harness-submit/SKILL.md +149 -0
- package/resources/harness/bundles/java/cursor/harness-submit/checklist.md +407 -0
- package/resources/harness/bundles/java/cursor/harness-submit/reference.md +152 -0
- package/resources/harness/bundles/java/cursor/harness-sync/SKILL.md +65 -0
- package/resources/harness/bundles/java/cursor/harness-sync/reference.md +153 -0
- package/resources/harness/bundles/java/cursor/harness-test/SKILL.md +172 -0
- package/resources/harness/bundles/java/cursor/harness-test/checklist.md +317 -0
- package/resources/harness/bundles/java/cursor/harness-test/pitfalls-java.md +16 -0
- package/resources/harness/bundles/java/cursor/harness-test/pitfalls.md +260 -0
- package/resources/harness/bundles/java/cursor/harness-test/reference.md +788 -0
- package/resources/harness/bundles/java/cursor/protocols/archive-report-protocol.md +175 -0
- package/resources/harness/bundles/java/cursor/protocols/evidence-based-reporting-protocol.md +134 -0
- package/resources/harness/bundles/java/cursor/protocols/ledger-protocol.md +270 -0
- package/resources/harness/bundles/java/cursor/protocols/powershell-protocol.md +181 -0
- package/resources/harness/bundles/java/cursor/protocols/report-pipeline-protocol.md +150 -0
- package/resources/harness/bundles/java/cursor/protocols/sensitive-info-protocol.md +92 -0
- package/resources/harness/bundles/java/cursor/protocols/state-layout-protocol.md +131 -0
- package/resources/harness/bundles/java/cursor/protocols/submit-protocol.md +78 -0
- package/resources/harness/bundles/java/cursor/scripts/harness_archive.py +2319 -0
- package/resources/harness/bundles/java/cursor/scripts/harness_deploy.py +674 -0
- package/resources/harness/bundles/java/cursor/scripts/harness_events.py +680 -0
- package/resources/harness/bundles/java/cursor/scripts/harness_ledger.py +671 -0
- package/resources/harness/bundles/java/cursor/scripts/harness_preflight.py +780 -0
- package/resources/harness/bundles/java/cursor/scripts/harness_service.py +1331 -0
- package/resources/harness/manifests/{general.json → general/claude-code.json} +27 -26
- package/resources/harness/manifests/general/codebuddy.json +277 -0
- package/resources/harness/manifests/general/codex.json +265 -0
- package/resources/harness/manifests/general/cursor.json +265 -0
- package/resources/harness/manifests/{java.json → java/claude-code.json} +31 -30
- package/resources/harness/manifests/java/codebuddy.json +305 -0
- package/resources/harness/manifests/java/codex.json +293 -0
- package/resources/harness/manifests/java/cursor.json +293 -0
- package/resources/harness/general/.harness-build.json +0 -5
- package/resources/harness/java/.harness-build.json +0 -5
- /package/resources/harness/{general → bundles/general/claude-code}/CONTEXT.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/README.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/agents/harness-evaluator.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/agents/harness-explorer.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-archive/checklist.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-archive/reference.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-archive/scripts/gen-manifest.ps1 +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-archive/templates/render-summary.mjs +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-archive/templates/summary-data-template.json +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/checklist.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/reference.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/ARCHITECTURE.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/CONCERNS.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/CONVENTIONS.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/INTEGRATIONS.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/STACK.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/STRUCTURE.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/TESTING.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/map-manifest.schema.json +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-codebase-map/templates/map-summary.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-ingest/design.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-ingest/mcp-config.example.json +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-plan/checklist.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-plan/protocols.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-plan/reference.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-review/protocols.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-review/reference.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-run/protocols.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-submit/checklist.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-submit/reference.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-test/pitfalls.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/harness-test/reference.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/archive-report-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/evidence-based-reporting-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/ledger-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/powershell-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/report-pipeline-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/sensitive-info-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/state-layout-protocol.md +0 -0
- /package/resources/harness/{general → bundles/general/claude-code}/protocols/submit-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/CONTEXT.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/README.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-archive/checklist.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-archive/reference.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-archive/scripts/gen-manifest.ps1 +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-archive/templates/render-summary.mjs +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-archive/templates/summary-data-template.json +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/checklist.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/reference.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/ARCHITECTURE.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/CONCERNS.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/CONVENTIONS.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/INTEGRATIONS.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/STACK.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/STRUCTURE.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/TESTING.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/map-manifest.schema.json +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-codebase-map/templates/map-summary.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/design.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/evaluations/harness_knowledge_evaluation.xml +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/mcp-config.example.json +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/scripts/harness_knowledge.py +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/scripts/harness_knowledge_mcp.py +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-plan/checklist.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-plan/protocols.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-plan/reference.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-review/protocols.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-review/reference.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-run/protocols.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-submit/checklist.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-submit/reference.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/harness-test/pitfalls.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/archive-report-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/evidence-based-reporting-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/ledger-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/powershell-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/report-pipeline-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/sensitive-info-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/state-layout-protocol.md +0 -0
- /package/resources/harness/{java → bundles/general/codebuddy}/protocols/submit-protocol.md +0 -0
- /package/resources/harness/{java → bundles/java/claude-code}/agents/harness-evaluator.md +0 -0
- /package/resources/harness/{java → bundles/java/claude-code}/agents/harness-explorer.md +0 -0
- /package/resources/harness/{java → bundles/java/claude-code}/harness-apidoc/checklist.md +0 -0
- /package/resources/harness/{java → bundles/java/claude-code}/harness-apidoc/reference.md +0 -0
- /package/resources/harness/{java → bundles/java/claude-code}/harness-package/checklist.md +0 -0
- /package/resources/harness/{java → bundles/java/claude-code}/harness-test/pitfalls-java.md +0 -0
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""MCP entry point for Harness knowledge operations."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import argparse
|
|
7
|
+
import json
|
|
8
|
+
import sys
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Any
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
SCRIPT_DIR = Path(__file__).resolve().parent
|
|
14
|
+
if str(SCRIPT_DIR) not in sys.path:
|
|
15
|
+
sys.path.insert(0, str(SCRIPT_DIR))
|
|
16
|
+
|
|
17
|
+
import harness_knowledge as hk # noqa: E402
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
TOOL_DESCRIPTIONS: list[dict[str, Any]] = [
|
|
21
|
+
{
|
|
22
|
+
"name": "harness_knowledge_ingest",
|
|
23
|
+
"description": "Build or refresh a project-local .harness/knowledge index from .harness/archive.",
|
|
24
|
+
"inputSchema": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"properties": {
|
|
27
|
+
"project": {"type": "string", "description": "Project root containing .harness/archive."},
|
|
28
|
+
"incremental": {"type": "boolean", "default": True, "description": "Reuse cached archive extraction results when valid."},
|
|
29
|
+
},
|
|
30
|
+
"required": ["project"],
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"name": "harness_knowledge_sync",
|
|
35
|
+
"description": "Check whether .harness/knowledge is current, optionally refreshing stale indexes.",
|
|
36
|
+
"inputSchema": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"properties": {
|
|
39
|
+
"project": {"type": "string", "description": "Project root containing .harness/archive."},
|
|
40
|
+
"update": {"type": "boolean", "default": False, "description": "Refresh the index when it is out of date."},
|
|
41
|
+
"incremental": {"type": "boolean", "default": True, "description": "Use incremental extraction when update is true."},
|
|
42
|
+
},
|
|
43
|
+
"required": ["project"],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"name": "harness_knowledge_auto",
|
|
48
|
+
"description": "Run the default automated knowledge maintenance workflow: create config when missing, sync, suggest validators, verify, and audit.",
|
|
49
|
+
"inputSchema": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"properties": {
|
|
52
|
+
"project": {"type": "string", "description": "Project root containing .harness/archive."},
|
|
53
|
+
"limit": {"type": "integer", "default": 20, "minimum": 1, "maximum": 100},
|
|
54
|
+
"suggest_statuses": {"type": "array", "items": {"type": "string"}, "default": []},
|
|
55
|
+
"apply_suggestions": {"type": "boolean", "default": False, "description": "Write validator suggestions into entry JSON files."},
|
|
56
|
+
"incremental": {"type": "boolean", "default": True, "description": "Reuse cached archive extraction results when refreshing."},
|
|
57
|
+
"audit_limit": {"type": "integer", "default": 10, "minimum": 1, "maximum": 100},
|
|
58
|
+
},
|
|
59
|
+
"required": ["project"],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"name": "harness_knowledge_audit",
|
|
64
|
+
"description": "Generate review lists for candidate, stale, superseded, and conflicted knowledge.",
|
|
65
|
+
"inputSchema": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"properties": {
|
|
68
|
+
"project": {"type": "string", "description": "Project root containing .harness/knowledge."},
|
|
69
|
+
"limit": {"type": "integer", "default": 10, "minimum": 1, "maximum": 100},
|
|
70
|
+
},
|
|
71
|
+
"required": ["project"],
|
|
72
|
+
},
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"name": "harness_knowledge_verify",
|
|
76
|
+
"description": "Run configured validators against knowledge entries and refresh verification reports.",
|
|
77
|
+
"inputSchema": {
|
|
78
|
+
"type": "object",
|
|
79
|
+
"properties": {
|
|
80
|
+
"project": {"type": "string", "description": "Project root containing .harness/knowledge."},
|
|
81
|
+
},
|
|
82
|
+
"required": ["project"],
|
|
83
|
+
},
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"name": "harness_knowledge_suggest_validators",
|
|
87
|
+
"description": "Suggest deterministic validators for knowledge entries, optionally applying them.",
|
|
88
|
+
"inputSchema": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"properties": {
|
|
91
|
+
"project": {"type": "string", "description": "Project root containing .harness/knowledge."},
|
|
92
|
+
"limit": {"type": "integer", "default": 20, "minimum": 1, "maximum": 100},
|
|
93
|
+
"statuses": {"type": "array", "items": {"type": "string"}, "default": []},
|
|
94
|
+
"apply": {"type": "boolean", "default": False, "description": "Write suggestions into entry JSON files."},
|
|
95
|
+
},
|
|
96
|
+
"required": ["project"],
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
"name": "harness_knowledge_query",
|
|
101
|
+
"description": "Search .harness/knowledge and generate a context pack for planning or implementation.",
|
|
102
|
+
"inputSchema": {
|
|
103
|
+
"type": "object",
|
|
104
|
+
"properties": {
|
|
105
|
+
"project": {"type": "string", "description": "Project root containing .harness/knowledge."},
|
|
106
|
+
"query": {"type": "string", "description": "Need, question, keyword, or file path to search."},
|
|
107
|
+
"limit": {"type": "integer", "default": 10, "minimum": 1, "maximum": 100},
|
|
108
|
+
"files": {"type": "array", "items": {"type": "string"}, "default": []},
|
|
109
|
+
"statuses": {"type": "array", "items": {"type": "string"}, "default": []},
|
|
110
|
+
"types": {"type": "array", "items": {"type": "string"}, "default": []},
|
|
111
|
+
},
|
|
112
|
+
"required": ["project", "query"],
|
|
113
|
+
},
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"name": "harness_knowledge_promote",
|
|
117
|
+
"description": "Promote a candidate knowledge entry to active after manual confirmation.",
|
|
118
|
+
"inputSchema": {
|
|
119
|
+
"type": "object",
|
|
120
|
+
"properties": {
|
|
121
|
+
"project": {"type": "string", "description": "Project root containing .harness/knowledge."},
|
|
122
|
+
"entry_id": {"type": "string", "description": "Knowledge entry id to promote."},
|
|
123
|
+
"note": {"type": "string", "default": "", "description": "Manual verification note."},
|
|
124
|
+
"allow_stale": {"type": "boolean", "default": False, "description": "Allow promoting a stale entry after manual verification."},
|
|
125
|
+
},
|
|
126
|
+
"required": ["project", "entry_id"],
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"name": "harness_knowledge_demote",
|
|
131
|
+
"description": "Demote an active knowledge entry to stale or candidate after manual review.",
|
|
132
|
+
"inputSchema": {
|
|
133
|
+
"type": "object",
|
|
134
|
+
"properties": {
|
|
135
|
+
"project": {"type": "string", "description": "Project root containing .harness/knowledge."},
|
|
136
|
+
"entry_id": {"type": "string", "description": "Active knowledge entry id to demote."},
|
|
137
|
+
"status": {"type": "string", "enum": ["candidate", "stale"], "description": "Target lifecycle status."},
|
|
138
|
+
"reason": {"type": "string", "description": "Manual demotion reason."},
|
|
139
|
+
},
|
|
140
|
+
"required": ["project", "entry_id", "status", "reason"],
|
|
141
|
+
},
|
|
142
|
+
},
|
|
143
|
+
]
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
def describe_tools() -> dict[str, Any]:
|
|
147
|
+
return {
|
|
148
|
+
"server": "harness-knowledge",
|
|
149
|
+
"transport": "stdio",
|
|
150
|
+
"tools": TOOL_DESCRIPTIONS,
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def create_server() -> Any:
|
|
155
|
+
try:
|
|
156
|
+
from mcp.server.fastmcp import FastMCP
|
|
157
|
+
except Exception as exc: # pragma: no cover - exercised when SDK is absent
|
|
158
|
+
raise RuntimeError(
|
|
159
|
+
"Python package 'mcp' with FastMCP support is required to run the MCP server. "
|
|
160
|
+
"Use --describe-tools for static tool metadata."
|
|
161
|
+
) from exc
|
|
162
|
+
|
|
163
|
+
server = FastMCP(
|
|
164
|
+
"harness-knowledge",
|
|
165
|
+
instructions=(
|
|
166
|
+
"Use these tools to maintain and query project-local Harness knowledge. "
|
|
167
|
+
"Treat candidate and stale entries as historical context until verified."
|
|
168
|
+
),
|
|
169
|
+
)
|
|
170
|
+
|
|
171
|
+
@server.tool(description=TOOL_DESCRIPTIONS[0]["description"])
|
|
172
|
+
def harness_knowledge_ingest(project: str, incremental: bool = True) -> dict[str, Any]:
|
|
173
|
+
return hk.summarize_index(hk.build_index(Path(project), incremental=incremental))
|
|
174
|
+
|
|
175
|
+
@server.tool(description=TOOL_DESCRIPTIONS[1]["description"])
|
|
176
|
+
def harness_knowledge_sync(project: str, update: bool = False, incremental: bool = True) -> dict[str, Any]:
|
|
177
|
+
return hk.sync_status(Path(project), update=update, incremental=incremental)
|
|
178
|
+
|
|
179
|
+
@server.tool(description=TOOL_DESCRIPTIONS[2]["description"])
|
|
180
|
+
def harness_knowledge_auto(
|
|
181
|
+
project: str,
|
|
182
|
+
limit: int = 20,
|
|
183
|
+
suggest_statuses: list[str] | None = None,
|
|
184
|
+
apply_suggestions: bool = False,
|
|
185
|
+
incremental: bool = True,
|
|
186
|
+
audit_limit: int = 10,
|
|
187
|
+
) -> dict[str, Any]:
|
|
188
|
+
return hk.auto_knowledge(
|
|
189
|
+
Path(project),
|
|
190
|
+
limit=limit,
|
|
191
|
+
suggest_statuses=suggest_statuses or [],
|
|
192
|
+
apply_suggestions=apply_suggestions,
|
|
193
|
+
incremental=incremental,
|
|
194
|
+
audit_limit=audit_limit,
|
|
195
|
+
)
|
|
196
|
+
|
|
197
|
+
@server.tool(description=TOOL_DESCRIPTIONS[3]["description"])
|
|
198
|
+
def harness_knowledge_audit(project: str, limit: int = 10) -> dict[str, Any]:
|
|
199
|
+
return hk.audit_entries(Path(project), limit=limit)
|
|
200
|
+
|
|
201
|
+
@server.tool(description=TOOL_DESCRIPTIONS[4]["description"])
|
|
202
|
+
def harness_knowledge_verify(project: str) -> dict[str, Any]:
|
|
203
|
+
return hk.verify_knowledge(Path(project))
|
|
204
|
+
|
|
205
|
+
@server.tool(description=TOOL_DESCRIPTIONS[5]["description"])
|
|
206
|
+
def harness_knowledge_suggest_validators(
|
|
207
|
+
project: str,
|
|
208
|
+
limit: int = 20,
|
|
209
|
+
statuses: list[str] | None = None,
|
|
210
|
+
apply: bool = False,
|
|
211
|
+
) -> dict[str, Any]:
|
|
212
|
+
return hk.suggest_validators(Path(project), limit=limit, statuses=statuses or [], apply=apply)
|
|
213
|
+
|
|
214
|
+
@server.tool(description=TOOL_DESCRIPTIONS[6]["description"])
|
|
215
|
+
def harness_knowledge_query(
|
|
216
|
+
project: str,
|
|
217
|
+
query: str,
|
|
218
|
+
limit: int = 10,
|
|
219
|
+
files: list[str] | None = None,
|
|
220
|
+
statuses: list[str] | None = None,
|
|
221
|
+
types: list[str] | None = None,
|
|
222
|
+
) -> dict[str, Any]:
|
|
223
|
+
return hk.query_index(
|
|
224
|
+
Path(project),
|
|
225
|
+
query,
|
|
226
|
+
limit=limit,
|
|
227
|
+
file_filters=files or [],
|
|
228
|
+
statuses=statuses or [],
|
|
229
|
+
types=types or [],
|
|
230
|
+
)
|
|
231
|
+
|
|
232
|
+
@server.tool(description=TOOL_DESCRIPTIONS[7]["description"])
|
|
233
|
+
def harness_knowledge_promote(
|
|
234
|
+
project: str,
|
|
235
|
+
entry_id: str,
|
|
236
|
+
note: str = "",
|
|
237
|
+
allow_stale: bool = False,
|
|
238
|
+
) -> dict[str, Any]:
|
|
239
|
+
return hk.promote_entry(Path(project), entry_id, note, allow_stale=allow_stale)
|
|
240
|
+
|
|
241
|
+
@server.tool(description=TOOL_DESCRIPTIONS[8]["description"])
|
|
242
|
+
def harness_knowledge_demote(
|
|
243
|
+
project: str,
|
|
244
|
+
entry_id: str,
|
|
245
|
+
status: str,
|
|
246
|
+
reason: str,
|
|
247
|
+
) -> dict[str, Any]:
|
|
248
|
+
return hk.demote_entry(Path(project), entry_id, status, reason)
|
|
249
|
+
|
|
250
|
+
return server
|
|
251
|
+
|
|
252
|
+
|
|
253
|
+
def main(argv: list[str] | None = None) -> int:
|
|
254
|
+
parser = argparse.ArgumentParser(description="Run the Harness knowledge MCP server.")
|
|
255
|
+
parser.add_argument("--describe-tools", action="store_true", help="Print static MCP tool metadata as JSON and exit.")
|
|
256
|
+
parser.add_argument("--transport", choices=["stdio", "sse", "streamable-http"], default="stdio")
|
|
257
|
+
args = parser.parse_args(argv)
|
|
258
|
+
|
|
259
|
+
if args.describe_tools:
|
|
260
|
+
print(json.dumps(describe_tools(), ensure_ascii=False, indent=2))
|
|
261
|
+
return 0
|
|
262
|
+
|
|
263
|
+
try:
|
|
264
|
+
server = create_server()
|
|
265
|
+
except RuntimeError as exc:
|
|
266
|
+
print(str(exc), file=sys.stderr)
|
|
267
|
+
return 1
|
|
268
|
+
server.run(transport=args.transport)
|
|
269
|
+
return 0
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
if __name__ == "__main__":
|
|
273
|
+
raise SystemExit(main())
|
package/resources/harness/{java → bundles/java/claude-code}/harness-knowledge-query/SKILL.md
RENAMED
|
@@ -20,7 +20,7 @@ disallowed-tools:
|
|
|
20
20
|
- Bash(awk *)
|
|
21
21
|
- Bash(curl *)
|
|
22
22
|
---
|
|
23
|
-
<!-- generated by harness_deploy.py; core=
|
|
23
|
+
<!-- generated by harness_deploy.py; core=c7f197c6a6f1ff5a; overlay=java; agent=claude-code; do not edit -->
|
|
24
24
|
# harness-knowledge-query
|
|
25
25
|
|
|
26
26
|
根据用户的新需求或排查问题,从项目本地 `.harness/knowledge` 中检索历史需求、决策、实现、风险和测试证据,并生成 AI 可读的 context pack。
|
|
@@ -20,7 +20,7 @@ disallowed-tools:
|
|
|
20
20
|
- Bash(awk *)
|
|
21
21
|
- Bash(curl *)
|
|
22
22
|
---
|
|
23
|
-
<!-- generated by harness_deploy.py; core=
|
|
23
|
+
<!-- generated by harness_deploy.py; core=c7f197c6a6f1ff5a; overlay=java; agent=claude-code; do not edit -->
|
|
24
24
|
# harness-package — 增量模块打包(Java overlay)
|
|
25
25
|
|
|
26
26
|
## Purpose
|
|
@@ -65,7 +65,7 @@ package:
|
|
|
65
65
|
| **打包失败:版本冲突** | 同一依赖多个版本,SNAPSHOT 冲突 | 检查 pom.xml 版本号,统一版本;或用 `-DallowConflictingSnapshots=true` |
|
|
66
66
|
| **打包失败:编译错误** | 变更文件有语法错误或类型不匹配 | 先执行 `mvn compile` 定位错误,修复后重新打包 |
|
|
67
67
|
| **打包失败:测试失败** | 单元测试或集成测试报错 | 检查测试日志,修复测试或用户确认后加 `-DskipTests` |
|
|
68
|
-
| **打包失败:离线依赖缺失** | `-o` 模式下本地仓库缺少依赖 | 去掉 `-o`,加 `-nsu` 联网下载(见
|
|
68
|
+
| **打包失败:离线依赖缺失** | `-o` 模式下本地仓库缺少依赖 | 去掉 `-o`,加 `-nsu` 联网下载(见 `项目 maven-offline 规则`) |
|
|
69
69
|
| **target/ 目录不存在** | 模块未被打包命令包含 | 检查 `-pl` 参数是否遗漏该模块,或改用全量打包 |
|
|
70
70
|
| **增量打包遗漏产物** | `-am` 未包含足够的上游模块 | 检查依赖链,补充遗漏模块到 `-pl` 列表,或改用全量打包 |
|
|
71
71
|
| **parent-pom 模块无 jar 产物** | 父 pom 模块只做依赖管理,不生成 jar | 正常行为,状态标记为 SKIPPED |
|
|
@@ -20,7 +20,7 @@ disallowed-tools:
|
|
|
20
20
|
- Bash(awk *)
|
|
21
21
|
- Bash(curl *)
|
|
22
22
|
---
|
|
23
|
-
<!-- generated by harness_deploy.py; core=
|
|
23
|
+
<!-- generated by harness_deploy.py; core=c7f197c6a6f1ff5a; overlay=java; agent=claude-code; do not edit -->
|
|
24
24
|
# harness-plan — 需求规划
|
|
25
25
|
|
|
26
26
|
## Purpose
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: harness-plan 的阶段检查清单和覆盖检查列表。仅在执行完整需求规划时读取。
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# harness-plan 检查清单
|
|
6
|
+
|
|
7
|
+
## 阶段 0:工作区变更检查 ⚠️ 强制检查
|
|
8
|
+
|
|
9
|
+
> 有未提交业务变更(排除 `.harness/`)→ **默认 baseline 隔离**,append `decision` 事件,**不 AskUserQuestion**,继续规划。PowerShell 失败 → ❌ 停止。
|
|
10
|
+
|
|
11
|
+
**固定命令**:`powershell.exe -Command "git -C '<项目路径>' status --porcelain"`
|
|
12
|
+
|
|
13
|
+
**判定**:stdout 为空 → ✅ 继续;stdout 非空 → baseline 隔离 + `decision`(note 含变更文件列表);Bash 被拒 → PowerShell 重试。
|
|
14
|
+
|
|
15
|
+
## 阶段 2:Worktree 决策(并入设计审批包)
|
|
16
|
+
|
|
17
|
+
> worktree 不再单独询问。阶段 5 **设计审批包** 一次 AskUserQuestion 含 worktree 选项(推荐值读 `harness.json` `defaultWorktree`)。确认后写入 `meta/worktree.json`。
|
|
18
|
+
|
|
19
|
+
- [ ] 审批包确认后写入 worktree.json(`requested` true/false)
|
|
20
|
+
- [ ] 阶段 8 检查 worktree.json 存在
|
|
21
|
+
|
|
22
|
+
## 阶段 3:代码探索确认(含 Agent/CodeGraph 降级记录)
|
|
23
|
+
|
|
24
|
+
阶段 3 执行完成后,确认以下事项:
|
|
25
|
+
|
|
26
|
+
```
|
|
27
|
+
□ 是通过 Agent 工具委派 subagent 执行的(不是主会话直接调用 codegraph)
|
|
28
|
+
□ subagent 返回了结构化设计概要(涉及模块、接口变更、关键决策)
|
|
29
|
+
□ 委派前已运行 `harness_preflight.py check-agents --agent harness-explorer`
|
|
30
|
+
□ `usable=false` 或未返回有效输出 → 主会话探索,**不 retry 委派**
|
|
31
|
+
□ 主会话未被代码探索的中间结果污染
|
|
32
|
+
□ 在执行日志中记录了 Agent 调用状态:
|
|
33
|
+
- 是否成功调用
|
|
34
|
+
- 使用的 agent 名称
|
|
35
|
+
- 是否只读
|
|
36
|
+
- 子代理实际 tool uses 计数
|
|
37
|
+
- 返回的核心结论
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
> 如果 Agent 工具不可用,或子代理被委派但未返回有效输出(0 tool uses / 空返回 / 仅 "Done"),必须显式降级并记录:
|
|
41
|
+
> - 在执行日志中写明降级原因:🟡 阶段3降级:Agent 不可用 / 子代理未返回有效输出,改为主会话只读探索
|
|
42
|
+
> - 主会话直接使用 codegraph MCP 工具(`mcp__codegraph__codegraph_explore`)和 Read 探索代码(只读,不执行写操作)
|
|
43
|
+
> - 不得在主会话中执行任何写操作
|
|
44
|
+
> - CodeGraph 如通过 MCP 调用,必须优先用 MCP 工具,不允许通过普通 Bash 调 codegraph 命令
|
|
45
|
+
> - 禁止把子代理未经工具验证的文本结论当作"详尽报告"或代码证据采纳
|
|
46
|
+
|
|
47
|
+
## 阶段 5:设计审批包 ⚠️ 强制阻断(一次 AskUserQuestion)
|
|
48
|
+
|
|
49
|
+
> 合并原「设计审核 + worktree + 场景表预览 + change-name」。推荐 worktree 读 `harness.json` `defaultWorktree`。
|
|
50
|
+
|
|
51
|
+
**展示内容**:
|
|
52
|
+
|
|
53
|
+
1. 设计摘要 + 关键证据 + 风险 + 变更清单
|
|
54
|
+
2. 测试场景表摘要 + 8 维度覆盖检查
|
|
55
|
+
3. worktree 选项(是/否,含推荐理由)
|
|
56
|
+
4. change-name(自动生成,可修改)
|
|
57
|
+
5. 确认进入任务拆分
|
|
58
|
+
|
|
59
|
+
确认后写入 `spec/<change>-design.md`(含 frontmatter)和 `meta/worktree.json`。
|
|
60
|
+
|
|
61
|
+
设计文档必须包含 frontmatter:
|
|
62
|
+
```yaml
|
|
63
|
+
---
|
|
64
|
+
change-name: <change-name>
|
|
65
|
+
created: YYYY-MM-DD HH:mm
|
|
66
|
+
status: approved
|
|
67
|
+
source: harness-plan
|
|
68
|
+
---
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
展示可审核包后,使用 `AskUserQuestion` 询问用户:
|
|
72
|
+
- **确认**:设计方向正确,继续任务拆分
|
|
73
|
+
- **修改**:某个部分需要调整,修改后再审核
|
|
74
|
+
- **取消**:方向不对,回到需求澄清阶段
|
|
75
|
+
|
|
76
|
+
### 设计文档自审清单
|
|
77
|
+
|
|
78
|
+
写完设计文档后,用以下清单自检,**并将自审结果展示给用户**:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
□ 无"TBD"/"TODO"/未完成章节
|
|
82
|
+
□ 各节之间无矛盾
|
|
83
|
+
□ 范围聚焦,无不相关内容
|
|
84
|
+
□ 无歧义需求(可被两种方式解读的,已选一种并明确说明)
|
|
85
|
+
□ 自审结果已展示给用户
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
> 展示格式示例:
|
|
89
|
+
> ```
|
|
90
|
+
> ### 设计文档自审
|
|
91
|
+
> - ✅ 无 TBD/TODO/未完成章节
|
|
92
|
+
> - ✅ 各节之间无矛盾
|
|
93
|
+
> - ✅ 范围聚焦,无不相关内容
|
|
94
|
+
> - ⚠️ 第3.2节"枚举删除"与第4节变更清单中"标记@Deprecated"有矛盾,已修正为"删除"
|
|
95
|
+
> ```
|
|
96
|
+
|
|
97
|
+
## 测试场景覆盖检查表(8 维度覆盖检查表,强制输出)
|
|
98
|
+
|
|
99
|
+
> 注意:覆盖检查表是 8 维度,与 4 维度场景表(单元/接口/数据兼容/集成)是两个不同制品。
|
|
100
|
+
|
|
101
|
+
生成场景表后,逐项确认是否覆盖,**必须输出覆盖检查表展示给用户确认**。未覆盖的维度必须标记为缺口(⚠️ 缺口),不得全部标记为 ✅:
|
|
102
|
+
|
|
103
|
+
| 覆盖维度 | 状态 | 说明 |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| 正常路径 | ✅/🟡/❌ | 每个接口 ≥ 1 个正常场景 |
|
|
106
|
+
| 参数校验 | ✅/🟡/❌ | 必填缺失、格式非法、类型错误 |
|
|
107
|
+
| 业务规则 | ✅/🟡/❌ | 唯一性、范围约束、状态机 |
|
|
108
|
+
| 权限/组织边界 | ✅/🟡/❌ | 无权限、跨组织、角色限制 |
|
|
109
|
+
| 数据兼容 | ✅/🟡/❌ | 旧数据无新字段 |
|
|
110
|
+
| 错误码 | ✅/🟡/❌ | 每个异常对应明确错误码 |
|
|
111
|
+
| 集成影响 | ✅/🟡/❌ | 跨模块调用、端到端流程 |
|
|
112
|
+
| 并发/幂等 | ✅/🟡/❌ | 重复提交、并发修改 |
|
|
113
|
+
|
|
114
|
+
> 展示格式示例:
|
|
115
|
+
> ```
|
|
116
|
+
> ### 场景覆盖检查表
|
|
117
|
+
> | 覆盖维度 | 状态 | 说明 |
|
|
118
|
+
> |---|---|---|
|
|
119
|
+
> | 正常路径 | ✅ | 5 个接口各 ≥ 1 个正常场景 |
|
|
120
|
+
> | 参数校验 | ✅ | 必填缺失、格式非法已覆盖 |
|
|
121
|
+
> | 业务规则 | ✅ | 唯一性、状态机已覆盖 |
|
|
122
|
+
> | 权限/组织边界 | 🟡 | ⚠️ 缺口:未覆盖跨组织场景,需补充 |
|
|
123
|
+
> | 数据兼容 | ✅ | 旧数据 scene_code 迁移场景已覆盖 |
|
|
124
|
+
> | 错误码 | ✅ | 3 个错误码均有对应场景 |
|
|
125
|
+
> | 集成影响 | 🟡 | ⚠️ 缺口:未覆盖端到端流程,需部署后验证 |
|
|
126
|
+
> | 并发/幂等 | ❌ | ⚠️ 缺口:未覆盖重复提交场景,需补充 |
|
|
127
|
+
> ```
|
|
128
|
+
|
|
129
|
+
## 阶段 7.5:计划对抗评审(可选)确认
|
|
130
|
+
|
|
131
|
+
> 仅在用户选择启用对抗评审时执行本节检查。默认不启用(高风险构建 auth/支付/迁移/并发 才启用)。
|
|
132
|
+
|
|
133
|
+
阶段 7.5 执行完成后,确认以下事项:
|
|
134
|
+
|
|
135
|
+
```
|
|
136
|
+
□ 已用 **设计审批包** 一次 AskUserQuestion(设计 + 场景表摘要 + worktree + change-name)
|
|
137
|
+
□ **未**单独询问 worktree 或对抗评审(对抗评审仅 `--adversarial`)
|
|
138
|
+
□ 用户同意后,已用 Agent 工具委派 harness-evaluator(haiku, context:fork, plan 模式只读, maxTurns:8)
|
|
139
|
+
□ 已用 context:fork 隔离上下文(evaluator 未参与规划,破除确认偏误)
|
|
140
|
+
□ 已校验子代理 tool uses > 0(0/空/Done 视为未返回有效输出,已降级为主会话自审并记录)
|
|
141
|
+
□ evaluator 返回了 VERDICT(APPROVED/REVISE) + 结构化问题清单(RED/YELLOW)
|
|
142
|
+
□ 评审报告已写入 .harness/changes/<change-name>/reports/plan-review/plan-review-YYYYMMDD-HHmm.md
|
|
143
|
+
□ VERDICT 和问题清单已展示给用户(不得仅记"已评审")
|
|
144
|
+
□ REVISE 时已询问用户是否修订;修订后可选再审
|
|
145
|
+
□ 评审为参考性,未阻塞阶段8
|
|
146
|
+
□ 执行日志记录了 evaluator 调用状态(委派成功/降级原因)+ VERDICT 摘要
|
|
147
|
+
□ 如为主会话自审降级,已标注"⚠️ 同会话自审,回音壁风险"
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
## 原生规划协议检查
|
|
151
|
+
|
|
152
|
+
### 阶段 4:clarification + decision-grilling
|
|
153
|
+
|
|
154
|
+
阶段 4 执行完成后,确认以下事项:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
□ 已读取 protocols.md,并按 clarification-protocol / decision-grilling-protocol 执行
|
|
158
|
+
□ 输入包含需求摘要 + 阶段0.5 context pack(如有)+ 阶段3代码探索结果 + 项目架构约束
|
|
159
|
+
□ 已在 execution-log 中记录五类输出:风险识别 / 复用机会 / 替代方案 / 推荐方案 / 关键决策
|
|
160
|
+
□ 已叠加项目架构约束(分层规范、数据模型、接口规范)
|
|
161
|
+
□ 需求澄清结论已写入 .harness/changes/<change-name>/logs/execution-log.md,并在 events.ndjson 记录 decision
|
|
162
|
+
□ 用户问题未超预算:普通需求 1-3 问,高风险需求 5-7 问;无必须裁决事项时 0 问
|
|
163
|
+
□ 提问遵循"一次一问、等答再继续";能由 context pack / 阶段3代码探索 / CodeGraph 自答的问题已自答,未打扰用户
|
|
164
|
+
□ 每个需要用户决策的问题,AI 先给出了推荐答案、理由和取舍,用户仅确认或修正
|
|
165
|
+
□ 高风险/业务语义决策(范围、权限、安全、支付、迁移、删除、API契约、用户可见行为)已显式等待用户确认
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
> 不再检查 Superpowers brainstorming 是否安装或调用;阶段 4 是 harness 原生协议,不存在外部 skill 降级分支。
|
|
169
|
+
|
|
170
|
+
### 阶段 6:implementation-planning
|
|
171
|
+
|
|
172
|
+
阶段 6 执行完成后,确认以下事项:
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
□ 已读取 protocols.md,并按 implementation-planning-protocol 执行
|
|
176
|
+
□ 输入为阶段5已审核设计文档
|
|
177
|
+
□ 已生成基础任务列表,并在 execution-log 记录任务拆分摘要
|
|
178
|
+
□ 已叠加项目层序依赖(数据/契约→业务层→接口层)
|
|
179
|
+
□ 已生成 4 维度场景表(单元/接口/数据兼容/集成)
|
|
180
|
+
□ 已确定变更名(kebab-case)
|
|
181
|
+
□ 产物已写入 .harness/changes/<change-name>/plans/:
|
|
182
|
+
- <change-name>-plan.md(简洁任务表)
|
|
183
|
+
- <change-name>-implementation-detail.md(自适应详细执行参考)
|
|
184
|
+
- <change-name>-test-scenarios.md(测试场景表)
|
|
185
|
+
□ implementation-detail.md 按复杂度自适应:简单任务不过度展开,复杂任务写清接口/数据/顺序/风险/测试策略
|
|
186
|
+
□ plan / implementation-detail / test-scenarios 三件套互相引用一致,无 TBD/TODO/空泛占位
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
> 不再检查 Superpowers writing-plans 是否安装或调用;阶段 6 是 harness 原生协议,不存在 `docs/superpowers/` 同步分支。
|
|
190
|
+
|
|
191
|
+
## 阶段 8:结束前产物完整性检查 ⚠️ 强制
|
|
192
|
+
|
|
193
|
+
> **缺任一文件 → ❌FAIL,不得宣称 plan 完成。**
|
|
194
|
+
|
|
195
|
+
| 文件 | 必须存在 | 检查结果 |
|
|
196
|
+
|------|:---:|:---:|
|
|
197
|
+
| `.harness/changes/<change>/spec/<change>-design.md` | ✅ | □ |
|
|
198
|
+
| `.harness/changes/<change>/plans/<change>-plan.md` | ✅ | □ |
|
|
199
|
+
| `.harness/changes/<change>/plans/<change>-implementation-detail.md` | ✅ | □ |
|
|
200
|
+
| `.harness/changes/<change>/plans/<change>-test-scenarios.md` | ✅ | □ |
|
|
201
|
+
| `.harness/changes/<change>/meta/worktree.json` | ✅ | □ |
|
|
202
|
+
| `.harness/changes/<change>/logs/execution-log.md` | ✅ | □ |
|
|
203
|
+
| `.harness/changes/<change>/events.ndjson` | ✅ | □ |
|
|
204
|
+
|
|
205
|
+
### Plan 结束行为检查
|
|
206
|
+
|
|
207
|
+
```
|
|
208
|
+
□ 未询问 Subagent-Driven / Inline Execution 等执行模式
|
|
209
|
+
□ 最终输出只提示了产出物路径和下一步 /harness-run
|
|
210
|
+
□ 未将 docs/superpowers/ 列为最终产物路径
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
### Legacy Frontmatter 兼容
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
□ 已确认 plan 文件 frontmatter 存在
|
|
217
|
+
□ 如不存在 → 已从路径推断 change-name 和 plan-name
|
|
218
|
+
□ 如不存在 → 执行日志中已标记 🟡 legacy-plan
|
|
219
|
+
□ 旧 plan 不因 frontmatter 缺失而 FAIL
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
## 关键原则
|
|
223
|
+
|
|
224
|
+
- **产物路径唯一性**:`.harness/changes/<change-name>/` 是唯一真相源,plan 产物必须直接写入此目录
|
|
225
|
+
- **原生规划协议**:阶段 4/6 使用 clarification、decision-grilling、implementation-planning 三段内置协议,不运行时依赖 Superpowers/grill-me/writing-plans
|
|
226
|
+
- **阶段 2 是强制阻断检查点**——必须停下来问用户,收到回复后才能继续。不要跳过
|
|
227
|
+
- 代码探索只读不写——这个阶段的目标是理解,不是修改
|
|
228
|
+
- 场景表是后续所有步骤的真相源——宁可多花时间打磨,不要草草了事
|
|
229
|
+
- 如果需求不明确,优先提问而不是猜测后继续设计
|
|
230
|
+
- 任务拆分粒度按复杂度调整——plan 简表保持可追踪,implementation-detail 按风险和复杂度自适应展开
|
|
231
|
+
- **Plan 结束禁止询问执行模式**:Subagent-Driven / Inline Execution 属于 /harness-run 阶段
|
|
232
|
+
|
|
233
|
+
## 事件记录(前置规则)
|
|
234
|
+
|
|
235
|
+
- [ ] 确定 change-name 后立即 append `phase.start` 事件;各阶段用 `harness_events.py append` 写入 `decision` / `issue` / `artifact`
|
|
236
|
+
- [ ] 阶段 0 在 change-name 确定前可不写事件;阶段 1 确定 change-name 后必须开始记录
|
|
237
|
+
|
|
238
|
+
## 需求范围缩减后的 change-name 检查 ⚠️
|
|
239
|
+
|
|
240
|
+
- [ ] 阶段 4 澄清后,检查最终需求范围是否和 change-name 一致
|
|
241
|
+
- [ ] 如果用户取消某个需求,但 change-name 仍包含该需求关键词,必须建议重命名
|
|
242
|
+
- [ ] 重命名后同步目录名、spec/plan/scenarios 文件名、frontmatter、logs/execution-log、events.ndjson、meta/worktree.json
|
|
243
|
+
- [ ] 如果用户选择不重命名,记录 🟡WARN 到 events.ndjson(`issue` 或 `decision` 事件)
|