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,229 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-knowledge-ingest
|
|
3
|
+
description: 从 .harness/archive 归档整理、同步和维护项目知识索引。适用场景:ingest knowledge、sync
|
|
4
|
+
knowledge、rebuild knowledge index、promote knowledge、确认知识条目、检查知识库是否过期。
|
|
5
|
+
---
|
|
6
|
+
<!-- generated by harness_deploy.py; core=3797d93d2cf363a9; overlay=none; agent=codebuddy; do not edit -->
|
|
7
|
+
# harness-knowledge-ingest
|
|
8
|
+
|
|
9
|
+
从 `.harness/archive/**/reports/final/summary-data.json` 抽取项目知识,生成并维护本地 `.harness/knowledge/` 索引。
|
|
10
|
+
|
|
11
|
+
当前实现是本地、离线、无 LLM、无外部服务的 SQLite FTS MVP,已经支持基础生命周期:`candidate`、`stale`、`active`、`superseded`、`conflicted`。按新需求查询历史由独立的 `harness-knowledge-query` 负责。
|
|
12
|
+
|
|
13
|
+
## Triggers
|
|
14
|
+
|
|
15
|
+
- ingest knowledge
|
|
16
|
+
- sync knowledge
|
|
17
|
+
- rebuild knowledge index
|
|
18
|
+
- promote knowledge
|
|
19
|
+
- 确认知识条目
|
|
20
|
+
- 从归档生成知识索引
|
|
21
|
+
- 刷新项目知识库
|
|
22
|
+
- 检查知识库是否过期
|
|
23
|
+
|
|
24
|
+
## Required context
|
|
25
|
+
|
|
26
|
+
- AGENTS.md / CLAUDE.md
|
|
27
|
+
- `.harness/archive/**/reports/final/summary-data.json`
|
|
28
|
+
- `.harness/knowledge/index.json`
|
|
29
|
+
- `.harness/codebase/map-summary.md`(如存在)
|
|
30
|
+
- design.md
|
|
31
|
+
|
|
32
|
+
## Purpose
|
|
33
|
+
|
|
34
|
+
解决两个问题:
|
|
35
|
+
|
|
36
|
+
1. **整理知识库内容**:把归档里的 `businessGoal`、`changedFiles`、`maintenanceNotes`、`knownRisks`、`manualActions`、`verification`、`reviewSummary` 抽成知识条目。
|
|
37
|
+
2. **维护知识生命周期**:检查索引是否过期,保留 active 条目;高价值 candidate 可经人工确认提升,也可由 `auto` 首次写入的 `autoPromote` 配置按置信度门槛自动提升。
|
|
38
|
+
|
|
39
|
+
## Outputs
|
|
40
|
+
|
|
41
|
+
```text
|
|
42
|
+
.harness/knowledge/index.json
|
|
43
|
+
.harness/knowledge/index.sqlite
|
|
44
|
+
.harness/knowledge/entries/candidate/*.json
|
|
45
|
+
.harness/knowledge/entries/active/*.json
|
|
46
|
+
.harness/knowledge/entries/stale/*.json
|
|
47
|
+
.harness/knowledge/entries/superseded/*.json
|
|
48
|
+
.harness/knowledge/entries/conflicted/*.json
|
|
49
|
+
.harness/knowledge/cache/archive-entries/*.json
|
|
50
|
+
.harness/knowledge/reports/ingest-report-YYYYMMDD-HHmmss.md
|
|
51
|
+
.harness/knowledge/reports/verification-report-YYYYMMDD-HHmmss.md
|
|
52
|
+
.harness/knowledge/reports/validator-suggestions-YYYYMMDD-HHmmss.md
|
|
53
|
+
.harness/knowledge/reports/audit-report-YYYYMMDD-HHmmss.md
|
|
54
|
+
.harness/knowledge/views/knowledge-dashboard.md
|
|
55
|
+
.harness/knowledge/views/by-file.md
|
|
56
|
+
.harness/knowledge/views/stale-items.md
|
|
57
|
+
.harness/knowledge/views/superseded-items.md
|
|
58
|
+
.harness/knowledge/views/conflicted-items.md
|
|
59
|
+
.harness/knowledge/views/active-review.md
|
|
60
|
+
.harness/knowledge/views/knowledge.base
|
|
61
|
+
.harness/knowledge/context-packs/*.md
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## Commands
|
|
65
|
+
|
|
66
|
+
`<skill-dir>` 指本 skill 目录。所有 python 脚本命令通过 `powershell.exe -Command "..."` 执行。完整命令示例与 config.json 配置见 `reference.md`「Commands 详细」。
|
|
67
|
+
|
|
68
|
+
| 命令 | 用途 |
|
|
69
|
+
|---|---|
|
|
70
|
+
| `auto` | 一键防腐:首建 config、sync --update、suggest-validators、verify、audit;首次自动写 autoPromote 配置并提升高 confidence 条目 |
|
|
71
|
+
| `ingest` | 重建/刷新知识索引,抽取 candidate;`--no-incremental` 强制全量重抽取 |
|
|
72
|
+
| `sync` | 检查 index 与 archive/HEAD 一致性;`--update` 自动刷新 |
|
|
73
|
+
| `promote` | candidate→active(人工确认或 autoPromote 触发) |
|
|
74
|
+
| `demote` | active→stale/candidate(人工复核后) |
|
|
75
|
+
| `audit` | 生成 Candidate/Stale/Superseded/Conflict/Active Review 报告 |
|
|
76
|
+
| `verify` | 执行 entry validators,刷新 lifecycle.validation,生成 verification-report |
|
|
77
|
+
| `suggest-validators` | 生成 file_exists/file_contains validator 建议;`--apply` 写回 entry |
|
|
78
|
+
| `mcp` | FastMCP stdio 入口,暴露 9 个工具(见 reference.md) |
|
|
79
|
+
|
|
80
|
+
config.json 配置项(autoPromote / confidence / activeLifecycle / knowledgeValidation)详见 `reference.md`「Commands 详细」。
|
|
81
|
+
|
|
82
|
+
## Workflow
|
|
83
|
+
|
|
84
|
+
### Phase 0:确认项目根目录
|
|
85
|
+
|
|
86
|
+
项目根目录必须包含 `.harness/`。如果 `.harness/archive/` 不存在或没有 `summary-data.json`,报告当前项目暂无可索引归档,不要伪造知识。
|
|
87
|
+
|
|
88
|
+
### Phase 1:重建本地知识索引
|
|
89
|
+
|
|
90
|
+
运行:
|
|
91
|
+
|
|
92
|
+
```powershell
|
|
93
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' ingest --project '<project-root>'"
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
生成:
|
|
97
|
+
|
|
98
|
+
- `index.json`:人类可读 manifest。
|
|
99
|
+
- `index.sqlite`:SQLite FTS5 检索索引。
|
|
100
|
+
- `entries/candidate/`:自动抽取、待确认知识。
|
|
101
|
+
- `entries/stale/`:来源 commit 缺失、无法比较,或来源 commit 后相关文件变化的知识。
|
|
102
|
+
- `entries/active/`:人工确认后可长期引用的知识。
|
|
103
|
+
- `views/`:Obsidian 友好的浏览视图。
|
|
104
|
+
- `reports/`:本次 ingest 报告。
|
|
105
|
+
|
|
106
|
+
### Phase 2:同步检查
|
|
107
|
+
|
|
108
|
+
```powershell
|
|
109
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' sync --project '<project-root>'"
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
当 `upToDate=false` 时,应优先运行 `sync --update` 或 `ingest`,再交给 `harness-knowledge-query` 查询。
|
|
113
|
+
|
|
114
|
+
### Phase 3:人工确认高价值知识
|
|
115
|
+
|
|
116
|
+
如果某条 candidate 已确认仍然有效,并且会反复影响后续需求,可运行 `promote` 将其提升为 active。
|
|
117
|
+
|
|
118
|
+
active 条目适合保存:
|
|
119
|
+
|
|
120
|
+
- 需求约束
|
|
121
|
+
- 架构决策
|
|
122
|
+
- API contract
|
|
123
|
+
- 反复踩坑点
|
|
124
|
+
- 测试或发布前置条件
|
|
125
|
+
|
|
126
|
+
不要把一次性实现细节、过期临时方案、未验证结论提升为 active。
|
|
127
|
+
|
|
128
|
+
### Phase 4:解释同步结果
|
|
129
|
+
|
|
130
|
+
回复用户或交给后续 skill 前,应说明:
|
|
131
|
+
|
|
132
|
+
- 索引是否最新。
|
|
133
|
+
- 如需刷新,具体原因是 archive 增删、checksum 变化、sqlite 缺失,还是 HEAD 改变。
|
|
134
|
+
- 本次是否自动刷新。
|
|
135
|
+
- 当前 `active` / `candidate` / `stale` 的数量。
|
|
136
|
+
|
|
137
|
+
## Knowledge extraction rules
|
|
138
|
+
|
|
139
|
+
- Detect duplicate IDs, duplicate content, and conflicting active facts.
|
|
140
|
+
- Keep project-local entries excluded from any global index unless explicitly selected.
|
|
141
|
+
- Validate lifecycle relationships.
|
|
142
|
+
- Default generated entries are `candidate`; only config-gated `autoPromote` may promote high-confidence long-lived entries to `active`.
|
|
143
|
+
- Preserve provenance: every entry must include source archive, summary path, source commit, and source files when available.
|
|
144
|
+
- Do not edit `.harness/archive/**` during ingest.
|
|
145
|
+
- Do not copy secrets into `.harness/knowledge`.
|
|
146
|
+
|
|
147
|
+
## Lifecycle rules
|
|
148
|
+
|
|
149
|
+
- `candidate`:自动抽取但未人工确认。
|
|
150
|
+
- `active`:人工确认、显式 promote,或配置允许的高置信度 autoPromote 后可用。
|
|
151
|
+
- `stale`:来源 commit 缺失、来源 commit 后相关文件变化,或当前代码无法证明旧结论仍有效。
|
|
152
|
+
- `superseded`:被后续归档/决策取代。
|
|
153
|
+
- `conflicted`:与另一条 active/candidate 知识冲突。
|
|
154
|
+
|
|
155
|
+
## Forbidden actions
|
|
156
|
+
|
|
157
|
+
- auto_promote_candidate_knowledge_without_config_and_confidence_gate
|
|
158
|
+
- erase_conflicts
|
|
159
|
+
- include_project_local_by_default
|
|
160
|
+
- mutate_archive_evidence
|
|
161
|
+
- store_secrets
|
|
162
|
+
- treat_stale_knowledge_as_current_fact
|
|
163
|
+
|
|
164
|
+
## Allowed capabilities
|
|
165
|
+
|
|
166
|
+
- read
|
|
167
|
+
- search
|
|
168
|
+
- write_candidate_knowledge
|
|
169
|
+
- write_active_knowledge_after_manual_confirmation
|
|
170
|
+
- write_confidence_scores
|
|
171
|
+
- auto_promote_high_confidence_knowledge_when_configured
|
|
172
|
+
- write_knowledge_index
|
|
173
|
+
- write_obsidian_views
|
|
174
|
+
|
|
175
|
+
## Verification
|
|
176
|
+
|
|
177
|
+
本 skill 自带最小测试:
|
|
178
|
+
|
|
179
|
+
```powershell
|
|
180
|
+
powershell.exe -Command "python -m unittest '<skill-dir>\tests\test_harness_knowledge.py'"
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
完成脚本修改后必须至少运行该测试。若在真实项目中验证,还应运行:
|
|
184
|
+
|
|
185
|
+
```powershell
|
|
186
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' auto --project '<real-project-root>'"
|
|
187
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' ingest --project '<real-project-root>'"
|
|
188
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' suggest-validators --project '<real-project-root>' --limit 20"
|
|
189
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' verify --project '<real-project-root>'"
|
|
190
|
+
powershell.exe -Command "python '<skill-dir>\scripts\harness_knowledge.py' sync --project '<real-project-root>'"
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
并确认 `index.json`、`index.sqlite`、`views/knowledge-dashboard.md`、`reports/verification-report-*.md` 存在,且 sync 输出 `upToDate=true`。
|
|
194
|
+
|
|
195
|
+
## P0 执行可信度规则
|
|
196
|
+
|
|
197
|
+
- 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
|
|
198
|
+
- 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
|
|
199
|
+
- 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
|
|
200
|
+
|
|
201
|
+
## Output Format
|
|
202
|
+
|
|
203
|
+
执行完成后展示:
|
|
204
|
+
|
|
205
|
+
- 本次命令(ingest/sync/promote)与目标项目根。
|
|
206
|
+
- `upToDate` 及 `reasons`(sync)或新增/覆盖条目数(ingest/promote)。
|
|
207
|
+
- 当前 `active` / `candidate` / `stale` 数量统计。
|
|
208
|
+
- 产物路径(`index.json`、`index.sqlite`、`views/`、`reports/`)。
|
|
209
|
+
- 下一步建议(`upToDate=false` → `sync --update`;有 candidate → 人工确认后 `promote`,或项目启用 `autoPromote` 后让高置信度长期知识自动提升;查询历史 → `/harness-knowledge-query`)。
|
|
210
|
+
|
|
211
|
+
## 渐进披露
|
|
212
|
+
|
|
213
|
+
- **Read `reference.md`** 仅在执行命令或查阅 config.json 配置时 — 含 Commands 详细示例(9 命令的 powershell 示例 + config.json 配置)与变更日志(v1.7–v1.13 补充能力)。
|
|
214
|
+
|
|
215
|
+
## 交互白名单
|
|
216
|
+
|
|
217
|
+
**仅当** `.harness/config/harness.json` 中 `knowledge.manualReview=true` 时,promote/demote 高价值条目需 AskUserQuestion;否则按 skill 默认策略 + `decision` 事件。
|
|
218
|
+
|
|
219
|
+
## 执行日志
|
|
220
|
+
|
|
221
|
+
`events.ndjson` 为唯一事实源(schema_version 2,`note` 承载人类可读摘要);`logs/execution-log.md` 由 `harness_events.py` 渲染,**禁止手工 Edit**。结构 → [[../protocols/report-pipeline-protocol.md|report-pipeline-protocol]]
|
|
222
|
+
|
|
223
|
+
```powershell
|
|
224
|
+
python <skills-root>/scripts/harness_events.py append --change-dir ".harness/changes/<change-name>" --phase <phase> --type phase.start --note "<触发指令>"
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
> **脚本接线**:`harness_events.py append`;`harness_archive.py finalize`;`harness_preflight.py check`;`harness_ledger.py can-reuse`;`harness_service.py ensure/stop`(须 `--files`/`serviceStart.inputFiles`)。JSON 输出按 D13 护栏解读。
|
|
228
|
+
|
|
229
|
+
> **Task 4 §6.1 写入契约**:普通 `append` = 加锁 -> 追加一行 -> fsync -> 解锁,**不 load 历史、不渲染**(O(1),跨进程锁 `events.ndjson.lock`,UUID 用完整 `uuid4().hex` 无需去重扫描)。仅 `--type phase.end` append 在追加成功后渲染一次 `execution-log.md`;显式 `harness_events.py render` 随时从完整 events 重建;`harness_archive.py finalize` 在 collect 前强制 render 一次。高频 command append 期间 log 可能滞后,phase 边界保持最新。
|
package/resources/harness/{java → bundles/general/codebuddy}/harness-knowledge-ingest/reference.md
RENAMED
|
@@ -4,7 +4,7 @@ description: harness-knowledge-ingest 的命令详细示例、config.json 配置
|
|
|
4
4
|
|
|
5
5
|
# harness-knowledge-ingest 参考
|
|
6
6
|
|
|
7
|
-
本文件为 `harness-knowledge-ingest` 的渐进披露支持文件,承载 Commands 详细示例与变更日志。SKILL.md 只保留概要 + 渐进披露引用。`<skill-dir>` 指本 skill 目录,即
|
|
7
|
+
本文件为 `harness-knowledge-ingest` 的渐进披露支持文件,承载 Commands 详细示例与变更日志。SKILL.md 只保留概要 + 渐进披露引用。`<skill-dir>` 指本 skill 目录,即 `harness-knowledge-ingest/` 或知识库源目录中的 `harness-knowledge-ingest/`。所有 python 脚本命令通过 `powershell.exe -Command "..."` 执行,避开 Bash 在 Windows 中文路径下的编码/参数问题。
|
|
8
8
|
|
|
9
9
|
## Commands 详细
|
|
10
10
|
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-knowledge-query
|
|
3
|
+
description: 根据新需求、设计任务、代码修改请求或问题排查,在规划和编码前查询 .harness/knowledge
|
|
4
|
+
历史上下文。适用场景:query knowledge、查找历史需求、根据归档理解需求、继续之前类似开发、生成需求上下文包。
|
|
5
|
+
---
|
|
6
|
+
<!-- generated by harness_deploy.py; core=3797d93d2cf363a9; overlay=none; agent=codebuddy; do not edit -->
|
|
7
|
+
# harness-knowledge-query
|
|
8
|
+
|
|
9
|
+
根据用户的新需求或排查问题,从项目本地 `.harness/knowledge` 中检索历史需求、决策、实现、风险和测试证据,并生成 AI 可读的 context pack。
|
|
10
|
+
|
|
11
|
+
此 skill 只负责查询和使用知识。整理、同步和 promote 条目由 `harness-knowledge-ingest` 负责。
|
|
12
|
+
|
|
13
|
+
## Triggers
|
|
14
|
+
|
|
15
|
+
- query knowledge
|
|
16
|
+
- knowledge query
|
|
17
|
+
- 查找相关历史需求
|
|
18
|
+
- 根据历史归档理解这个需求
|
|
19
|
+
- 结合之前做过的内容
|
|
20
|
+
- 继续之前类似开发
|
|
21
|
+
- 生成需求上下文包
|
|
22
|
+
- 在规划前查历史
|
|
23
|
+
|
|
24
|
+
## Automatic Use
|
|
25
|
+
|
|
26
|
+
当用户提出新功能、改造、排查、设计方案、继续历史任务,且项目存在 `.harness/archive` 或 `.harness/knowledge` 时,AI 应主动运行本 skill,不需要等用户提醒。
|
|
27
|
+
|
|
28
|
+
如果 `.harness/knowledge/index.json` 不存在或已过期,先运行:
|
|
29
|
+
|
|
30
|
+
```powershell
|
|
31
|
+
powershell.exe -Command "python '<ingest-skill-dir>\scripts\harness_knowledge.py' sync --project '<project-root>' --update"
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
然后再查询。
|
|
35
|
+
|
|
36
|
+
## Commands
|
|
37
|
+
|
|
38
|
+
`<ingest-skill-dir>` 指同级 `harness-knowledge-ingest/` 目录;查询逻辑复用其脚本。所有 python 脚本命令通过 `powershell.exe -Command "..."` 执行,避开 Bash 在 Windows 中文路径下的编码/参数问题。
|
|
39
|
+
|
|
40
|
+
### Query by requirement
|
|
41
|
+
|
|
42
|
+
```powershell
|
|
43
|
+
powershell.exe -Command "python '<ingest-skill-dir>\scripts\harness_knowledge.py' query --project '<project-root>' --query '<用户需求原文>'"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Query with metadata filters
|
|
47
|
+
|
|
48
|
+
```powershell
|
|
49
|
+
powershell.exe -Command "python '<ingest-skill-dir>\scripts\harness_knowledge.py' query --project '<project-root>' --query '<需求或关键词>' --file '<source-file>' --status active"
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
可重复使用:
|
|
53
|
+
|
|
54
|
+
- `--file <path>`:只返回关联到指定文件的知识。
|
|
55
|
+
- `--status active|candidate|stale|superseded|conflicted`:按生命周期过滤。
|
|
56
|
+
- `--type requirement|decision|implementation|risk|test-evidence|pitfall|api-contract`:按知识类型过滤。
|
|
57
|
+
- `--limit <n>`:限制返回数量。
|
|
58
|
+
|
|
59
|
+
## Workflow
|
|
60
|
+
|
|
61
|
+
1. 确认项目根目录。
|
|
62
|
+
2. 运行 `sync --project <root>`。
|
|
63
|
+
3. 如果 `upToDate=false`,运行 `sync --update`。
|
|
64
|
+
4. 用用户原始需求作为 `--query` 查询。
|
|
65
|
+
5. 如已知道相关文件,追加 `--file` 过滤。
|
|
66
|
+
6. 读取 JSON 输出中的 `contextPack`。
|
|
67
|
+
7. 在 `harness-plan`、设计、代码探索或实现前,把 context pack 当作必读输入。
|
|
68
|
+
|
|
69
|
+
## Output Contract
|
|
70
|
+
|
|
71
|
+
查询输出 JSON 包含:
|
|
72
|
+
|
|
73
|
+
- `matchCount`
|
|
74
|
+
- `contextPack`
|
|
75
|
+
- `filters`
|
|
76
|
+
- `planInput`
|
|
77
|
+
- `matches`
|
|
78
|
+
|
|
79
|
+
`planInput.kind` 必须为 `harness-knowledge-context-pack`。后续 `harness-plan` 应读取 `planInput.path`。
|
|
80
|
+
|
|
81
|
+
每次查询还会更新稳定指针:
|
|
82
|
+
|
|
83
|
+
```text
|
|
84
|
+
.harness/knowledge/context-packs/latest.json
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
该文件包含最新 query、context pack 路径和 `matchIds`,供后续流程快速读取最近一次知识上下文。
|
|
88
|
+
|
|
89
|
+
## Interpretation Rules
|
|
90
|
+
|
|
91
|
+
- `active`:可优先采用,但仍要结合当前代码验证。
|
|
92
|
+
- `candidate`:有参考价值,不是当前事实。
|
|
93
|
+
- `stale`:只能作为历史线索,必须重新检查代码和归档。
|
|
94
|
+
- `superseded` / `conflicted`:必须显式提示风险,不得静默采用。
|
|
95
|
+
|
|
96
|
+
## Forbidden Actions
|
|
97
|
+
|
|
98
|
+
- rebuild_index_without_need
|
|
99
|
+
- treat_candidate_as_current_fact
|
|
100
|
+
- treat_stale_as_current_fact
|
|
101
|
+
- skip_context_pack_before_planning
|
|
102
|
+
- copy_large_archive_content_into_prompt
|
|
103
|
+
|
|
104
|
+
## Verification
|
|
105
|
+
|
|
106
|
+
```powershell
|
|
107
|
+
powershell.exe -Command "python -m unittest '<ingest-skill-dir>\tests\test_harness_knowledge.py'"
|
|
108
|
+
powershell.exe -Command "python '<ingest-skill-dir>\scripts\harness_knowledge.py' query --project '<real-project-root>' --query '<真实需求>'"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
确认输出中存在 `contextPack`、`planInput.kind=harness-knowledge-context-pack`,且 context pack 文件包含 `Before planning`。
|
|
112
|
+
|
|
113
|
+
## P0 执行可信度规则
|
|
114
|
+
|
|
115
|
+
- 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
|
|
116
|
+
- 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
|
|
117
|
+
- 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
|
|
118
|
+
|
|
119
|
+
## Output Format
|
|
120
|
+
|
|
121
|
+
执行完成后展示:
|
|
122
|
+
|
|
123
|
+
- 用户需求原文与生效的过滤条件(`--file`/`--status`/`--type`/`--limit`)。
|
|
124
|
+
- `matchCount` 与按状态分组的命中数(active/candidate/stale/superseded/conflicted)。
|
|
125
|
+
- `contextPack` 路径与 `latest.json` 指针。
|
|
126
|
+
- 命中 stale/superseded/conflicted 时显式提示风险。
|
|
127
|
+
- 下一步建议(context pack 已就绪 → 进入 `/harness-plan`;索引过期 → 先 `sync --update`)。
|
|
128
|
+
|
|
129
|
+
## 渐进披露
|
|
130
|
+
|
|
131
|
+
- 本 skill 暂无 `checklist.md` / `reference.md` 支持文件,规则全部在 SKILL.md。若 Output Contract / Interpretation Rules 后续扩展变重,应拆到 `reference.md`。
|
|
132
|
+
|
|
133
|
+
## 交互白名单
|
|
134
|
+
|
|
135
|
+
**无** AskUserQuestion;`stale`/`conflicted` 命中记 `issue`,不阻断 query。
|
|
136
|
+
|
|
137
|
+
## 执行日志
|
|
138
|
+
|
|
139
|
+
`events.ndjson` 为唯一事实源(schema_version 2,`note` 承载人类可读摘要);`logs/execution-log.md` 由 `harness_events.py` 渲染,**禁止手工 Edit**。结构 → [[../protocols/report-pipeline-protocol.md|report-pipeline-protocol]]
|
|
140
|
+
|
|
141
|
+
```powershell
|
|
142
|
+
python <skills-root>/scripts/harness_events.py append --change-dir ".harness/changes/<change-name>" --phase <phase> --type phase.start --note "<触发指令>"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
> **脚本接线**:`harness_events.py append`;`harness_archive.py finalize`;`harness_preflight.py check`;`harness_ledger.py can-reuse`;`harness_service.py ensure/stop`(须 `--files`/`serviceStart.inputFiles`)。JSON 输出按 D13 护栏解读。
|
|
146
|
+
|
|
147
|
+
> **Task 4 §6.1 写入契约**:普通 `append` = 加锁 -> 追加一行 -> fsync -> 解锁,**不 load 历史、不渲染**(O(1),跨进程锁 `events.ndjson.lock`,UUID 用完整 `uuid4().hex` 无需去重扫描)。仅 `--type phase.end` append 在追加成功后渲染一次 `execution-log.md`;显式 `harness_events.py render` 随时从完整 events 重建;`harness_archive.py finalize` 在 collect 前强制 render 一次。高频 command append 期间 log 可能滞后,phase 边界保持最新。
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-plan
|
|
3
|
+
description: 将需求转化为设计文档+实施计划+完整测试场景表,必须在编码前完成。使用场景:需求分析、feature plan、技术方案设计、实现方案规划
|
|
4
|
+
---
|
|
5
|
+
<!-- generated by harness_deploy.py; core=3797d93d2cf363a9; overlay=none; agent=codebuddy; do not edit -->
|
|
6
|
+
# harness-plan — 需求规划
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
需求 → 设计文档 → 任务拆分 → 测试场景表(编码/测试唯一真相源)。存在 `.harness/archive/` 或 `.harness/knowledge/` 时须先 `harness-knowledge-query`。
|
|
11
|
+
|
|
12
|
+
## When to Use
|
|
13
|
+
|
|
14
|
+
`/harness-plan`、新功能设计、技术方案、测试场景表规划。
|
|
15
|
+
|
|
16
|
+
## 统一读取协议
|
|
17
|
+
|
|
18
|
+
1. **`.harness/changes/<change-name>/` 是唯一真相源** — 所有输入从该目录读取,产物写入对应子目录
|
|
19
|
+
2. **change-name 优先从 frontmatter 读取** — `spec/*-design.md`、`plans/*-plan.md` 的 YAML `change-name`
|
|
20
|
+
3. **frontmatter 缺失时兼容旧格式** — 从路径推断,标记 `🟡 legacy-plan`,不失败
|
|
21
|
+
4. **spec** — 设计真相源:`spec/<change>-design.md`
|
|
22
|
+
5. **plan** — 任务真相源:`plans/<change>-plan.md`
|
|
23
|
+
6. **implementation-detail** — 自适应执行参考;legacy 缺失 🟡WARN,不阻断
|
|
24
|
+
7. **test-scenarios** — 测试真相源:`plans/<change>-test-scenarios.md`
|
|
25
|
+
8. **禁止读取 `docs/superpowers/` 作为正式输入** — 旧草稿仅人工线索
|
|
26
|
+
|
|
27
|
+
状态目录分层:新路径优先,旧路径兼容 → [[../protocols/state-layout-protocol.md|state-layout-protocol]]
|
|
28
|
+
|
|
29
|
+
## Worktree 门禁
|
|
30
|
+
|
|
31
|
+
读取 `meta/worktree.json`(兼容旧路径 `worktree.json`):
|
|
32
|
+
|
|
33
|
+
| 条件 | 行为 |
|
|
34
|
+
|------|------|
|
|
35
|
+
| `requested=false` | 主目录执行 |
|
|
36
|
+
| `requested=true` + path 存在 | 切换 worktree 执行 |
|
|
37
|
+
| `requested=true` + path 不存在 | **必须创建**(run)或 **停止**(test/review/submit) |
|
|
38
|
+
|
|
39
|
+
**严禁** `requested=true` 时静默回主目录。创建失败 → 停止或 AskUserQuestion 降级(须 🟡WARN + 用户确认)。
|
|
40
|
+
|
|
41
|
+
**状态与代码分离**:代码/编译/测试在 `worktreeRoot`;`stateDir`(logs/events/ledger/reports)写回 `.harness/changes/<change-name>/`。
|
|
42
|
+
|
|
43
|
+
创建命令与 JSON 模板 → 各 skill `reference.md`(plan 写决策,run 创建/更新)。
|
|
44
|
+
|
|
45
|
+
## 原生规划协议
|
|
46
|
+
|
|
47
|
+
内化为 `protocols.md`:`clarification-protocol`、`decision-grilling-protocol`、`implementation-planning-protocol`。不运行时调用 Superpowers/grill-me。
|
|
48
|
+
|
|
49
|
+
## Subagent 委派
|
|
50
|
+
|
|
51
|
+
- **阶段 3 探索**:`check-agents --agent harness-explorer` → 可用则委派,否则主会话探索;无效返回不 retry
|
|
52
|
+
- **阶段 7.5**:仅 `--adversarial`;`check-agents --agent harness-evaluator` → `reports/plan-review/`
|
|
53
|
+
|
|
54
|
+
## Workflow 概要
|
|
55
|
+
|
|
56
|
+
| 阶段 | 动作 |
|
|
57
|
+
|------|------|
|
|
58
|
+
| 0 | git status;脏工作区 → baseline 隔离 + `decision`,不询问 |
|
|
59
|
+
| 0.5 | `harness-knowledge-query`(失败记 `issue`) |
|
|
60
|
+
| 1 | 自动生成 change-name + 初始化 logs/events |
|
|
61
|
+
| 2–3 | 代码探索 + 需求澄清(高风险 → 交互白名单 ②) |
|
|
62
|
+
| 4 | **设计审批包** AskUserQuestion → 写 `spec/*-design.md` + `meta/worktree.json` |
|
|
63
|
+
| 5–6 | plan + implementation-detail + test-scenarios → `plans/` |
|
|
64
|
+
| 7.5 | 仅 `--adversarial` 对抗评审 |
|
|
65
|
+
| 8 | 产物完整性必检 → `checklist.md` |
|
|
66
|
+
|
|
67
|
+
change-name 范围变更 → 提示重命名或记 🟡WARN(→ `reference.md`)
|
|
68
|
+
|
|
69
|
+
## P0 执行可信度规则
|
|
70
|
+
|
|
71
|
+
- 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
|
|
72
|
+
- 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
|
|
73
|
+
- 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
|
|
74
|
+
|
|
75
|
+
## 关键规则
|
|
76
|
+
|
|
77
|
+
| 规则 | 要点 |
|
|
78
|
+
|------|------|
|
|
79
|
+
| 产物路径 | 只写 `.harness/changes/<cn>/`;禁止 superpowers 输入 |
|
|
80
|
+
| 设计审批包 | 一次 AskUserQuestion 含 worktree(读 `harness.json` `defaultWorktree`) |
|
|
81
|
+
| 阶段 8 | spec/plan/detail/scenarios/worktree.json/logs/events 缺一不可 → ❌FAIL |
|
|
82
|
+
| Plan 结束 | **禁止**询问执行模式;只提示 `/harness-run` |
|
|
83
|
+
| 知识查询 | 0.5 失败不得假装已读历史 |
|
|
84
|
+
| 协议 | sensitive-info / evidence-based-reporting / state-layout |
|
|
85
|
+
|
|
86
|
+
产出物表、frontmatter、legacy 兼容、结束输出模板 → `reference.md`
|
|
87
|
+
|
|
88
|
+
## 渐进披露
|
|
89
|
+
|
|
90
|
+
- **Read `checklist.md`** — 阶段检查与覆盖表
|
|
91
|
+
- **Read `protocols.md`** — 阶段 4/6 原生协议
|
|
92
|
+
- **Read `reference.md`** — 模板与 worktree JSON
|
|
93
|
+
|
|
94
|
+
## 交互白名单
|
|
95
|
+
|
|
96
|
+
1. **设计审批包**(阶段 4):设计 + 场景表 + worktree + change-name
|
|
97
|
+
2. **decision-grilling**(阶段 3 澄清):高风险业务裁决(一次一问)
|
|
98
|
+
|
|
99
|
+
## 执行日志
|
|
100
|
+
|
|
101
|
+
`events.ndjson` 为唯一事实源(schema_version 2,`note` 承载人类可读摘要);`logs/execution-log.md` 由 `harness_events.py` 渲染,**禁止手工 Edit**。结构 → [[../protocols/report-pipeline-protocol.md|report-pipeline-protocol]]
|
|
102
|
+
|
|
103
|
+
```powershell
|
|
104
|
+
python <skills-root>/scripts/harness_events.py append --change-dir ".harness/changes/<change-name>" --phase <phase> --type phase.start --note "<触发指令>"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
> **脚本接线**:`harness_events.py append`;`harness_archive.py finalize`;`harness_preflight.py check`;`harness_ledger.py can-reuse`;`harness_service.py ensure/stop`(须 `--files`/`serviceStart.inputFiles`)。JSON 输出按 D13 护栏解读。
|
|
108
|
+
|
|
109
|
+
> **Task 4 §6.1 写入契约**:普通 `append` = 加锁 -> 追加一行 -> fsync -> 解锁,**不 load 历史、不渲染**(O(1),跨进程锁 `events.ndjson.lock`,UUID 用完整 `uuid4().hex` 无需去重扫描)。仅 `--type phase.end` append 在追加成功后渲染一次 `execution-log.md`;显式 `harness_events.py render` 随时从完整 events 重建;`harness_archive.py finalize` 在 collect 前强制 render 一次。高频 command append 期间 log 可能滞后,phase 边界保持最新。
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-review
|
|
3
|
+
description: 6维度代码审查(架构/安全/规范/兼容/测试/性能),对照项目规则(见
|
|
4
|
+
.harness/context-index.json)和测试场景表,在隔离上下文运行。使用场景:代码审查、提交前检查、合并评审
|
|
5
|
+
---
|
|
6
|
+
<!-- generated by harness_deploy.py; core=3797d93d2cf363a9; overlay=none; agent=codebuddy; do not edit -->
|
|
7
|
+
# harness-review — 代码审查
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
对 git diff 进行6维度审查,对照项目规则和测试场景表,输出分级报告。**审查结果仅供参考,默认不阻塞后续 submit/archive 流程。**
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
使用此 Skill 当:
|
|
16
|
+
- 代码变更完成后需要审查
|
|
17
|
+
- 提交前需要质量检查
|
|
18
|
+
- 合并评审时需要系统性检查
|
|
19
|
+
- 用户说"审查代码"、"review"、"检查代码质量"
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
- `$ARGUMENTS`:变更名(可选,留空时自动扫描 `.harness/changes/*/plans/` 确定)
|
|
24
|
+
- 相关文件:`.harness/changes/*/plans/*-plan.md`、`项目规则(见 .harness/context-index.json)/`、测试场景表
|
|
25
|
+
|
|
26
|
+
## 前置条件
|
|
27
|
+
|
|
28
|
+
- `.harness/changes/<change-name>/plans/<change-name>-plan.md` 存在(任务真相源)
|
|
29
|
+
- 必须读取 `.harness/changes/<change-name>/meta/worktree.json`:`requested=true` 且 worktree 已创建 → 在 worktree 目录中执行审查;`requested=true` 但 worktree 不存在 → 停止,提示先修复 `harness-run`,不得静默回主目录
|
|
30
|
+
- **review 不阻塞后续流程**:test 报告缺失或未运行不阻止 review(review 是参考性阶段),但应在报告中标注 test 状态供参考
|
|
31
|
+
|
|
32
|
+
## 统一读取协议
|
|
33
|
+
|
|
34
|
+
1. **`.harness/changes/<change-name>/` 是唯一真相源** — 所有输入从该目录读取,产物写入对应子目录
|
|
35
|
+
2. **change-name 优先从 frontmatter 读取** — `spec/*-design.md`、`plans/*-plan.md` 的 YAML `change-name`
|
|
36
|
+
3. **frontmatter 缺失时兼容旧格式** — 从路径推断,标记 `🟡 legacy-plan`,不失败
|
|
37
|
+
4. **spec** — 设计真相源:`spec/<change>-design.md`
|
|
38
|
+
5. **plan** — 任务真相源:`plans/<change>-plan.md`
|
|
39
|
+
6. **implementation-detail** — 自适应执行参考;legacy 缺失 🟡WARN,不阻断
|
|
40
|
+
7. **test-scenarios** — 测试真相源:`plans/<change>-test-scenarios.md`
|
|
41
|
+
8. **禁止读取 `docs/superpowers/` 作为正式输入** — 旧草稿仅人工线索
|
|
42
|
+
|
|
43
|
+
状态目录分层:新路径优先,旧路径兼容 → [[../protocols/state-layout-protocol.md|state-layout-protocol]]
|
|
44
|
+
|
|
45
|
+
## Workflow
|
|
46
|
+
|
|
47
|
+
0. **启动准备** — 确定变更名(Glob `.harness/changes/*/plans/*-plan.md`,排除 `.harness/archive/*/`,读 frontmatter 提取 change-name);**append `phase.start` 事件**(不得等审查完成才补)
|
|
48
|
+
1. **读取 worktree 状态(门禁检查)** — 读 `.harness/changes/<change-name>/meta/worktree.json`:`requested=true` 但 worktree 不存在 → 停止并提示先修复 `harness-run`,不得静默回主目录(否则 git diff 为空);`requested=true` 且 worktree 已创建 → spawned agent 用该 worktree 路径执行 `git diff`(确保审查 worktree 变更而非主目录);`requested=false` → 审查主目录变更
|
|
49
|
+
<!-- @section-id review.delegate -->
|
|
50
|
+
### 2. 委派 harness-reviewer
|
|
51
|
+
|
|
52
|
+
先运行 `python <skills-root>/scripts/harness_preflight.py check-agents --skills-root <skills-root> --agent harness-reviewer --json`。`usable=false` → **直接主会话审查**,记 `decision` 事件,**不委派**。`usable=true` 时用 Agent spawn `harness-reviewer`(只读, 6 维度)。返回空 / 无报告正文 → **不 retry**,降级主会话审查。
|
|
53
|
+
|
|
54
|
+
3. **持久化报告(强制,主会话)** — Agent 返回后主会话 Write 到 `reports/review/review-report-*.md`。未 Write → 🟡WARN,不得宣称 review 完成。
|
|
55
|
+
4. **生成修复反馈(原生协议)** — 若报告存在 RED/YELLOW 问题,执行 `protocols.md` 的 `review-fixback-protocol`,将问题转化为结构化 fixback 清单并落盘到 `.harness/changes/<change-name>/reports/review/fixback-YYYYMMDD-HHmm.md`。若无 RED/YELLOW,记录 `review-fixback-protocol: skipped(no findings)`。不调用 Superpowers `receiving-code-review`,也不记录外部 skill 降级。
|
|
56
|
+
5. **收尾** — append `phase.end` / `artifact` 事件;控制台输出摘要
|
|
57
|
+
|
|
58
|
+
## Review 定位(重要)
|
|
59
|
+
|
|
60
|
+
**harness-review 是参考性代码审查阶段,不是硬门禁。**
|
|
61
|
+
|
|
62
|
+
| 等级 | 含义 | 后续影响 |
|
|
63
|
+
|:----:|------|----------|
|
|
64
|
+
| RED | 高风险建议,强烈建议处理 | 不阻塞后续流程 |
|
|
65
|
+
| YELLOW | 中低风险建议 | 不阻塞后续流程 |
|
|
66
|
+
| OK | 无问题 | 不阻塞后续流程 |
|
|
67
|
+
|
|
68
|
+
- 审查结果默认只作为参考,不阻塞 `/harness-submit`、`/harness-archive`
|
|
69
|
+
- 除非用户显式要求"review 结果阻塞提交",否则 review 不参与硬门禁
|
|
70
|
+
- Review 报告中**禁止写**:阻塞 submit / 必须修复后才能继续
|
|
71
|
+
- Review 报告中**应写**:建议优先处理 / 建议在 submit 前人工确认 / 建议补充测试 / 仅供参考,不阻塞后续 harness 流程
|
|
72
|
+
|
|
73
|
+
### 可选 strict-review-gate 配置
|
|
74
|
+
|
|
75
|
+
如果团队希望 review 结果阻塞提交,可在 `.harness/config/harness-test-config.md` 中设置:
|
|
76
|
+
|
|
77
|
+
```yaml
|
|
78
|
+
review:
|
|
79
|
+
strict-review-gate: true # 默认 false
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
当且仅当 `strict-review-gate: true` 时,review RED 才阻塞 submit。默认行为是 `strict-review-gate: false`。
|
|
83
|
+
|
|
84
|
+
## Output Format
|
|
85
|
+
|
|
86
|
+
审查报告保存到 `.harness/changes/<change-name>/reports/review/review-report-YYYYMMDD-HHmm.md`(时间戳区分多次运行),同时在控制台输出摘要。报告格式详见 `reference.md` 的「输出报告完整模板」。
|
|
87
|
+
|
|
88
|
+
## 渐进披露
|
|
89
|
+
|
|
90
|
+
- **Read `checklist.md`** 仅在执行完整6维度审查时 — 含6维度检查项详细列表 + 输出格式 + 执行日志记录模板
|
|
91
|
+
- **Read `reference.md`** 仅在需要理解审查标准或生成详细报告时 — 含"为什么需要审查"概述 + 严重级别判定标准 + 输出报告完整模板
|
|
92
|
+
- **Read `protocols.md`** 仅在 RED/YELLOW 问题需要转化为修复反馈时 — 含 `review-fixback-protocol` 的结构化 fixback 字段与落盘要求
|
|
93
|
+
|
|
94
|
+
## 原生修复反馈协议
|
|
95
|
+
|
|
96
|
+
`/harness-review` 不再运行时调用 Superpowers `receiving-code-review`。审查后的修复反馈能力内化为 `protocols.md` 的 `review-fixback-protocol`:
|
|
97
|
+
|
|
98
|
+
1. RED/YELLOW 问题转成 fixback 条目:严重级别、位置、风险、建议、验证方式、对 submit 的影响。
|
|
99
|
+
2. fixback 落盘到 `.harness/changes/<change-name>/reports/review/fixback-YYYYMMDD-HHmm.md`。
|
|
100
|
+
3. 无 RED/YELLOW 时记录跳过原因,不制造空修复任务。
|
|
101
|
+
|
|
102
|
+
## P0 执行可信度规则
|
|
103
|
+
|
|
104
|
+
- 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
|
|
105
|
+
- 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
|
|
106
|
+
- 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
|
|
107
|
+
|
|
108
|
+
## 关键规则(硬门禁速查)
|
|
109
|
+
|
|
110
|
+
> 每条规则的详细判定、检查项见 `checklist.md` 对应章节;Shell 执行安全见 `../protocols/powershell-protocol.md`,敏感信息见 `../protocols/sensitive-info-protocol.md`,证据化报告见 `../protocols/evidence-based-reporting-protocol.md`,状态目录见 `../protocols/state-layout-protocol.md`,结构化报告事件见 `../protocols/report-pipeline-protocol.md`。
|
|
111
|
+
|
|
112
|
+
### 一、只审查 git diff 变更部分
|
|
113
|
+
|
|
114
|
+
只审查本次 `git diff` 中的变更,不审查已有代码;diff 为空 → 直接返回"无变更可审查"。每个问题给出具体修复建议(文件:行号 + 建议做法)。
|
|
115
|
+
|
|
116
|
+
### 二、严重级别三态
|
|
117
|
+
|
|
118
|
+
RED=高风险建议(强烈建议处理),YELLOW=中低风险建议,OK=无问题。6维度逐文件审查(架构/安全/规范/兼容/测试/性能)—— 检查项见 `checklist.md`。判定标准见 `reference.md`「严重级别判定标准」。
|
|
119
|
+
|
|
120
|
+
### 三、review 结果仅供参考(不阻塞后续流程)
|
|
121
|
+
|
|
122
|
+
review 结果默认只作参考,不阻塞 submit/archive;报告措辞遵循 `## Review 定位(重要)` 的“禁止写/应写”清单,不得出现“阻塞 submit / 必须修复后才能继续”。
|
|
123
|
+
|
|
124
|
+
### 四、Shell 安全 / 敏感信息 / 证据化报告 / CodeGraph 探索
|
|
125
|
+
|
|
126
|
+
git diff/log 命令通过 `powershell.exe -Command "..."` 执行;review-report 中如发现明文 token/密码/密钥,必须列入 RED 问题并在报告中以 `<TOKEN_REDACTED>` 等占位符引用;RED/YELLOW/OK 结论必须基于实际 diff 内容,不得凭印象判断。代码探索必须优先使用 CodeGraph MCP 工具(`mcp__codegraph__codegraph_explore`),不允许通过普通 Bash 调 codegraph 命令(已列入 `disallowed-tools`);MCP 不可用时降级为 Grep/Glob + Read,并在执行日志记录降级原因。遵循 `../protocols/powershell-protocol.md` / `sensitive-info-protocol.md` / `evidence-based-reporting-protocol.md`。
|
|
127
|
+
|
|
128
|
+
## 交互白名单
|
|
129
|
+
|
|
130
|
+
**无** AskUserQuestion(审查全自动)。委派失败 → 主会话审查 + `decision` 事件。
|
|
131
|
+
|
|
132
|
+
## 执行日志
|
|
133
|
+
|
|
134
|
+
`events.ndjson` 为唯一事实源(schema_version 2,`note` 承载人类可读摘要);`logs/execution-log.md` 由 `harness_events.py` 渲染,**禁止手工 Edit**。结构 → [[../protocols/report-pipeline-protocol.md|report-pipeline-protocol]]
|
|
135
|
+
|
|
136
|
+
```powershell
|
|
137
|
+
python <skills-root>/scripts/harness_events.py append --change-dir ".harness/changes/<change-name>" --phase <phase> --type phase.start --note "<触发指令>"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
> **脚本接线**:`harness_events.py append`;`harness_archive.py finalize`;`harness_preflight.py check`;`harness_ledger.py can-reuse`;`harness_service.py ensure/stop`(须 `--files`/`serviceStart.inputFiles`)。JSON 输出按 D13 护栏解读。
|
|
141
|
+
|
|
142
|
+
> **Task 4 §6.1 写入契约**:普通 `append` = 加锁 -> 追加一行 -> fsync -> 解锁,**不 load 历史、不渲染**(O(1),跨进程锁 `events.ndjson.lock`,UUID 用完整 `uuid4().hex` 无需去重扫描)。仅 `--type phase.end` append 在追加成功后渲染一次 `execution-log.md`;显式 `harness_events.py render` 随时从完整 events 重建;`harness_archive.py finalize` 在 collect 前强制 render 一次。高频 command append 期间 log 可能滞后,phase 边界保持最新。
|