@hunter-harness/workflow-harness 0.4.8 → 0.4.10
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/harness/bundles/general/claude-code/.harness-build.json +1 -1
- package/harness/bundles/general/claude-code/CONTEXT.md +1 -1
- package/harness/bundles/general/claude-code/README.md +36 -38
- package/harness/bundles/general/claude-code/contracts/workflow-policy.json +0 -50
- package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/general/claude-code/harness-execute/SKILL.md +17 -17
- package/harness/bundles/general/{codex/harness-run/checklist.md → claude-code/harness-execute/coding-checklist.md} +9 -9
- package/harness/bundles/general/{codex/harness-run/reference.md → claude-code/harness-execute/coding-reference.md} +36 -36
- package/harness/bundles/general/{codex/harness-run → claude-code/harness-execute}/protocols.md +4 -4
- package/harness/bundles/general/{codebuddy/harness-test/checklist.md → claude-code/harness-execute/testing-checklist.md} +9 -10
- package/harness/bundles/general/claude-code/harness-execute/testing-pitfalls-java.md +21 -0
- package/harness/bundles/general/{codex/harness-test/pitfalls.md → claude-code/harness-execute/testing-pitfalls.md} +7 -7
- package/harness/bundles/general/claude-code/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-plan/SKILL.md +3 -3
- package/harness/bundles/general/claude-code/harness-plan/checklist.md +2 -1
- package/harness/bundles/general/claude-code/harness-plan/reference.md +8 -0
- package/harness/bundles/general/claude-code/harness-pull/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-push/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-review/SKILL.md +3 -3
- package/harness/bundles/general/claude-code/harness-review/checklist.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/checklist.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/reference.md +1 -1
- package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/general/claude-code/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/general/claude-code/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/general/claude-code/scripts/harness_context.py +71 -8
- package/harness/bundles/general/claude-code/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/claude-code/scripts/harness_events.py +17 -11
- package/harness/bundles/general/claude-code/scripts/harness_gate.py +95 -10
- package/harness/bundles/general/claude-code/scripts/harness_ledger.py +84 -4
- package/harness/bundles/general/claude-code/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/general/codebuddy/CONTEXT.md +1 -1
- package/harness/bundles/general/codebuddy/README.md +36 -38
- package/harness/bundles/general/codebuddy/contracts/workflow-policy.json +0 -50
- package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/general/codebuddy/harness-execute/SKILL.md +17 -17
- package/harness/bundles/general/{claude-code/harness-run/checklist.md → codebuddy/harness-execute/coding-checklist.md} +9 -9
- package/harness/bundles/general/codebuddy/{harness-run/reference.md → harness-execute/coding-reference.md} +36 -36
- package/harness/bundles/general/codebuddy/{harness-run → harness-execute}/protocols.md +4 -4
- package/harness/bundles/general/{codex/harness-test/checklist.md → codebuddy/harness-execute/testing-checklist.md} +9 -10
- package/harness/bundles/general/codebuddy/harness-execute/testing-pitfalls-java.md +21 -0
- package/harness/bundles/general/{claude-code/harness-test/pitfalls.md → codebuddy/harness-execute/testing-pitfalls.md} +7 -7
- package/harness/bundles/general/codebuddy/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +3 -3
- package/harness/bundles/general/codebuddy/harness-plan/checklist.md +2 -1
- package/harness/bundles/general/codebuddy/harness-plan/reference.md +8 -0
- package/harness/bundles/general/codebuddy/harness-pull/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-push/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-review/SKILL.md +3 -3
- package/harness/bundles/general/codebuddy/harness-review/checklist.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/checklist.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/reference.md +1 -1
- package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/general/codebuddy/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/general/codebuddy/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/general/codebuddy/scripts/harness_context.py +71 -8
- package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/codebuddy/scripts/harness_events.py +17 -11
- package/harness/bundles/general/codebuddy/scripts/harness_gate.py +95 -10
- package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +84 -4
- package/harness/bundles/general/codebuddy/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/codex/.harness-build.json +1 -1
- package/harness/bundles/general/codex/CONTEXT.md +1 -1
- package/harness/bundles/general/codex/README.md +36 -38
- package/harness/bundles/general/codex/contracts/workflow-policy.json +0 -50
- package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/general/codex/harness-execute/SKILL.md +17 -17
- package/harness/bundles/general/{cursor/harness-run/checklist.md → codex/harness-execute/coding-checklist.md} +9 -9
- package/harness/bundles/general/{cursor/harness-run/reference.md → codex/harness-execute/coding-reference.md} +36 -36
- package/harness/bundles/general/{claude-code/harness-run → codex/harness-execute}/protocols.md +4 -4
- package/harness/bundles/general/{cursor/harness-test/checklist.md → codex/harness-execute/testing-checklist.md} +9 -10
- package/harness/bundles/general/codex/harness-execute/testing-pitfalls-java.md +21 -0
- package/harness/bundles/general/{codebuddy/harness-test/pitfalls.md → codex/harness-execute/testing-pitfalls.md} +7 -7
- package/harness/bundles/general/codex/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-plan/SKILL.md +3 -3
- package/harness/bundles/general/codex/harness-plan/checklist.md +2 -1
- package/harness/bundles/general/codex/harness-plan/reference.md +8 -0
- package/harness/bundles/general/codex/harness-pull/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-push/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-review/SKILL.md +3 -3
- package/harness/bundles/general/codex/harness-review/checklist.md +1 -1
- package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-submit/checklist.md +1 -1
- package/harness/bundles/general/codex/harness-submit/reference.md +1 -1
- package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codex/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/general/codex/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/general/codex/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/general/codex/scripts/harness_context.py +71 -8
- package/harness/bundles/general/codex/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/codex/scripts/harness_events.py +17 -11
- package/harness/bundles/general/codex/scripts/harness_gate.py +95 -10
- package/harness/bundles/general/codex/scripts/harness_ledger.py +84 -4
- package/harness/bundles/general/codex/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/cursor/.harness-build.json +1 -1
- package/harness/bundles/general/cursor/CONTEXT.md +1 -1
- package/harness/bundles/general/cursor/README.md +36 -38
- package/harness/bundles/general/cursor/contracts/workflow-policy.json +0 -50
- package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/general/cursor/harness-execute/SKILL.md +17 -17
- package/harness/bundles/general/{codebuddy/harness-run/checklist.md → cursor/harness-execute/coding-checklist.md} +9 -9
- package/harness/bundles/general/{claude-code/harness-run/reference.md → cursor/harness-execute/coding-reference.md} +36 -36
- package/harness/bundles/general/cursor/{harness-run → harness-execute}/protocols.md +4 -4
- package/harness/bundles/general/{claude-code/harness-test/checklist.md → cursor/harness-execute/testing-checklist.md} +9 -10
- package/harness/bundles/general/cursor/harness-execute/testing-pitfalls-java.md +21 -0
- package/harness/bundles/general/cursor/{harness-test/pitfalls.md → harness-execute/testing-pitfalls.md} +7 -7
- package/harness/bundles/general/cursor/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-plan/SKILL.md +3 -3
- package/harness/bundles/general/cursor/harness-plan/checklist.md +2 -1
- package/harness/bundles/general/cursor/harness-plan/reference.md +8 -0
- package/harness/bundles/general/cursor/harness-pull/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-push/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-review/SKILL.md +3 -3
- package/harness/bundles/general/cursor/harness-review/checklist.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/checklist.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/reference.md +1 -1
- package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/cursor/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/general/cursor/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/general/cursor/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/general/cursor/scripts/harness_context.py +71 -8
- package/harness/bundles/general/cursor/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/cursor/scripts/harness_events.py +17 -11
- package/harness/bundles/general/cursor/scripts/harness_gate.py +95 -10
- package/harness/bundles/general/cursor/scripts/harness_ledger.py +84 -4
- package/harness/bundles/general/cursor/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/pi/.harness-build.json +1 -1
- package/harness/bundles/general/pi/CONTEXT.md +1 -1
- package/harness/bundles/general/pi/README.md +36 -38
- package/harness/bundles/general/pi/contracts/workflow-policy.json +0 -50
- package/harness/bundles/general/pi/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/general/pi/harness-execute/SKILL.md +17 -17
- package/harness/bundles/general/pi/harness-execute/coding-checklist.md +279 -0
- package/harness/bundles/general/pi/harness-execute/coding-reference.md +886 -0
- package/harness/bundles/general/pi/harness-execute/protocols.md +141 -0
- package/harness/bundles/general/pi/harness-execute/testing-checklist.md +358 -0
- package/harness/bundles/general/pi/harness-execute/testing-pitfalls-java.md +21 -0
- package/harness/bundles/general/pi/harness-execute/testing-pitfalls.md +307 -0
- package/harness/bundles/general/pi/harness-execute/testing-reference.md +880 -0
- package/harness/bundles/general/pi/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/general/pi/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-plan/SKILL.md +3 -3
- package/harness/bundles/general/pi/harness-plan/checklist.md +2 -1
- package/harness/bundles/general/pi/harness-plan/reference.md +8 -0
- package/harness/bundles/general/pi/harness-pull/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-push/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-review/SKILL.md +3 -3
- package/harness/bundles/general/pi/harness-review/checklist.md +1 -1
- package/harness/bundles/general/pi/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-submit/checklist.md +1 -1
- package/harness/bundles/general/pi/harness-submit/reference.md +1 -1
- package/harness/bundles/general/pi/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/pi/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/general/pi/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/general/pi/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/general/pi/scripts/harness_context.py +71 -8
- package/harness/bundles/general/pi/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/pi/scripts/harness_events.py +17 -11
- package/harness/bundles/general/pi/scripts/harness_gate.py +95 -10
- package/harness/bundles/general/pi/scripts/harness_ledger.py +84 -4
- package/harness/bundles/general/pi/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/claude-code/.harness-build.json +1 -1
- package/harness/bundles/java/claude-code/CONTEXT.md +1 -1
- package/harness/bundles/java/claude-code/README.md +36 -38
- package/harness/bundles/java/claude-code/contracts/workflow-policy.json +0 -50
- package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/java/claude-code/harness-execute/SKILL.md +49 -17
- package/harness/bundles/java/claude-code/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
- package/harness/bundles/java/claude-code/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
- package/harness/bundles/java/claude-code/harness-execute/protocols.md +141 -0
- package/harness/bundles/java/claude-code/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
- package/harness/bundles/java/claude-code/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
- package/harness/bundles/java/claude-code/harness-execute/testing-pitfalls.md +307 -0
- package/harness/bundles/java/claude-code/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-package/checklist.md +7 -7
- package/harness/bundles/java/claude-code/harness-plan/SKILL.md +3 -3
- package/harness/bundles/java/claude-code/harness-plan/checklist.md +2 -1
- package/harness/bundles/java/claude-code/harness-plan/reference.md +8 -0
- package/harness/bundles/java/claude-code/harness-pull/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-push/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-review/SKILL.md +3 -3
- package/harness/bundles/java/claude-code/harness-review/checklist.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/checklist.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/reference.md +1 -1
- package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/java/claude-code/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/java/claude-code/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/java/claude-code/scripts/harness_context.py +71 -8
- package/harness/bundles/java/claude-code/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/claude-code/scripts/harness_events.py +17 -11
- package/harness/bundles/java/claude-code/scripts/harness_gate.py +95 -10
- package/harness/bundles/java/claude-code/scripts/harness_ledger.py +84 -4
- package/harness/bundles/java/claude-code/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/java/codebuddy/CONTEXT.md +1 -1
- package/harness/bundles/java/codebuddy/README.md +36 -38
- package/harness/bundles/java/codebuddy/contracts/workflow-policy.json +0 -50
- package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/java/codebuddy/harness-execute/SKILL.md +49 -17
- package/harness/bundles/java/codebuddy/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
- package/harness/bundles/java/codebuddy/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
- package/harness/bundles/java/codebuddy/harness-execute/protocols.md +141 -0
- package/harness/bundles/java/codebuddy/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
- package/harness/bundles/java/codebuddy/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
- package/harness/bundles/java/codebuddy/harness-execute/testing-pitfalls.md +307 -0
- package/harness/bundles/java/codebuddy/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-package/checklist.md +7 -7
- package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +3 -3
- package/harness/bundles/java/codebuddy/harness-plan/checklist.md +2 -1
- package/harness/bundles/java/codebuddy/harness-plan/reference.md +8 -0
- package/harness/bundles/java/codebuddy/harness-pull/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-push/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-review/SKILL.md +3 -3
- package/harness/bundles/java/codebuddy/harness-review/checklist.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/checklist.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/reference.md +1 -1
- package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/java/codebuddy/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/java/codebuddy/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/java/codebuddy/scripts/harness_context.py +71 -8
- package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/codebuddy/scripts/harness_events.py +17 -11
- package/harness/bundles/java/codebuddy/scripts/harness_gate.py +95 -10
- package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +84 -4
- package/harness/bundles/java/codebuddy/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/codex/.harness-build.json +1 -1
- package/harness/bundles/java/codex/CONTEXT.md +1 -1
- package/harness/bundles/java/codex/README.md +36 -38
- package/harness/bundles/java/codex/contracts/workflow-policy.json +0 -50
- package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/java/codex/harness-execute/SKILL.md +49 -17
- package/harness/bundles/java/codex/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
- package/harness/bundles/java/codex/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
- package/harness/bundles/java/codex/harness-execute/protocols.md +141 -0
- package/harness/bundles/java/codex/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
- package/harness/bundles/java/codex/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
- package/harness/bundles/java/codex/harness-execute/testing-pitfalls.md +307 -0
- package/harness/bundles/java/codex/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-package/checklist.md +7 -7
- package/harness/bundles/java/codex/harness-plan/SKILL.md +3 -3
- package/harness/bundles/java/codex/harness-plan/checklist.md +2 -1
- package/harness/bundles/java/codex/harness-plan/reference.md +8 -0
- package/harness/bundles/java/codex/harness-pull/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-push/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-review/SKILL.md +3 -3
- package/harness/bundles/java/codex/harness-review/checklist.md +1 -1
- package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-submit/checklist.md +1 -1
- package/harness/bundles/java/codex/harness-submit/reference.md +1 -1
- package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codex/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/java/codex/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/java/codex/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/java/codex/scripts/harness_context.py +71 -8
- package/harness/bundles/java/codex/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/codex/scripts/harness_events.py +17 -11
- package/harness/bundles/java/codex/scripts/harness_gate.py +95 -10
- package/harness/bundles/java/codex/scripts/harness_ledger.py +84 -4
- package/harness/bundles/java/codex/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/cursor/.harness-build.json +1 -1
- package/harness/bundles/java/cursor/CONTEXT.md +1 -1
- package/harness/bundles/java/cursor/README.md +36 -38
- package/harness/bundles/java/cursor/contracts/workflow-policy.json +0 -50
- package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/java/cursor/harness-execute/SKILL.md +49 -17
- package/harness/bundles/java/cursor/{harness-run/checklist.md → harness-execute/coding-checklist.md} +6 -6
- package/harness/bundles/java/cursor/{harness-run/reference.md → harness-execute/coding-reference.md} +37 -37
- package/harness/bundles/java/cursor/harness-execute/protocols.md +141 -0
- package/harness/bundles/java/cursor/{harness-test/checklist.md → harness-execute/testing-checklist.md} +9 -9
- package/harness/bundles/java/cursor/{harness-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -1
- package/harness/bundles/java/cursor/harness-execute/testing-pitfalls.md +307 -0
- package/harness/bundles/java/cursor/{harness-test/reference.md → harness-execute/testing-reference.md} +13 -13
- package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-package/checklist.md +7 -7
- package/harness/bundles/java/cursor/harness-plan/SKILL.md +3 -3
- package/harness/bundles/java/cursor/harness-plan/checklist.md +2 -1
- package/harness/bundles/java/cursor/harness-plan/reference.md +8 -0
- package/harness/bundles/java/cursor/harness-pull/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-push/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-review/SKILL.md +3 -3
- package/harness/bundles/java/cursor/harness-review/checklist.md +1 -1
- package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-submit/checklist.md +1 -1
- package/harness/bundles/java/cursor/harness-submit/reference.md +1 -1
- package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/cursor/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/java/cursor/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/java/cursor/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/java/cursor/scripts/harness_context.py +71 -8
- package/harness/bundles/java/cursor/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/cursor/scripts/harness_events.py +17 -11
- package/harness/bundles/java/cursor/scripts/harness_gate.py +95 -10
- package/harness/bundles/java/cursor/scripts/harness_ledger.py +84 -4
- package/harness/bundles/java/cursor/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/pi/.harness-build.json +1 -1
- package/harness/bundles/java/pi/CONTEXT.md +1 -1
- package/harness/bundles/java/pi/README.md +36 -38
- package/harness/bundles/java/pi/contracts/workflow-policy.json +0 -50
- package/harness/bundles/java/pi/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-codebase-map/templates/TESTING.md +1 -1
- package/harness/bundles/java/pi/harness-execute/SKILL.md +49 -17
- package/harness/bundles/java/pi/harness-execute/coding-checklist.md +252 -0
- package/harness/bundles/java/pi/harness-execute/coding-reference.md +820 -0
- package/harness/bundles/java/pi/harness-execute/protocols.md +141 -0
- package/harness/bundles/java/pi/harness-execute/testing-checklist.md +320 -0
- package/harness/bundles/java/pi/harness-execute/testing-pitfalls-java.md +17 -0
- package/harness/bundles/java/pi/harness-execute/testing-pitfalls.md +307 -0
- package/harness/bundles/java/pi/harness-execute/testing-reference.md +792 -0
- package/harness/bundles/java/pi/harness-knowledge-ingest/SKILL.md +7 -1
- package/harness/bundles/java/pi/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-package/checklist.md +7 -7
- package/harness/bundles/java/pi/harness-plan/SKILL.md +3 -3
- package/harness/bundles/java/pi/harness-plan/checklist.md +2 -1
- package/harness/bundles/java/pi/harness-plan/reference.md +8 -0
- package/harness/bundles/java/pi/harness-pull/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-push/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-review/SKILL.md +3 -3
- package/harness/bundles/java/pi/harness-review/checklist.md +1 -1
- package/harness/bundles/java/pi/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/pi/harness-submit/checklist.md +1 -1
- package/harness/bundles/java/pi/harness-submit/reference.md +1 -1
- package/harness/bundles/java/pi/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/pi/protocols/evidence-based-reporting-protocol.md +1 -1
- package/harness/bundles/java/pi/protocols/ledger-protocol.md +8 -8
- package/harness/bundles/java/pi/protocols/sensitive-info-protocol.md +2 -2
- package/harness/bundles/java/pi/scripts/harness_context.py +71 -8
- package/harness/bundles/java/pi/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/pi/scripts/harness_events.py +17 -11
- package/harness/bundles/java/pi/scripts/harness_gate.py +95 -10
- package/harness/bundles/java/pi/scripts/harness_ledger.py +84 -4
- package/harness/bundles/java/pi/scripts/harness_profile.py +3 -3
- package/harness/manifests/general/claude-code.json +62 -70
- package/harness/manifests/general/codebuddy.json +62 -70
- package/harness/manifests/general/codex.json +62 -70
- package/harness/manifests/general/cursor.json +62 -70
- package/harness/manifests/general/pi.json +62 -70
- package/harness/manifests/java/claude-code.json +65 -73
- package/harness/manifests/java/codebuddy.json +65 -73
- package/harness/manifests/java/codex.json +65 -73
- package/harness/manifests/java/cursor.json +65 -73
- package/harness/manifests/java/pi.json +65 -73
- package/hunter-workflow-family.json +2 -2
- package/package.json +1 -1
- package/harness/bundles/general/claude-code/harness-run/SKILL.md +0 -207
- package/harness/bundles/general/claude-code/harness-test/SKILL.md +0 -270
- package/harness/bundles/general/claude-code/harness-test/pitfalls-java.md +0 -14
- package/harness/bundles/general/codebuddy/harness-run/SKILL.md +0 -188
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +0 -250
- package/harness/bundles/general/codebuddy/harness-test/pitfalls-java.md +0 -14
- package/harness/bundles/general/codex/harness-run/SKILL.md +0 -188
- package/harness/bundles/general/codex/harness-test/SKILL.md +0 -250
- package/harness/bundles/general/codex/harness-test/pitfalls-java.md +0 -14
- package/harness/bundles/general/cursor/harness-run/SKILL.md +0 -188
- package/harness/bundles/general/cursor/harness-test/SKILL.md +0 -250
- package/harness/bundles/general/cursor/harness-test/pitfalls-java.md +0 -14
- package/harness/bundles/general/pi/harness-run/SKILL.md +0 -188
- package/harness/bundles/general/pi/harness-run/checklist.md +0 -279
- package/harness/bundles/general/pi/harness-run/protocols.md +0 -141
- package/harness/bundles/general/pi/harness-run/reference.md +0 -886
- package/harness/bundles/general/pi/harness-test/SKILL.md +0 -250
- package/harness/bundles/general/pi/harness-test/checklist.md +0 -359
- package/harness/bundles/general/pi/harness-test/pitfalls-java.md +0 -14
- package/harness/bundles/general/pi/harness-test/pitfalls.md +0 -307
- package/harness/bundles/general/pi/harness-test/reference.md +0 -880
- package/harness/bundles/java/claude-code/harness-run/SKILL.md +0 -225
- package/harness/bundles/java/claude-code/harness-run/protocols.md +0 -141
- package/harness/bundles/java/claude-code/harness-test/SKILL.md +0 -284
- package/harness/bundles/java/claude-code/harness-test/pitfalls.md +0 -307
- package/harness/bundles/java/codebuddy/harness-run/SKILL.md +0 -206
- package/harness/bundles/java/codebuddy/harness-run/protocols.md +0 -141
- package/harness/bundles/java/codebuddy/harness-test/SKILL.md +0 -264
- package/harness/bundles/java/codebuddy/harness-test/pitfalls.md +0 -307
- package/harness/bundles/java/codex/harness-run/SKILL.md +0 -206
- package/harness/bundles/java/codex/harness-run/protocols.md +0 -141
- package/harness/bundles/java/codex/harness-test/SKILL.md +0 -264
- package/harness/bundles/java/codex/harness-test/pitfalls.md +0 -307
- package/harness/bundles/java/cursor/harness-run/SKILL.md +0 -206
- package/harness/bundles/java/cursor/harness-run/protocols.md +0 -141
- package/harness/bundles/java/cursor/harness-test/SKILL.md +0 -264
- package/harness/bundles/java/cursor/harness-test/pitfalls.md +0 -307
- package/harness/bundles/java/pi/harness-run/SKILL.md +0 -206
- package/harness/bundles/java/pi/harness-run/checklist.md +0 -252
- package/harness/bundles/java/pi/harness-run/protocols.md +0 -141
- package/harness/bundles/java/pi/harness-run/reference.md +0 -820
- package/harness/bundles/java/pi/harness-test/SKILL.md +0 -264
- package/harness/bundles/java/pi/harness-test/checklist.md +0 -320
- package/harness/bundles/java/pi/harness-test/pitfalls-java.md +0 -16
- package/harness/bundles/java/pi/harness-test/pitfalls.md +0 -307
- package/harness/bundles/java/pi/harness-test/reference.md +0 -792
- /package/harness/bundles/general/claude-code/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/general/codebuddy/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/general/codex/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/general/cursor/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/general/pi/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/java/claude-code/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/java/codebuddy/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/java/codex/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/java/cursor/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
- /package/harness/bundles/java/pi/{harness-test → harness-execute}/scripts/runtime-helpers.mjs +0 -0
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
"files": [
|
|
26
26
|
{
|
|
27
27
|
"path": ".harness-build.json",
|
|
28
|
-
"sha256": "
|
|
28
|
+
"sha256": "bd4ee4ff767b9ceaad93e3cab4168e201beffa309b9a24b97a363d058472c279"
|
|
29
29
|
},
|
|
30
30
|
{
|
|
31
31
|
"path": "CONTEXT.md",
|
|
32
|
-
"sha256": "
|
|
32
|
+
"sha256": "e0df950dbf8fa834cf6856815491caa4b0d2ec25d0d08fa9353edf385d576d34"
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
35
|
"path": "contracts/build-profile-v3.schema.json",
|
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
},
|
|
70
70
|
{
|
|
71
71
|
"path": "contracts/workflow-policy.json",
|
|
72
|
-
"sha256": "
|
|
72
|
+
"sha256": "1ef3485226c512d6195cb6762065e0acdb27a2b8c101ed5b793474e033a2ac49"
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
"path": "harness-apidoc/checklist.md",
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
},
|
|
82
82
|
{
|
|
83
83
|
"path": "harness-apidoc/SKILL.md",
|
|
84
|
-
"sha256": "
|
|
84
|
+
"sha256": "a395548e618bc24ea0462d779e50d5db17367f579ad99ed2b4ce62d93ac0953f"
|
|
85
85
|
},
|
|
86
86
|
{
|
|
87
87
|
"path": "harness-archive/checklist.md",
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
"path": "harness-archive/SKILL.md",
|
|
100
|
-
"sha256": "
|
|
100
|
+
"sha256": "3dcd85564cb1eed83c0afe936d23d3271140f802d0033332b4b5b26c0c2a1c7a"
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
"path": "harness-archive/templates/summary-data-template.json",
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
},
|
|
114
114
|
{
|
|
115
115
|
"path": "harness-codebase-map/SKILL.md",
|
|
116
|
-
"sha256": "
|
|
116
|
+
"sha256": "6996609f3df2a39ca77e08ebd174ef430a913d7b116e964947fa5d280acf6918"
|
|
117
117
|
},
|
|
118
118
|
{
|
|
119
119
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -149,23 +149,55 @@
|
|
|
149
149
|
},
|
|
150
150
|
{
|
|
151
151
|
"path": "harness-codebase-map/templates/TESTING.md",
|
|
152
|
-
"sha256": "
|
|
152
|
+
"sha256": "23ed1d9d408995821590c25b79910c54c3ccbf65af8b8b1059d928a0505f5cb4"
|
|
153
|
+
},
|
|
154
|
+
{
|
|
155
|
+
"path": "harness-execute/coding-checklist.md",
|
|
156
|
+
"sha256": "ba30f16624a2fef45d41e092e0f42a3dfc9335536f651e0c11db0528fe651a12"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"path": "harness-execute/coding-reference.md",
|
|
160
|
+
"sha256": "383edcbb3f17571916e2056fc3061ccd10f2f9ef32263c83c6f7d11d694fc973"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"path": "harness-execute/protocols.md",
|
|
164
|
+
"sha256": "24f2740253c04a17ea6bf54fcb00063eb49518cf16a4eefa9dd60a030b140a2d"
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"path": "harness-execute/scripts/runtime-helpers.mjs",
|
|
168
|
+
"sha256": "349fcdfb48bfbe4b16fcd4c349e14cd25dd6be0414d959a633eac9a06e5773c2"
|
|
153
169
|
},
|
|
154
170
|
{
|
|
155
171
|
"path": "harness-execute/SKILL.md",
|
|
156
|
-
"sha256": "
|
|
172
|
+
"sha256": "40f8256e298f2944b0da3f00bdde46f4b04774b339d8462ed365dd90e2ea428f"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"path": "harness-execute/testing-checklist.md",
|
|
176
|
+
"sha256": "d9002167cc8f45d0c2acf02a899220da227a7522a57e5137a42a620dbe93069c"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"path": "harness-execute/testing-pitfalls-java.md",
|
|
180
|
+
"sha256": "76e3ba343aa741756b963dfdf52b111797d1559ea40fd85c270597acce747717"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"path": "harness-execute/testing-pitfalls.md",
|
|
184
|
+
"sha256": "fddf38f41c8af3544c0aebc5a02f830c08fdf30298621b5916aed8b8b38010b0"
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
"path": "harness-execute/testing-reference.md",
|
|
188
|
+
"sha256": "17acda617f6cfb79a72db5c6567b14b9aafd585b68e1a332a8db9f1646741872"
|
|
157
189
|
},
|
|
158
190
|
{
|
|
159
191
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
160
|
-
"sha256": "
|
|
192
|
+
"sha256": "ff62e7468dbb4bd76e2841ccd2bbda6ee830bf973ed90a8f7c1295b41500d069"
|
|
161
193
|
},
|
|
162
194
|
{
|
|
163
195
|
"path": "harness-knowledge-query/SKILL.md",
|
|
164
|
-
"sha256": "
|
|
196
|
+
"sha256": "d8e04092f409fec9bf1d63ca35e45617008d1acb352fe6d341570cea82110263"
|
|
165
197
|
},
|
|
166
198
|
{
|
|
167
199
|
"path": "harness-package/checklist.md",
|
|
168
|
-
"sha256": "
|
|
200
|
+
"sha256": "6165b24622bb095d1ca59c586d352472c20250f9997246c0a4933681da99fee8"
|
|
169
201
|
},
|
|
170
202
|
{
|
|
171
203
|
"path": "harness-package/reference.md",
|
|
@@ -173,11 +205,11 @@
|
|
|
173
205
|
},
|
|
174
206
|
{
|
|
175
207
|
"path": "harness-package/SKILL.md",
|
|
176
|
-
"sha256": "
|
|
208
|
+
"sha256": "e3d9557fb9f7c390b834527a7adc4bffde30b2378eba7842e18fb1e26a388bcb"
|
|
177
209
|
},
|
|
178
210
|
{
|
|
179
211
|
"path": "harness-plan/checklist.md",
|
|
180
|
-
"sha256": "
|
|
212
|
+
"sha256": "d35fb45fed952001fa2c68aa71c0eb890e368f024ac6579f01a61dfe411f7a17"
|
|
181
213
|
},
|
|
182
214
|
{
|
|
183
215
|
"path": "harness-plan/protocols.md",
|
|
@@ -185,23 +217,23 @@
|
|
|
185
217
|
},
|
|
186
218
|
{
|
|
187
219
|
"path": "harness-plan/reference.md",
|
|
188
|
-
"sha256": "
|
|
220
|
+
"sha256": "cfb4a4ec17582bd841d2975c2e6458f86f1109db8b9ade569ced6b40b991e032"
|
|
189
221
|
},
|
|
190
222
|
{
|
|
191
223
|
"path": "harness-plan/SKILL.md",
|
|
192
|
-
"sha256": "
|
|
224
|
+
"sha256": "53f52ced87cf23480b3068330023a5f252be78a6407cea204c0598b50d1f345f"
|
|
193
225
|
},
|
|
194
226
|
{
|
|
195
227
|
"path": "harness-pull/SKILL.md",
|
|
196
|
-
"sha256": "
|
|
228
|
+
"sha256": "23fe219a580674150d6ad0de0d2b30773391d5d4bcfe3618d1ba88df74ffe146"
|
|
197
229
|
},
|
|
198
230
|
{
|
|
199
231
|
"path": "harness-push/SKILL.md",
|
|
200
|
-
"sha256": "
|
|
232
|
+
"sha256": "5cc3f8f7a87edeb6f7a7792503df3a2257141897cd9cadf071838f3e0eabee0b"
|
|
201
233
|
},
|
|
202
234
|
{
|
|
203
235
|
"path": "harness-review/checklist.md",
|
|
204
|
-
"sha256": "
|
|
236
|
+
"sha256": "4c03059a5ae2d1ae52ca322136d77a6c3d4fc32765cc0d5b418fabf73076aa22"
|
|
205
237
|
},
|
|
206
238
|
{
|
|
207
239
|
"path": "harness-review/protocols.md",
|
|
@@ -213,35 +245,19 @@
|
|
|
213
245
|
},
|
|
214
246
|
{
|
|
215
247
|
"path": "harness-review/SKILL.md",
|
|
216
|
-
"sha256": "
|
|
217
|
-
},
|
|
218
|
-
{
|
|
219
|
-
"path": "harness-run/checklist.md",
|
|
220
|
-
"sha256": "dac3671bff5b5b1ad1e041902b2c7071af27c1bdd47ec3c1c60bece7346d1342"
|
|
221
|
-
},
|
|
222
|
-
{
|
|
223
|
-
"path": "harness-run/protocols.md",
|
|
224
|
-
"sha256": "0f68e5cf0be33203d6c1399147e6a6e46c9b3f21493644778a30cd929dbf60ab"
|
|
225
|
-
},
|
|
226
|
-
{
|
|
227
|
-
"path": "harness-run/reference.md",
|
|
228
|
-
"sha256": "93c166ecfeaf6b3c948eab75238bd616fb22f5674739461bb666ed6eb0bccdc5"
|
|
229
|
-
},
|
|
230
|
-
{
|
|
231
|
-
"path": "harness-run/SKILL.md",
|
|
232
|
-
"sha256": "a2c3ec2e4e948733a1a9ba2ac3b597bb5f9b556f0959f2cdf078d64c53e51e98"
|
|
248
|
+
"sha256": "0c52db58fec2f73c7799cccbe7fe2cdfd18b032c21a25e5ef7bb4cfa5cb0c1d7"
|
|
233
249
|
},
|
|
234
250
|
{
|
|
235
251
|
"path": "harness-submit/checklist.md",
|
|
236
|
-
"sha256": "
|
|
252
|
+
"sha256": "a32f9b72591d567318e83ecab53e4495b1b6bcae81609a4de62d9a3dcf8fee55"
|
|
237
253
|
},
|
|
238
254
|
{
|
|
239
255
|
"path": "harness-submit/reference.md",
|
|
240
|
-
"sha256": "
|
|
256
|
+
"sha256": "19f8ba9a1aa8921b5cccd39f2e5f634400c87d99032c0fc943916f1dd099fd04"
|
|
241
257
|
},
|
|
242
258
|
{
|
|
243
259
|
"path": "harness-submit/SKILL.md",
|
|
244
|
-
"sha256": "
|
|
260
|
+
"sha256": "397412075ce0be275fa5ed17c0b0368e387c54cd63c0fae4bd693f0d0aae065b"
|
|
245
261
|
},
|
|
246
262
|
{
|
|
247
263
|
"path": "harness-sync/reference.md",
|
|
@@ -249,31 +265,7 @@
|
|
|
249
265
|
},
|
|
250
266
|
{
|
|
251
267
|
"path": "harness-sync/SKILL.md",
|
|
252
|
-
"sha256": "
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
"path": "harness-test/checklist.md",
|
|
256
|
-
"sha256": "20699c556b0baea99526f25ad55f3c850dad9213a619c7c0cd9c69ab1b8e3590"
|
|
257
|
-
},
|
|
258
|
-
{
|
|
259
|
-
"path": "harness-test/pitfalls-java.md",
|
|
260
|
-
"sha256": "7cd886ba86e39bfd7e274607f9a612dd16e30f3ea21524173291d3f8b49409ec"
|
|
261
|
-
},
|
|
262
|
-
{
|
|
263
|
-
"path": "harness-test/pitfalls.md",
|
|
264
|
-
"sha256": "93ba0f76c4b182e0fbabd25d883dd2970c87040b97ff8c69f835ad6f2759f21d"
|
|
265
|
-
},
|
|
266
|
-
{
|
|
267
|
-
"path": "harness-test/reference.md",
|
|
268
|
-
"sha256": "6a76595c85e7e9b9ca16f310391635c4bcd7d3da318d0d0e6edcdc038346783b"
|
|
269
|
-
},
|
|
270
|
-
{
|
|
271
|
-
"path": "harness-test/scripts/runtime-helpers.mjs",
|
|
272
|
-
"sha256": "349fcdfb48bfbe4b16fcd4c349e14cd25dd6be0414d959a633eac9a06e5773c2"
|
|
273
|
-
},
|
|
274
|
-
{
|
|
275
|
-
"path": "harness-test/SKILL.md",
|
|
276
|
-
"sha256": "bb00e4de72f6ac1de9121b99935cb4f227c5aa1a8305995785ee3cbb69bcd75c"
|
|
268
|
+
"sha256": "ffe73c5bbb448dba27c32ac0093c1f2ad7459e9b21c527a54ec44dbfabaa1eb9"
|
|
277
269
|
},
|
|
278
270
|
{
|
|
279
271
|
"path": "protocols/archive-report-protocol.md",
|
|
@@ -285,7 +277,7 @@
|
|
|
285
277
|
},
|
|
286
278
|
{
|
|
287
279
|
"path": "protocols/evidence-based-reporting-protocol.md",
|
|
288
|
-
"sha256": "
|
|
280
|
+
"sha256": "d423e1d834c1cb22a6f162856221a9733764cab21137090052bd15a03040acec"
|
|
289
281
|
},
|
|
290
282
|
{
|
|
291
283
|
"path": "protocols/execution-session-protocol.md",
|
|
@@ -297,7 +289,7 @@
|
|
|
297
289
|
},
|
|
298
290
|
{
|
|
299
291
|
"path": "protocols/ledger-protocol.md",
|
|
300
|
-
"sha256": "
|
|
292
|
+
"sha256": "5f14402325ce73eca35132088fa58524fc47f5c7067427aab4b3c86b75062e94"
|
|
301
293
|
},
|
|
302
294
|
{
|
|
303
295
|
"path": "protocols/memory-closeout-protocol.md",
|
|
@@ -321,7 +313,7 @@
|
|
|
321
313
|
},
|
|
322
314
|
{
|
|
323
315
|
"path": "protocols/sensitive-info-protocol.md",
|
|
324
|
-
"sha256": "
|
|
316
|
+
"sha256": "86e2a63ce5ba1503e64b0685aeab740946f9074d7e4d510eac04011c9eac12bd"
|
|
325
317
|
},
|
|
326
318
|
{
|
|
327
319
|
"path": "protocols/state-layout-protocol.md",
|
|
@@ -337,7 +329,7 @@
|
|
|
337
329
|
},
|
|
338
330
|
{
|
|
339
331
|
"path": "README.md",
|
|
340
|
-
"sha256": "
|
|
332
|
+
"sha256": "3ba0b3745717d50543f0b4122996b24f069b0efb9eb0a0d4ccf8a838a689fbfa"
|
|
341
333
|
},
|
|
342
334
|
{
|
|
343
335
|
"path": "scripts/harness_adoption_metrics.py",
|
|
@@ -361,11 +353,11 @@
|
|
|
361
353
|
},
|
|
362
354
|
{
|
|
363
355
|
"path": "scripts/harness_context.py",
|
|
364
|
-
"sha256": "
|
|
356
|
+
"sha256": "397c2c6c37a40a6989fc6eec35371db7f17775f52714a2285fcc6e2071d1d02d"
|
|
365
357
|
},
|
|
366
358
|
{
|
|
367
359
|
"path": "scripts/harness_deploy.py",
|
|
368
|
-
"sha256": "
|
|
360
|
+
"sha256": "d3d65375cde5a14d957f80f9bc83d32856fc77f61a2c18317f534b1b11d424a3"
|
|
369
361
|
},
|
|
370
362
|
{
|
|
371
363
|
"path": "scripts/harness_efficiency.py",
|
|
@@ -381,7 +373,7 @@
|
|
|
381
373
|
},
|
|
382
374
|
{
|
|
383
375
|
"path": "scripts/harness_events.py",
|
|
384
|
-
"sha256": "
|
|
376
|
+
"sha256": "0745291af0c1012351c56dbfa4c23d29c3c72162e31f075d3981415fa87391b3"
|
|
385
377
|
},
|
|
386
378
|
{
|
|
387
379
|
"path": "scripts/harness_execution_contracts.py",
|
|
@@ -393,7 +385,7 @@
|
|
|
393
385
|
},
|
|
394
386
|
{
|
|
395
387
|
"path": "scripts/harness_gate.py",
|
|
396
|
-
"sha256": "
|
|
388
|
+
"sha256": "191f1f2025702e3af9891cf9a8e346d152800ba6c35c0576402f4048e1b0c380"
|
|
397
389
|
},
|
|
398
390
|
{
|
|
399
391
|
"path": "scripts/harness_headless.py",
|
|
@@ -409,7 +401,7 @@
|
|
|
409
401
|
},
|
|
410
402
|
{
|
|
411
403
|
"path": "scripts/harness_ledger.py",
|
|
412
|
-
"sha256": "
|
|
404
|
+
"sha256": "97e27a8d585f5af0034bb79caf71aff15231a779da2fc9f331cb2430359fb9dc"
|
|
413
405
|
},
|
|
414
406
|
{
|
|
415
407
|
"path": "scripts/harness_migration_head.py",
|
|
@@ -445,7 +437,7 @@
|
|
|
445
437
|
},
|
|
446
438
|
{
|
|
447
439
|
"path": "scripts/harness_profile.py",
|
|
448
|
-
"sha256": "
|
|
440
|
+
"sha256": "4485c61fd09f544d22dd324fcca6f848e8dc193e0382192e8cc7d0336c417139"
|
|
449
441
|
},
|
|
450
442
|
{
|
|
451
443
|
"path": "scripts/harness_report_model.py",
|
|
@@ -7,9 +7,9 @@
|
|
|
7
7
|
"java"
|
|
8
8
|
],
|
|
9
9
|
"bundle_version": "0.2.73",
|
|
10
|
-
"content_sha256": "sha256:
|
|
10
|
+
"content_sha256": "sha256:69ca14d0260837d5ac8b7b7ec80fbebe6e173da81fb3351a7abe926683073e8f",
|
|
11
11
|
"minimumCliVersion": "0.2.92",
|
|
12
|
-
"workflowPackageVersion": "0.4.
|
|
12
|
+
"workflowPackageVersion": "0.4.10",
|
|
13
13
|
"capabilities": [
|
|
14
14
|
"sync@2",
|
|
15
15
|
"rules-sync@1",
|
package/package.json
CHANGED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: harness-run
|
|
3
|
-
description: "按变更簇执行 TDD 编码循环(RED→GREEN→REFACTOR→编译验证),逐变更簇实现计划中的任务。仅当用户显式调用 /harness-run 时使用;不得因用户提到编码/实现就自动触发,也不得被其他阶段 skill 自动接续。"
|
|
4
|
-
disable-model-invocation: true
|
|
5
|
-
argument-hint: "变更名 | --subagent | --inline | --fixback | 留空自动检测"
|
|
6
|
-
effort: medium
|
|
7
|
-
allowed-tools: [Read, Edit, Write, Glob, Grep, Bash(powershell.exe:*)]
|
|
8
|
-
disallowed-tools:
|
|
9
|
-
- Bash(git *)
|
|
10
|
-
- Bash(mvn *)
|
|
11
|
-
- Bash(ls *)
|
|
12
|
-
- Bash(find *)
|
|
13
|
-
- Bash(grep *)
|
|
14
|
-
- Bash(cat *)
|
|
15
|
-
- Bash(cp *)
|
|
16
|
-
- Bash(mv *)
|
|
17
|
-
- Bash(rm *)
|
|
18
|
-
- Bash(mkdir *)
|
|
19
|
-
- Bash(touch *)
|
|
20
|
-
- Bash(sed *)
|
|
21
|
-
- Bash(awk *)
|
|
22
|
-
- Bash(curl *)
|
|
23
|
-
- Bash(codegraph *)
|
|
24
|
-
---
|
|
25
|
-
<!-- generated by harness_deploy.py; core=3c6eec08da6f5a5c; overlay=none; agent=claude-code; do not edit -->
|
|
26
|
-
# harness-run — 需求编码
|
|
27
|
-
|
|
28
|
-
> **2026-08 阶段合并**:原 `run`(编码)与 `test`(验证)合并为单一 `execute` 阶段,
|
|
29
|
-
> 统一入口为 **`/harness-execute`**(`harness/harness-execute/SKILL.md`)。本 skill 作为
|
|
30
|
-
> 别名保留,frontmatter `name` 不变、内容照旧可用;门禁入参 `--phase run` 经
|
|
31
|
-
> `LEGACY_PHASE_ALIASES` 归一为 execute。别名至少保留一个 minor 版本,退役时间见
|
|
32
|
-
> `docs/harness-improvement-roadmap/`。下文出现的阶段名 `run`/`test` 均按别名解析。
|
|
33
|
-
|
|
34
|
-
## Purpose
|
|
35
|
-
|
|
36
|
-
基于 plan + test-scenarios,按**变更簇**执行 TDD(RED→GREEN→REFACTOR→构建验证),写入 verification-ledger。负责 worktree 创建/切换(见 worktree-gate)。
|
|
37
|
-
|
|
38
|
-
## When to Use
|
|
39
|
-
|
|
40
|
-
仅当用户显式调用 `/harness-run` 时执行;plan 完成后**不自动**进入本阶段。参数:`--subagent` 强制 Subagent-Driven;`--inline` 等同默认;`--fixback` 读最新 review fixback。**默认 Inline,不询问执行模式**。
|
|
41
|
-
|
|
42
|
-
**单阶段原则**:run 关门后必须停止并交还用户,仅提示 `plannedPhases` 中的真实下一阶段;禁止自动开始其他阶段。
|
|
43
|
-
|
|
44
|
-
## 前置条件
|
|
45
|
-
|
|
46
|
-
- 设计文档(`plans/*-design.md` 优先,回退 `spec/*-design.md`)与 `plans/*-plan.md`(含 frontmatter)存在且已审批
|
|
47
|
-
- 读 `meta/worktree.json`:`requested=true` 时 worktree 须存在或 run 负责创建
|
|
48
|
-
|
|
49
|
-
## Worktree 门禁
|
|
50
|
-
|
|
51
|
-
读取 `meta/worktree.json`(兼容旧路径 `worktree.json`):
|
|
52
|
-
|
|
53
|
-
| 条件 | 行为 |
|
|
54
|
-
|------|------|
|
|
55
|
-
| `requested=false` | 主目录执行 |
|
|
56
|
-
| `requested=true` + path 存在 | 切换 worktree 执行 |
|
|
57
|
-
| `requested=true` + path 不存在 | **必须创建**(run)或 **停止**(test/review/submit) |
|
|
58
|
-
|
|
59
|
-
**严禁** `requested=true` 时静默回主目录。创建失败 → 停止或 blocking user confirmation 降级(须 🟡WARN + 用户确认)。
|
|
60
|
-
|
|
61
|
-
**状态与代码分离**:代码/编译/测试在 `worktreeRoot`;`stateDir`(logs/events/ledger/reports)写回 `.harness/changes/<change-name>/`。
|
|
62
|
-
|
|
63
|
-
创建命令与 JSON 模板 → 各 skill `reference.md`(plan 写决策,run 创建/更新)。
|
|
64
|
-
> 片段:worktree-gate · 创建命令 → `reference.md`
|
|
65
|
-
|
|
66
|
-
## 统一读取协议
|
|
67
|
-
|
|
68
|
-
0. **脚本在 `<skills-root>/scripts/` 共享,不在每个 skill 子目录下** — 实际形态是 `.codebuddy/skills/scripts/harness_*.py`(`.claude`/`.cursor`/`.codex` 同理),**没有** `.../skills/harness-<phase>/scripts/`。plan、run/test、archive 三份执行日志里都先猜成后者、报 `No such file` 再靠 Search 找回来;照第一种写法直接用
|
|
69
|
-
1. **`.harness/changes/<change-name>/` 是唯一真相源** — 所有输入从该目录读取,产物写入对应子目录
|
|
70
|
-
2. **change-name 优先从 frontmatter 读取** — `plans/*-design.md`、`spec/*-design.md`、`plans/*-plan.md` 的 YAML `change-name`
|
|
71
|
-
3. **frontmatter 缺失时兼容旧格式** — 从路径推断,标记 `🟡 legacy-plan`,不失败
|
|
72
|
-
4. **design** — 设计真相源按序取第一个存在的:`plans/<change>-design.md`(v2 发布产物,哈希绑定)→ `spec/<change>-design.md`(legacy 手写)。两份**同时存在**时以 `plans/` 为准,并记 `🟡 WARN 设计文档双份`——v2 发布的那份才受完整性门禁保护,读手写的那份等于绕过校验
|
|
73
|
-
5. **plan** — 任务真相源:`plans/<change>-plan.md`
|
|
74
|
-
6. **implementation-detail** — 自适应执行参考;legacy 缺失 🟡WARN,不阻断
|
|
75
|
-
7. **test-scenarios** — 测试真相源:`plans/<change>-test-scenarios.md`
|
|
76
|
-
8. **禁止读取 `docs/superpowers/` 作为正式输入** — 旧草稿仅人工线索
|
|
77
|
-
9. **每个 skill 边界只刷新一次状态快照** — 先运行 `python <skills-root>/scripts/harness_state.py capture --project . --change-dir ".harness/changes/<change-name>" --json`。首次 Plan 捕获时,脚本把当时的 Git HEAD 写入不可变 `changeBase`;后续阶段只刷新 `git.head` 与各段指纹,不得用当前 HEAD 覆盖 `changeBase`。只有迁移旧 change 且已能证明真实计划起点时,才在首次补录时传 `--base <baseCommit>`。`changedSegments=[]` 时复用已有 profile/rules/map/change/code 指纹,不再重复跑全量 `harness-sync` 或代码库扫描。`knowledge` 段仅为兼容空段,知识始终按需远端查询;快照不能替代源码读取和验证门禁。
|
|
78
|
-
|
|
79
|
-
状态目录分层:新路径优先,旧路径兼容 → [[../protocols/state-layout-protocol.md|state-layout-protocol]]
|
|
80
|
-
> 片段:read-protocol · run 必读文件优先级 → `reference.md` Step 0
|
|
81
|
-
|
|
82
|
-
## 执行模式
|
|
83
|
-
|
|
84
|
-
默认 **Inline Execution**;仅 `--subagent` 切换 Subagent-Driven。
|
|
85
|
-
|
|
86
|
-
## Workflow 概要
|
|
87
|
-
|
|
88
|
-
0. 加载上下文:普通 Run 先 `harness_context.py prepare --project . --change <id> --phase run --executor <tool> --json`(`--project` 必填,漏了直接 argparse 报错),再 **`harness_context.py begin --project . --change <id> --phase run --executor <tool> --json`** 校验交接,最后运行 **`harness_gate.py begin --phase run --change <id>`**。<br>**交接凭证不必手工补**:v2 计划的 `plan finalize` 不写 context 事务,`prepare` 会在检测到 committed 的 `meta/publication-journals/*.json` 时自动补录 `plan → run` 凭证(凭证带 `bootstrapSource=plan_publication_journal` 留痕)。仍报 `HANDOFF_REQUIRED`/`LEGACY_BOOTSTRAP_REQUIRED` 说明**没有**这份发布证据——回到 plan 阶段确认发布是否真的完成,**不得**自己拼 `classify + configure-plan + close` 造凭证。`harness_gate.py` 会从当前已安装适配器自动识别 skills root;只有执行复制到别处的脚本时才显式传 `--skills-root`。`--fixback` 不得拼装这些底层步骤,必须只调用一次 `harness_fixback.py launch-review --project . --change <id> --change-dir <change-dir> --executor <tool> --skills-root <skills-root> --product-identity <当前产品身份> --json`:该命令会先筛选结构化评审项,再原子选择 Fixback 分支、确认上下文、取得 Run 门禁并创建已填充批次。返回 `FIXBACK_NOTHING_TO_APPLY` 时直接报告“本轮评审没有需要执行的代码修复”并停止;返回阻塞码时按 `recoveryAction` 停止,不搜索实现、不试探其他参数、不创建空批次。禁止手写 `events.ndjson` / `phase.end`。已连接平台时 begin 会 best-effort 补传事件,失败只告警。
|
|
89
|
-
0.5. **测试基础设施探测**(先写 `CHECKING`,四项证据齐备后再结论)→ `reference.md` Step 0.5;测试基线已由上一步 gate begin 内部建立,不得再次执行 guard begin
|
|
90
|
-
1. **变更簇 TDD** — `protocols.md` `run-tdd-protocol`;批量 RED/GREEN;按需 `change-cluster-review-protocol`(高风险 + reviewer 预检可用)
|
|
91
|
-
2. 构建验证 + **仅**通过 `harness_ledger.py record` 写 ledger(禁止 Write/Edit `verification-ledger.json`);若本阶段创建/删除了清单、锁文件、源码根或改变技术栈,最后一次产品编辑后、写账本与关门前必须执行 `harness_preflight.py detect --project . --json` 刷新 build profile。`record --project . --profile-input <key>` 会对缺失/陈旧 profile 自动检测并从同一 target 推导 scope、coverage、规范命令和输入闭包;不得再手填另一套身份。detect 在嵌套/多组件仓库返回 `DETECTION_AMBIGUOUS` 时,响应里的 `profileTemplate` 就是可填骨架(已含 defaultsFingerprint、excludedRoots 默认集与 commands 条目形状),按 `hint` 填好写入 `.harness/config/build-profile.json` 即可,**不要去反读 `harness_profile.py` 源码凑结构**。`diff-hash --change-dir` 纳入 ignored tests → `reference.md` Step 2c
|
|
92
|
-
3. **场景覆盖检查**(场景表映射,禁止用用例数冒充场景数)
|
|
93
|
-
4. **关门检查**(10 项)→ 只执行一次 `harness_gate.py close`;`--to-phase` 必须取返回的 `nextPhases` 或 `plannedPhases` 中 run 的真实后继,禁止写死 test。该命令内部关闭 test guard、写 `phase.end`、释放租约、写 handoff 并补传事件;不得再单独调用 test-guard/context close。失败时按结构化 `recoveryAction` 原样重试,已完成步骤幂等复用。
|
|
94
|
-
|
|
95
|
-
**阶段归属规则**:只用 `ownerPhase=run` 的任务和场景判定编码阶段结果。`ownerPhase=test` 的任务或场景按计划留给测试阶段属于正常移交,必须记录为“待测试阶段执行”,不得将编码阶段降级为 WARN;只有 run 自身负责的工作未完成、验证降级或证据异常时才使用 WARN。
|
|
96
|
-
|
|
97
|
-
> 关门脚本与本规则一致:`harness_gate.py close --phase run` 的 C9 场景覆盖只要求 `ownerPhase` 为 `plan`/`run` 的必需场景有通过 receipt,`ownerPhase=test` 的场景出现在返回值的 `deferred` 里,不阻断 run。若 run 关门报 `REQUIRED_SCENARIO_NOT_EXECUTED` 且缺的是接口/端到端场景,那是 `meta/scenario-manifest.json` 里 `ownerPhase` 标错了(或老清单没声明),应当修清单——**不要**为了过门在 run 阶段起服务补跑本属 test 的验证。
|
|
98
|
-
|
|
99
|
-
**Fixback**:入口只用 `launch-review`,后续问题处理通过 `resolve-issue/close` 驱动,不得把修复说明当成新的普通 Run。只读取返回的受影响问题和文件;验证仅失效与 `changedFiles` 相交的目标,其他 Test/Review 证据继续复用。RED 优先;`manual`、`workflow` 或未选用的建议不进入代码批次,使用中文记录处理结论。
|
|
100
|
-
|
|
101
|
-
**构建/测试执行入口**:所有构建与测试命令(mvn / gradle / npm test / pytest 等)必须经 `harness_test_runner.py exec` 发起,**禁止**用 `powershell.exe -Command` 直接裸跑:
|
|
102
|
-
|
|
103
|
-
```text
|
|
104
|
-
python <skills-root>/scripts/harness_test_runner.py exec --project . --timeout-seconds <预估上限> -- <构建命令及参数>
|
|
105
|
-
```
|
|
106
|
-
|
|
107
|
-
该入口持有项目级互斥锁并托管进程树。裸跑构建在宿主工具超时后会被推入后台,多个后台构建同时写同一个 `target/`、`build/` 或 `node_modules/.cache`,表现为编译产物被清空、日志文件被占用、"增量编译抖动"——这些都不是代码缺陷,是并发自相残杀,排查成本极高。`--timeout-seconds` 按最慢的一次全量构建估(默认 300 秒偏短),宁可给足也不要让命令被中途掐断。
|
|
108
|
-
|
|
109
|
-
返回 `TEST_RUN_ALREADY_ACTIVE`(退出码 3)说明**已有构建在跑**:等它结束或用 `lock-status` 查明持有者,**不得**改用裸跑绕开锁,也不得另起一个并行构建。确认持有进程已消失时才用 `lock-reap` 回收。
|
|
110
|
-
|
|
111
|
-
**长阶段租约**:`gate begin` 的租约默认 TTL 3600 秒,而 run 阶段常常跑得更久。租约过期不会中断执行,**也不再阻断收尾**:`gate close` 发现租约过期而 run-id 仍是本阶段的,会自动用原 run-id 重取并照常关门,只在返回体的 `leaseLapsed` 里记下这个阶段跑过了 TTL。过期本身不说明所有权变了——抢占会重写租约文件把 run-id 换掉,那时报的是 `LEASE_OWNER_MISMATCH`。
|
|
112
|
-
|
|
113
|
-
因此**不需要**为了长阶段定期续租。确实想让租约始终有效时,用本阶段原 run-id 刷新即可(同 run-id 重复 claim 即刷新,不会新开 attempt):
|
|
114
|
-
|
|
115
|
-
```text
|
|
116
|
-
python <skills-root>/scripts/harness_change.py claim --change <id> --phase run --run-id <本阶段 run-id> --ttl-seconds 3600 --json
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
仍然报 `LEASE_ABSENT` 说明这个阶段**根本没有租约记录**(从未 begin,或已被释放),不是超时;先确认 `gate begin` 真的跑过。报 `LEASE_INVALID` 说明租约文件损坏,无法证明没被抢占,需人工确认无并发后再用上面的命令重取。两种情况都**不要**重跑 `gate begin`——那会新开 attempt 并丢失本轮 capsule。
|
|
120
|
-
|
|
121
|
-
**执行器边界**:优先使用项目 build profile 和已有测试入口。禁止为了绕过 ESM、路径或参数问题临时生成 `.js`、`require` 脚本;需要文件式 runner 时使用项目已有入口,确需新增时遵循项目模块类型(例如 ESM 使用 `.mjs`)。runner 包装说明写入 `runnerCommand` 元数据,不得拼进账本的规范 `command`。
|
|
122
|
-
|
|
123
|
-
**Foundation Gate**:若 `meta/implementation-checkpoints.json` 中 `foundation-gate` 为 pending,不得开始 plan 中任务 6+;由 `harness_gate.py` 硬阻断。
|
|
124
|
-
|
|
125
|
-
## P0 执行可信度规则
|
|
126
|
-
|
|
127
|
-
- 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
|
|
128
|
-
- 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
|
|
129
|
-
- 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
|
|
130
|
-
|
|
131
|
-
## 生成内容语言约定
|
|
132
|
-
|
|
133
|
-
- sync/ingest 等生成的文档、规则、知识条目、架构说明一律**优先使用中文**撰写(标识符、命令、代码、API 字段名保持原文)
|
|
134
|
-
- 面向平台展示的标题/摘要/正文默认中文;仅当用户明确要求或目标系统强制时才用英文
|
|
135
|
-
> 片段:p0-trust
|
|
136
|
-
|
|
137
|
-
## 关键规则(硬门禁速查)
|
|
138
|
-
|
|
139
|
-
> 全文判定、示例、模板 → `reference.md`;ledger → `../protocols/ledger-protocol.md`
|
|
140
|
-
|
|
141
|
-
| 域 | 要点 |
|
|
142
|
-
|----|------|
|
|
143
|
-
| **文档输入** | 只读 `.harness/changes/<cn>/`;禁止 `docs/superpowers/` |
|
|
144
|
-
| **变更簇 TDD** | 一簇一次 RED/GREEN;低价值项豁免;新分支必须 RED |
|
|
145
|
-
| **RED/GREEN** | RED 须有效;静态验证 ≠ 测试通过;greenfield 大重写豁免见 reference |
|
|
146
|
-
| **Mapper/DB** | 纯 Mock 不得宣称 DB 验证通过;迁移脚本**永不自动执行** |
|
|
147
|
-
| **探测/ledger** | 基础设施先探测;每次构建/测试经 `harness_ledger.py record`;禁止手写 ledger JSON;用 canonical `diff-hash --change-dir` |
|
|
148
|
-
| **Gate/Guard** | 跨 Agent/阶段先用 `harness_context.py prepare/begin`;阶段门禁与上下文交接统一用 `harness_gate.py begin/close`;gate 内部负责 guard begin/close,模型只在需要记录测试来源或修复时调用 guard 的 `record/stage/mark` |
|
|
149
|
-
| **预存变更** | 保留 → baseline 隔离;存在则最终 ≥ 🟡WARN |
|
|
150
|
-
| **关门/状态** | 10 项关门检查;持久化 run-task-status;仅 run-owned P0 静态-only 导致 WARN;test-owned 待办正常移交 |
|
|
151
|
-
| **Worktree** | `requested=true` 时代码只写 worktree |
|
|
152
|
-
| **构建/测试** | 一律经 `harness_test_runner.py exec`;禁止裸跑 mvn/gradle/npm test;`TEST_RUN_ALREADY_ACTIVE` 表示已有构建在跑,等待而非另起 |
|
|
153
|
-
| **租约** | 阶段超 TTL 由 close 自动用原 run-id 重取,无需续租;`LEASE_ABSENT`(无记录)/`LEASE_INVALID`(文件损坏)才需人工 `harness_change.py claim`,一律不重跑 begin |
|
|
154
|
-
| **PowerShell** | 所有 git 经 `powershell.exe -NoProfile -Command` |
|
|
155
|
-
|
|
156
|
-
### 陈旧测试安全修复与精确跟踪
|
|
157
|
-
|
|
158
|
-
测试编译或 RED/GREEN 失败时,先区分当前实现缺陷、测试基础设施故障与陈旧测试。只有同时满足以下条件才允许自动修复陈旧测试:当前生产代码、已批准计划或可验证的历史变更能唯一确定新契约;修改范围仅限测试文件;修复后会立即重跑该测试及本变更目标测试。符合时以 `stale-test-repair` 记录:
|
|
159
|
-
|
|
160
|
-
```text
|
|
161
|
-
python <skills-root>/scripts/harness_test_guard.py record --project . --change-dir ".harness/changes/<change-name>" --files "<精确测试文件路径,逗号分隔>" --reason stale-test-repair --json
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
新建或正常更新测试分别使用 `tdd-created` / `test-updated`。若预期行为存在业务歧义,停止测试修复并记录 `BLOCKED_PREEXISTING`,不得猜测新断言。
|
|
165
|
-
|
|
166
|
-
**禁止临时排除测试**:不得将测试改名为 `.bak`、移出测试目录、删除、添加 `@Disabled`/`@Ignore`、修改 Surefire/Gradle exclude 或跳过测试来制造绿色结果;也不得仅为满足陈旧测试而修改生产代码。`.gitignore` 中的测试只能通过 manifest 的精确路径闭环处理,禁止全局放宽 ignore。
|
|
167
|
-
|
|
168
|
-
## Output Format
|
|
169
|
-
|
|
170
|
-
变更文件表 + 构建/测试证据 + 场景覆盖摘要 + 最终状态(✅OK / 🟡WARN / ❌FAIL)。→ `reference.md`
|
|
171
|
-
|
|
172
|
-
## 渐进披露
|
|
173
|
-
|
|
174
|
-
- **Read `protocols.md`** — run-tdd + change-cluster-review
|
|
175
|
-
- **Read `reference.md`** — Step 0–5 细节、TDD/RED/ledger/迁移/安全矩阵
|
|
176
|
-
- **Read `checklist.md`** — 逐步勾选
|
|
177
|
-
|
|
178
|
-
## 交互白名单
|
|
179
|
-
|
|
180
|
-
1. **预存变更**:保留 / 暂存 / 终止
|
|
181
|
-
2. **数据库迁移**:展示审查清单并确认(**永不自动执行**)
|
|
182
|
-
3. **worktree 创建失败**:是否改主目录
|
|
183
|
-
|
|
184
|
-
## 执行日志
|
|
185
|
-
|
|
186
|
-
`events.ndjson` 为唯一事实源(schema_version 3,兼容读取 v1/v2;`note` 承载人类可读摘要);`logs/execution-log.md` 由 `harness_events.py` 渲染,**禁止用 Write/Edit 直接维护**。直接修改的内容会在 `phase.end` 或 finalize 时被完整重建覆盖,属于数据丢失;需要保留的详情必须进入事件 `note`。结构 → [[../protocols/report-pipeline-protocol.md|report-pipeline-protocol]]
|
|
187
|
-
|
|
188
|
-
**`phase.start` 由 `harness_gate.py begin` 写,不要再手工追加一次。** 两条同 `run-id` 的
|
|
189
|
-
`phase.start` 会让 `plan finalize` 以 `PHASE_START_DUPLICATE` 卡死,而且手工那次会先触发
|
|
190
|
-
auto-seal、把正在开始的 attempt 封成 `RECOVERED`。要补触发指令说明就带 `--note` 跑 `gate begin`。
|
|
191
|
-
(重复追加现已按 `(phase, run-id)` 判为幂等 no-op,但依赖它不如不写。)
|
|
192
|
-
|
|
193
|
-
```powershell
|
|
194
|
-
# 阶段开始:gate begin 负责,note 在这里给
|
|
195
|
-
python <skills-root>/scripts/harness_gate.py begin --change-dir ".harness/changes/<change-name>" --phase <phase> --note "<触发指令>"
|
|
196
|
-
# 阶段中的其他事件才用 append
|
|
197
|
-
python <skills-root>/scripts/harness_events.py append --change-dir ".harness/changes/<change-name>" --phase <phase> --type <command|issue|verification> --run-id <phase-run-id> --note "<摘要>"
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
> **脚本接线**:`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 护栏解读。
|
|
201
|
-
|
|
202
|
-
> **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 边界保持最新。
|
|
203
|
-
|
|
204
|
-
每个阶段的 `phase.start` 与对应 `phase.end` 必须复用同一 `--run-id` / `--attempt`;阶段结束必须写 `--status OK|WARN|FAIL|BLOCKED`。重试同一阶段时生成新的 run-id 并增加 `--attempt <n>`,不得覆盖或伪装成一次执行。**`attempt` 按 phase 全局递增,不是按 run-id**:一个 run-id 只绑定一个 attempt,重试必须「新 run-id + 下一个 attempt」两者同时换,只换其一会撞 `EVENT_ATTEMPT_CONFLICT` 或 `PHASE_ALREADY_CLOSED`。已发布 plan 的修订通过重跑 `plan evidence-pack` + `plan finalize` 分配新 attempt(`harness_plan_finalize.py republish` 已于 0.3.0 移除)。
|
|
205
|
-
|
|
206
|
-
阶段跑得久(plan/run 常见)时用 `harness_context.py renew --project . --change <cn> --executor <tool>` 续租;租约到期本身不再阻断 `close`(同一 owner 的过期租约不构成冲突,收据里记 `leaseLapsed`),但续租能让 `view` 的状态如实反映在跑。跨工具继续执行时写 `--executor-tool <codex|claude-code|codebuddy|cursor>`,并在接棒事件写 `--handoff-from-tool` / `--handoff-reason`;也可由 `HUNTER_HARNESS_TOOL/AGENT/MODEL/RUN_ID` 环境变量统一注入。
|
|
207
|
-
> 片段:logging · phase=`run`
|