@hunter-harness/workflow-harness 0.4.3 → 0.4.9
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 +4 -3
- 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 +19 -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-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
- 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 +1 -1
- package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-plan/SKILL.md +2 -2
- package/harness/bundles/general/claude-code/harness-plan/checklist.md +1 -1
- package/harness/bundles/general/claude-code/harness-plan/reference.md +30 -3
- 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 +5 -5
- package/harness/bundles/general/claude-code/harness-review/checklist.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/general/claude-code/scripts/harness_change.py +74 -0
- package/harness/bundles/general/claude-code/scripts/harness_context.py +271 -10
- package/harness/bundles/general/claude-code/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/claude-code/scripts/harness_events.py +4 -1
- package/harness/bundles/general/claude-code/scripts/harness_gate.py +281 -77
- package/harness/bundles/general/claude-code/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/claude-code/scripts/harness_review.py +120 -0
- package/harness/bundles/general/claude-code/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +19 -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-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
- 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 +1 -1
- package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +2 -2
- package/harness/bundles/general/codebuddy/harness-plan/checklist.md +1 -1
- package/harness/bundles/general/codebuddy/harness-plan/reference.md +30 -3
- 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 +5 -5
- package/harness/bundles/general/codebuddy/harness-review/checklist.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/general/codebuddy/scripts/harness_change.py +74 -0
- package/harness/bundles/general/codebuddy/scripts/harness_context.py +271 -10
- package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/codebuddy/scripts/harness_events.py +4 -1
- package/harness/bundles/general/codebuddy/scripts/harness_gate.py +281 -77
- package/harness/bundles/general/codebuddy/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/codebuddy/scripts/harness_review.py +120 -0
- package/harness/bundles/general/codebuddy/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +19 -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-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
- 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 +1 -1
- package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-plan/SKILL.md +2 -2
- package/harness/bundles/general/codex/harness-plan/checklist.md +1 -1
- package/harness/bundles/general/codex/harness-plan/reference.md +30 -3
- 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 +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/general/codex/scripts/harness_change.py +74 -0
- package/harness/bundles/general/codex/scripts/harness_context.py +271 -10
- package/harness/bundles/general/codex/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/codex/scripts/harness_events.py +4 -1
- package/harness/bundles/general/codex/scripts/harness_gate.py +281 -77
- package/harness/bundles/general/codex/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/codex/scripts/harness_review.py +120 -0
- package/harness/bundles/general/codex/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +19 -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-test/pitfalls-java.md → harness-execute/testing-pitfalls-java.md} +2 -2
- 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 +1 -1
- package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-plan/SKILL.md +2 -2
- package/harness/bundles/general/cursor/harness-plan/checklist.md +1 -1
- package/harness/bundles/general/cursor/harness-plan/reference.md +30 -3
- 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 +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/general/cursor/scripts/harness_change.py +74 -0
- package/harness/bundles/general/cursor/scripts/harness_context.py +271 -10
- package/harness/bundles/general/cursor/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/cursor/scripts/harness_events.py +4 -1
- package/harness/bundles/general/cursor/scripts/harness_gate.py +281 -77
- package/harness/bundles/general/cursor/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/cursor/scripts/harness_review.py +120 -0
- package/harness/bundles/general/cursor/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +19 -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 +14 -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 +1 -1
- package/harness/bundles/general/pi/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/pi/harness-plan/SKILL.md +2 -2
- package/harness/bundles/general/pi/harness-plan/checklist.md +1 -1
- package/harness/bundles/general/pi/harness-plan/reference.md +30 -3
- 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 +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/general/pi/scripts/harness_change.py +74 -0
- package/harness/bundles/general/pi/scripts/harness_context.py +271 -10
- package/harness/bundles/general/pi/scripts/harness_deploy.py +2 -2
- package/harness/bundles/general/pi/scripts/harness_events.py +4 -1
- package/harness/bundles/general/pi/scripts/harness_gate.py +281 -77
- package/harness/bundles/general/pi/scripts/harness_profile.py +3 -3
- package/harness/bundles/general/pi/scripts/harness_review.py +120 -0
- package/harness/bundles/general/pi/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +51 -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} +1 -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 +1 -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 +2 -2
- package/harness/bundles/java/claude-code/harness-plan/checklist.md +1 -1
- package/harness/bundles/java/claude-code/harness-plan/reference.md +30 -3
- 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 +5 -5
- package/harness/bundles/java/claude-code/harness-review/checklist.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/SKILL.md +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/java/claude-code/scripts/harness_change.py +74 -0
- package/harness/bundles/java/claude-code/scripts/harness_context.py +271 -10
- package/harness/bundles/java/claude-code/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/claude-code/scripts/harness_events.py +4 -1
- package/harness/bundles/java/claude-code/scripts/harness_gate.py +281 -77
- package/harness/bundles/java/claude-code/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/claude-code/scripts/harness_review.py +120 -0
- package/harness/bundles/java/claude-code/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +51 -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} +1 -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 +1 -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 +2 -2
- package/harness/bundles/java/codebuddy/harness-plan/checklist.md +1 -1
- package/harness/bundles/java/codebuddy/harness-plan/reference.md +30 -3
- 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 +5 -5
- package/harness/bundles/java/codebuddy/harness-review/checklist.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/java/codebuddy/scripts/harness_change.py +74 -0
- package/harness/bundles/java/codebuddy/scripts/harness_context.py +271 -10
- package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/codebuddy/scripts/harness_events.py +4 -1
- package/harness/bundles/java/codebuddy/scripts/harness_gate.py +281 -77
- package/harness/bundles/java/codebuddy/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/codebuddy/scripts/harness_review.py +120 -0
- package/harness/bundles/java/codebuddy/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +51 -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} +1 -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 +1 -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 +2 -2
- package/harness/bundles/java/codex/harness-plan/checklist.md +1 -1
- package/harness/bundles/java/codex/harness-plan/reference.md +30 -3
- 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 +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/java/codex/scripts/harness_change.py +74 -0
- package/harness/bundles/java/codex/scripts/harness_context.py +271 -10
- package/harness/bundles/java/codex/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/codex/scripts/harness_events.py +4 -1
- package/harness/bundles/java/codex/scripts/harness_gate.py +281 -77
- package/harness/bundles/java/codex/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/codex/scripts/harness_review.py +120 -0
- package/harness/bundles/java/codex/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +51 -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} +1 -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 +1 -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 +2 -2
- package/harness/bundles/java/cursor/harness-plan/checklist.md +1 -1
- package/harness/bundles/java/cursor/harness-plan/reference.md +30 -3
- 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 +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/java/cursor/scripts/harness_change.py +74 -0
- package/harness/bundles/java/cursor/scripts/harness_context.py +271 -10
- package/harness/bundles/java/cursor/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/cursor/scripts/harness_events.py +4 -1
- package/harness/bundles/java/cursor/scripts/harness_gate.py +281 -77
- package/harness/bundles/java/cursor/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/cursor/scripts/harness_review.py +120 -0
- package/harness/bundles/java/cursor/scripts/harness_runtime.py +13 -0
- 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 +4 -3
- 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 +51 -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 +16 -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 +1 -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 +2 -2
- package/harness/bundles/java/pi/harness-plan/checklist.md +1 -1
- package/harness/bundles/java/pi/harness-plan/reference.md +30 -3
- 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 +2 -2
- 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 +2 -2
- 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_archive.py +28 -1
- package/harness/bundles/java/pi/scripts/harness_change.py +74 -0
- package/harness/bundles/java/pi/scripts/harness_context.py +271 -10
- package/harness/bundles/java/pi/scripts/harness_deploy.py +2 -2
- package/harness/bundles/java/pi/scripts/harness_events.py +4 -1
- package/harness/bundles/java/pi/scripts/harness_gate.py +281 -77
- package/harness/bundles/java/pi/scripts/harness_profile.py +3 -3
- package/harness/bundles/java/pi/scripts/harness_review.py +120 -0
- package/harness/bundles/java/pi/scripts/harness_runtime.py +13 -0
- package/harness/manifests/general/claude-code.json +65 -73
- package/harness/manifests/general/codebuddy.json +65 -73
- package/harness/manifests/general/codex.json +65 -73
- package/harness/manifests/general/cursor.json +65 -73
- package/harness/manifests/general/pi.json +65 -73
- package/harness/manifests/java/claude-code.json +68 -76
- package/harness/manifests/java/codebuddy.json +68 -76
- package/harness/manifests/java/codex.json +68 -76
- package/harness/manifests/java/cursor.json +68 -76
- package/harness/manifests/java/pi.json +68 -76
- package/hunter-workflow-family.json +2 -2
- package/package.json +15 -15
- 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/codebuddy/harness-run/SKILL.md +0 -188
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +0 -250
- 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/cursor/harness-run/SKILL.md +0 -188
- package/harness/bundles/general/cursor/harness-test/SKILL.md +0 -250
- 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
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
# harness-execute 执行检查清单
|
|
2
|
+
|
|
3
|
+
> 编码执行时逐项勾选,确保不遗漏关键步骤。
|
|
4
|
+
|
|
5
|
+
## 步骤 0:加载上下文
|
|
6
|
+
|
|
7
|
+
### 步骤 0.0:Worktree 决策执行 ⚠️
|
|
8
|
+
|
|
9
|
+
- [ ] 读取 `.harness/changes/<change-name>/worktree.json`
|
|
10
|
+
- [ ] 如果文件缺失:🟡WARN,按 legacy 逻辑询问用户是否主目录执行或创建 worktree
|
|
11
|
+
- [ ] `requested=false` → 主目录执行,记录原因
|
|
12
|
+
- [ ] `requested=true` 且 worktree 存在 → 切换到 worktree 执行
|
|
13
|
+
- [ ] `requested=true` 且 worktree 不存在 → 必须创建 worktree
|
|
14
|
+
- [ ] worktree 创建命令必须使用 PowerShell:`git worktree add ...`
|
|
15
|
+
- [ ] 创建后验证 `.worktrees/<change-name>/.git` 存在
|
|
16
|
+
- [ ] 创建成功后更新 `worktree.json` 的 `created=true/createdAt/createdBy`
|
|
17
|
+
- [ ] 创建失败 → 停止,或 blocking user confirmation 询问是否改为主目录执行
|
|
18
|
+
- [ ] 禁止 `requested=true && worktree 不存在` 时直接主目录执行
|
|
19
|
+
- [ ] 记录 `projectRoot / worktreeRoot / stateDir`
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
- [ ] 确定变更名:Glob 搜索 `.harness/changes/*/plans/*-plan.md`(排除 `.harness/archive/*/`),提取 `change-name`
|
|
24
|
+
- [ ] 读取并执行 `worktree.json`:如果 `requested=true` 必须创建/切换 worktree,创建失败则停止或询问用户改为主目录;禁止静默降级
|
|
25
|
+
- [ ] **读取计划文件(主任务源)**:`.harness/changes/<change>/plans/<change>-plan.md` — 获取任务列表和依赖关系
|
|
26
|
+
- [ ] **读取详细计划(补充参考)**:`.harness/changes/<change>/plans/<change>-implementation-detail.md`(如存在)
|
|
27
|
+
- [ ] **读取设计文档**:`.harness/changes/<change>/plans/<change>-design.md`(v2);不存在时回退 `spec/<change>-design.md`(legacy)— 获取核心设计决策和不变项
|
|
28
|
+
- [ ] **读取测试场景表**:`.harness/changes/<change>/plans/<change>-test-scenarios.md` — 获取与当前任务相关的测试场景
|
|
29
|
+
- [ ] **读取验证账本**:通过共享状态目录解析器定位 change,再读取 `evidence/verification-ledger.json`(兼容旧路径)— 复用已有 compile/unitTest 结果
|
|
30
|
+
- [ ] **读取任务状态**:`.harness/changes/<change>/run-task-status.md`(如存在)— 恢复上次运行状态
|
|
31
|
+
- [ ] 确认 `项目规则(见 .harness/context-index.json)/` 规则已加载
|
|
32
|
+
- [ ] 检查构建配置完整性(worktree 中确认 `.mvn/maven.config`、`settings.xml` 等存在)
|
|
33
|
+
- [ ] 读取 `.mvn/maven.config`,确认命令没有重复或覆盖项目已有的 `-s` / `-o` / 仓库设置
|
|
34
|
+
- [ ] 离线依赖缺失时仅在项目规则允许联网的前提下执行至多一次非离线 `-nsu` 恢复;禁止离线/联网循环重试
|
|
35
|
+
- [ ] 依赖模块预安装(worktree 中检查上游模块是否已 `mvn install`)
|
|
36
|
+
- [ ] 代码探索优先用 `codegraph_explore`,仅在返回不完整时补充 Read
|
|
37
|
+
- [ ] append `phase.start`(`note` 含测试基础设施 CHECKING 直至探测完成)
|
|
38
|
+
|
|
39
|
+
### 步骤 0.1:执行模式
|
|
40
|
+
|
|
41
|
+
- [ ] 默认 Inline;`--subagent` → Subagent-Driven;**不 blocking user confirmation 选模式**
|
|
42
|
+
|
|
43
|
+
## 步骤 0.5:测试基础设施探测(⚠️ 必须先于任何 TDD 降级结论)
|
|
44
|
+
|
|
45
|
+
> 探测完成前,执行日志中只能写 `**测试基础设施**: CHECKING`,不得写任何降级结论。
|
|
46
|
+
|
|
47
|
+
- [ ] 探测 1:`src/test/java` 目录是否存在
|
|
48
|
+
- [ ] 探测 2:`pom.xml` 是否包含 `spring-boot-starter-test` / `junit` / `mockito` 依赖
|
|
49
|
+
- [ ] 探测 3:是否存在已有测试文件(`*Test.java` 或 `*Tests.java`)
|
|
50
|
+
- [ ] 探测 4:目标模块测试基础设施是否可用(`mvn test-compile -pl <module> -o -q` 验证测试可编译,或测试枚举/秒级 smoke;**禁止完整模块测试**,spec §3.3)
|
|
51
|
+
- [ ] 四项证据收集完毕 → 写结论:✅ 测试基础设施可用 / 🟡 测试基础设施部分可用 / ❌ 测试基础设施不可用
|
|
52
|
+
- [ ] 如果 ❌ 不可用 → 记录 TDD 降级原因(必须引用具体证据,如"模块 X 无 src/test/java 目录")
|
|
53
|
+
|
|
54
|
+
## 步骤 0.2:预存变更检测与隔离
|
|
55
|
+
|
|
56
|
+
> 如果 run 开始前检测到已有未提交变更,必须执行此步骤。
|
|
57
|
+
|
|
58
|
+
- [ ] 检查 git status 是否有 run 前的预存变更
|
|
59
|
+
- [ ] 如果有预存变更 → 使用 blocking user confirmation 询问用户处理方式(保留/暂存/终止)
|
|
60
|
+
- [ ] 用户选择保留 → 创建 `.harness/changes/<change>/pre-existing-files.json`(文件列表 + diff hash + 用户选择)
|
|
61
|
+
- [ ] 用户选择保留 → 创建 `.harness/changes/<change>/pre-existing-diff.patch`(完整 diff 备份)
|
|
62
|
+
- [ ] 在执行日志中记录预存变更检测结果和用户选择
|
|
63
|
+
|
|
64
|
+
## 变更簇 TDD 循环
|
|
65
|
+
|
|
66
|
+
> 默认按变更簇执行 TDD,不按每个小任务单独 RED/GREEN。
|
|
67
|
+
|
|
68
|
+
### 步骤 1a:划分变更簇
|
|
69
|
+
|
|
70
|
+
- [ ] 读取 plan.md 任务列表,按业务行为分组为变更簇
|
|
71
|
+
- [ ] 检查是否有低价值 TDD 豁免项(ErrorCode 常量、VO/DTO 字段、注释、import 清理、格式化、SQL 脚本、配置模板、文档)→ 标记为豁免,不单独建测试类
|
|
72
|
+
- [ ] 确定每个变更簇的测试范围(哪些测试类合并执行)
|
|
73
|
+
- [ ] 确认变更簇内 Mapper 查询条件是否需要用真实 DB 验证(非纯 Mock)
|
|
74
|
+
|
|
75
|
+
### 进入变更簇 RED 前:执行 run-tdd-protocol
|
|
76
|
+
|
|
77
|
+
- [ ] 在写第一行测试代码或生产代码之前执行 `run-tdd-protocol`(详见 `../protocols.md#协议一run-tdd-protocol`)
|
|
78
|
+
- [ ] 测试基础设施可用 → 写真实 RED,记录:✅ 真实 RED 已建立
|
|
79
|
+
- [ ] 测试基础设施不可用 → 记录降级原因,降级为静态 RED
|
|
80
|
+
- [ ] RED 无效(测试搭建错误、private 访问限制、mock/stubbing 错误等)→ 必须先修测试,禁止进入 GREEN
|
|
81
|
+
|
|
82
|
+
### RED(写测试 — 按变更簇批量执行)
|
|
83
|
+
|
|
84
|
+
- [ ] 从场景表选取对应当前变更簇的测试用例
|
|
85
|
+
- [ ] 写单元测试(JUnit 5 + Mockito + AssertJ),**优先通过 public API 验证**(非 private 方法)
|
|
86
|
+
- [ ] **多个测试类合并到一次 Maven 命令执行**:`mvn test -pl <module> -Dtest=TestA,TestB,TestC -o`
|
|
87
|
+
- [ ] **RED 有效性判定**(必须逐项确认):
|
|
88
|
+
- [ ] 测试编译通过?(编译失败 → ❌无效 RED,先修测试)
|
|
89
|
+
- [ ] 未直接调用 private 方法?(private 访问限制 → ❌无效 RED)
|
|
90
|
+
- [ ] 失败断言指向目标业务行为?(mock/stubbing 错误 → ❌无效 RED)
|
|
91
|
+
- [ ] 失败原因与本次 bug/需求直接相关?(无关 → ❌无效 RED)
|
|
92
|
+
- [ ] 无 NoSuchBeanDefinitionException / NPE 来自测试搭建错误 / 不必要 stubbing?
|
|
93
|
+
- [ ] 判定结果写入执行日志:`RED: ✅有效 / 🟡部分有效 / ❌无效`
|
|
94
|
+
- [ ] 如果 ❌无效 RED → 必须先修测试,重新运行 RED,**禁止进入 GREEN**
|
|
95
|
+
- [ ] 如果无测试基础设施 → 降级为静态逻辑验证(在执行日志和覆盖报告中标注覆盖关系,**不得在业务代码注释中标注**)
|
|
96
|
+
|
|
97
|
+
### 低价值 TDD 豁免检查
|
|
98
|
+
|
|
99
|
+
- [ ] ErrorCode 常量 → 不单独建测试类,compile 验证 + 被高层测试间接覆盖
|
|
100
|
+
- [ ] VO/DTO 字段 → 不单独建测试类,被 service/API 测试间接覆盖
|
|
101
|
+
- [ ] 注释 / import 清理 / 格式化 → compile 验证即可
|
|
102
|
+
- [ ] SQL 迁移脚本 → 不做 TDD,生成审查清单,标记 NEEDS_DB_VALIDATION
|
|
103
|
+
- [ ] 配置模板 / 文档 → 静态审查
|
|
104
|
+
|
|
105
|
+
### Mapper 查询条件验证检查
|
|
106
|
+
|
|
107
|
+
- [ ] 如果变更涉及 Mapper 查询条件 / LambdaQueryWrapper / SQL/XML → 不得用纯 Mock 宣称"自动化测试通过"
|
|
108
|
+
- [ ] 纯 Mock Mapper 测试 → 标记为 🟡静态验证,交给 harness-execute 真实 DB 验证
|
|
109
|
+
- [ ] 如果必须自动化 → 使用真实 mapper 或可检查 wrapper 条件的测试方式
|
|
110
|
+
|
|
111
|
+
### GREEN(最简实现 — 按变更簇批量实现)
|
|
112
|
+
|
|
113
|
+
- [ ] 写最少代码让变更簇测试全部通过
|
|
114
|
+
- [ ] 遵循约束:Controller 只做参数校验和路由;Service 是唯一业务逻辑层;统一返回 `Result<T>`;集合返回空集合不返回 null;日志用 Slf4j;新增字段允许为空
|
|
115
|
+
|
|
116
|
+
### REFACTOR(重构)
|
|
117
|
+
|
|
118
|
+
- [ ] 在测试保护下重构代码结构
|
|
119
|
+
- [ ] 清理过程性注释(如 `// 修复分页查询缺项目类型 Bug`),改写为稳定业务规则描述或删除
|
|
120
|
+
- [ ] 重构后重新运行变更簇测试确认全部通过
|
|
121
|
+
|
|
122
|
+
### Maven 批量验证(变更簇间)
|
|
123
|
+
|
|
124
|
+
- [ ] 每个变更簇最多执行一次 RED Maven、一次 GREEN Maven — **不得每新增一个测试类就单独跑一次 Maven**
|
|
125
|
+
- [ ] 多个测试类合并执行:`mvn test -pl <module> -Dtest=TestA,TestB,TestC -o`
|
|
126
|
+
- [ ] 最终 compile 只执行一次(如前面已有 compile 成功证据,可复用 verification-ledger)
|
|
127
|
+
- [ ] 使用 `-q` 模式时:报告中写 `exitCode=0`,不得写 `BUILD SUCCESS`(除非输出中真实出现)
|
|
128
|
+
- [ ] 按需触发 `change-cluster-review-protocol`(详见 `../protocols.md#协议二change-cluster-review-protocol`)
|
|
129
|
+
|
|
130
|
+
## 步骤 2:编译验证(默认轻量,Maven 批量执行)
|
|
131
|
+
|
|
132
|
+
- [ ] `mvn compile -pl <module> -o`(始终执行,优先不用 `-q` 以获取 BUILD SUCCESS 证据)
|
|
133
|
+
- [ ] 如果使用 `-q` quiet 模式 → 报告中写 `exitCode=0`,**不得写 BUILD SUCCESS**
|
|
134
|
+
- [ ] 最终 compile 只执行一次,如果前面已有 compile 成功证据,可复用 verification-ledger
|
|
135
|
+
- [ ] 判断是否需要全量 `mvn test`:改了公共模块/mapper/sql/权限认证/controller/VO,或用户要求 full-run-validation → 执行 `mvn test -pl <module> -o`;否则跳过全量 test
|
|
136
|
+
- [ ] 编译失败 → 先分析错误类型(见 coding-reference.md 编译失败策略表)
|
|
137
|
+
- [ ] **写入 verification-ledger.json**:`compile` 项必写(status/command/scope/evidence/时间戳/durationMs);若执行了 mvn test 则 `unitTest` 项必写(testsRun/failures/errors/skipped/evidence);未执行时标记 `NOT_RUN_BY_RUN`
|
|
138
|
+
- [ ] 顶层写入 `diffHash` / `currentHead` / `baseCommit` / `module` / `profile`;`diffHash` **必须用三部分合并命令**(inline 见 reference 步骤 2c,与 ledger-protocol 五一致),**禁止仅用 `git diff` 未提交**;`currentHead`=`git rev-parse HEAD`
|
|
139
|
+
- [ ] test/submit/package 阶段如果 diffHash 一致,可复用 run 的 compile/unitTest 结果
|
|
140
|
+
|
|
141
|
+
## 步骤 3:场景覆盖检查
|
|
142
|
+
|
|
143
|
+
- [ ] 单元测试场景逐条确认覆盖
|
|
144
|
+
- [ ] 接口测试场景逐条确认代码逻辑覆盖
|
|
145
|
+
- [ ] 数据兼容场景逐条确认(新字段 nullable、旧格式兼容)
|
|
146
|
+
- [ ] 将覆盖结果展示给用户(✅/🟡/❌ 标注)
|
|
147
|
+
- [ ] **覆盖状态必须正确分类**:✅ 自动化测试通过 / 🟡 静态检查未真实测试 / ❌ 未验证
|
|
148
|
+
- [ ] 🟡 静态检查 **不得计入"已测试通过"**
|
|
149
|
+
- [ ] 如果任一 P0 场景仅静态验证 → 最终结果必须是 🟡WARN
|
|
150
|
+
- [ ] 最终摘要禁止写 `5✅ + 17🟡 = 22/22`,必须写 `自动化测试通过: 5 / 静态检查未真实验证: 17 / 未验证: 0`
|
|
151
|
+
|
|
152
|
+
### 权限/组织过滤类变更:安全矩阵
|
|
153
|
+
|
|
154
|
+
> 凡是修改了管理员/非管理员、orgCode、数据权限、越权异常等逻辑,必须强制生成。
|
|
155
|
+
|
|
156
|
+
- [ ] 生成安全矩阵(模板见 coding-reference.md)
|
|
157
|
+
- [ ] 覆盖:超级管理员 token 空/非空 × 请求 orgCode 空/指定 × projectType 有/无
|
|
158
|
+
- [ ] 覆盖:非管理员 token 本组织/空 × 请求 orgCode 本组织/其他组织/空 × projectType 有/无
|
|
159
|
+
- [ ] 如果任一权限边界预期不明确 → 不允许标记 ✅OK
|
|
160
|
+
|
|
161
|
+
## 步骤 4:关门检查(⚠️ 结束前强制执行)
|
|
162
|
+
|
|
163
|
+
- [ ] `git status --porcelain`
|
|
164
|
+
- [ ] `git diff --stat`
|
|
165
|
+
- [ ] `git diff --check`(如果失败 → 最终结果必须是 ❌FAIL)
|
|
166
|
+
- [ ] 变更文件是否全部在计划范围内
|
|
167
|
+
- [ ] 是否新增/修改了测试文件
|
|
168
|
+
- [ ] 是否误改 .harness/ 以外的非计划文件(如有 → 至少 🟡WARN,要求用户确认)
|
|
169
|
+
- [ ] 是否有 conflict marker:`<<<<<<<` / `=======` / `>>>>>>>`
|
|
170
|
+
- [ ] 是否有临时 debug:`System.out.println` / `console.log` / `debugger` / 临时 TODO/FIXME
|
|
171
|
+
- [ ] 是否有敏感信息:`password` / `token` / `secret` / `accessKey` / 私有 IP/URL
|
|
172
|
+
- [ ] 代码注释污染检查:生产代码中是否有 `// 修复 xxx Bug` / `// 本次变更` 等过程性注释(如有 → 必须在 REFACTOR 阶段清理)
|
|
173
|
+
|
|
174
|
+
### 变更来源区分(预存变更隔离)
|
|
175
|
+
|
|
176
|
+
- [ ] 区分本次 run 修改的文件 vs run 前预存变更的文件
|
|
177
|
+
- [ ] 输出变更来源表(文件 / 来源 / 是否计划内 / 是否允许提交)
|
|
178
|
+
- [ ] 如果存在预存变更 → 最终结果至少为 🟡WARN
|
|
179
|
+
|
|
180
|
+
### SQL 迁移任务审查清单
|
|
181
|
+
|
|
182
|
+
> 如果变更涉及 SQL 脚本,必须生成此清单。
|
|
183
|
+
|
|
184
|
+
- [ ] DROP INDEX 是否存在 IF EXISTS 或等效检查
|
|
185
|
+
- [ ] 新索引名称
|
|
186
|
+
- [ ] 新索引字段
|
|
187
|
+
- [ ] 是否包含 deleted_time
|
|
188
|
+
- [ ] 是否兼容已有数据
|
|
189
|
+
- [ ] 是否包含历史数据修正
|
|
190
|
+
- [ ] 是否需要备份
|
|
191
|
+
- [ ] 是否需要回滚 SQL
|
|
192
|
+
- [ ] SQL 脚本头部已标注"人工审查后手动执行,禁止自动运行"
|
|
193
|
+
- [ ] SQL 任务状态标记为 🟡 NEEDS_DB_VALIDATION(不得标记为自动化测试通过)
|
|
194
|
+
|
|
195
|
+
## 步骤 5:Worktree checkpoint commit(⚠️ 强制阻断)
|
|
196
|
+
|
|
197
|
+
> 仅在 worktree 中执行时触发此步骤。在主目录执行时跳过(标记 ⏭️主目录跳过)。
|
|
198
|
+
|
|
199
|
+
- [ ] 确认当前 cwd 在 `.worktrees/<change-name>/` 下
|
|
200
|
+
- [ ] 生成变更摘要:`git diff --stat` + `git diff --stat --cached`
|
|
201
|
+
- [ ] 构建 commit message:`wip(<scope>): <change-name> 编码完成 — N任务/M文件变更`
|
|
202
|
+
- [ ] **⚠️ 强制阻断**:用 blocking user confirmation 展示变更列表 + commit message,等待用户确认
|
|
203
|
+
- [ ] 用户确认 → 执行 `git add -A` + `git commit`(不用 --no-verify、--no-gpg-sign)
|
|
204
|
+
- [ ] 用户拒绝 → 记录 `❌用户拒绝`,继续后续流程
|
|
205
|
+
- [ ] 记录 checkpoint commit hash 到执行日志
|
|
206
|
+
|
|
207
|
+
## 步骤 6:计划状态持久化
|
|
208
|
+
|
|
209
|
+
- [ ] 每个任务状态更新到 plan 文件或新增 `run-task-status.md`
|
|
210
|
+
- [ ] 状态区分:✅ DONE_AUTOMATED_TESTED / 🟡 DONE_STATIC_ONLY / 🟡 DONE_NEEDS_INTERFACE_TEST / 🟡 NEEDS_DB_VALIDATION / ❌ FAILED
|
|
211
|
+
- [ ] 确保后续 harness-execute / harness-review 可读取待验证场景
|
|
212
|
+
|
|
213
|
+
## 执行日志完成记录
|
|
214
|
+
|
|
215
|
+
- [ ] 追加结束时间、耗时、结果、摘要、checkpoint commit 状态
|
|
216
|
+
- [ ] **执行日志去重检查**:同一阶段不重复追加小节,如需补充应 Edit 原小节
|
|
217
|
+
- [ ] 如果存在 🟡静态验证 P0 场景 → 下一步必须写 `必须先运行 /harness-execute`,不得并列"提交代码"
|
|
218
|
+
- [ ] 如果存在 SQL 迁移/DB 验证未完成 → 最终不得输出纯 ✅OK
|
|
219
|
+
|
|
220
|
+
### 最终状态分级
|
|
221
|
+
|
|
222
|
+
- [ ] **✅OK**:所有计划内代码变更完成 + 关键 P0 场景已自动化测试通过 + compile 成功 + 无预存变更或已隔离 + 无非计划文件混入 + 无 P0 静态-only 场景
|
|
223
|
+
- [ ] **🟡WARN**:存在 P0/P1 场景仅静态验证 / 存在预存变更 / SQL 需人工执行 / Mapper 只做静态验证 / 低价值 Mock 替代真实验证
|
|
224
|
+
- [ ] **❌FAIL**:compile 失败 / 有效测试失败 / RED 无法建立 / 非计划文件被修改且无法解释 / git diff --check 失败
|
|
225
|
+
- [ ] 如果存在 SQL 迁移/接口验证/DB 验证未完成 → 最终输出 🟡WARN,不得纯 ✅OK
|
|
226
|
+
|
|
227
|
+
## events 记录(禁止手工 Edit execution-log)
|
|
228
|
+
|
|
229
|
+
- [ ] 步骤 0 前 append `phase.start`
|
|
230
|
+
- [ ] TDD/compile/test 写 `command` + `verification`;预存/worktree/降级写 `decision`/`issue`
|
|
231
|
+
- [ ] `execution-log.md` 仅由 `harness_events.py` 渲染
|
|
232
|
+
|
|
233
|
+
## PowerShell-only 命令检查
|
|
234
|
+
|
|
235
|
+
- [ ] 所有 git 命令使用 `powershell.exe -NoProfile -Command "git ..."`
|
|
236
|
+
- [ ] 所有 Maven 命令使用 `powershell.exe -NoProfile -Command "mvn ..."`
|
|
237
|
+
- [ ] 所有文件系统命令使用 PowerShell
|
|
238
|
+
- [ ] 如果出现 Bash hook error,记录违规命令并将当前阶段至少标为 🟡WARN
|
|
239
|
+
|
|
240
|
+
## Ledger 必填字段检查
|
|
241
|
+
|
|
242
|
+
- [ ] verification-ledger.json 包含 changeName/projectRoot/worktreeRoot/stateDir
|
|
243
|
+
- [ ] 包含 currentHead/baseCommit/diffHash/module/profile
|
|
244
|
+
- [ ] 包含 validations.compile 与 validations.unitTest
|
|
245
|
+
- [ ] diffHash 必须用三部分合并命令(inline 见 reference 步骤 2c;commit 前 `baseCommit..HEAD` 部分为空也**必须保留**),`currentHead`=`git rev-parse HEAD`;禁止仅用 `git diff` 未提交——省略第一部分会导致 commit 后 diffHash 变化、run→test 复用链断裂
|
|
246
|
+
- [ ] 缺字段时标记 `ledgerReusable=false`,后续阶段不得复用
|
|
247
|
+
|
|
248
|
+
## 新筛选参数非法值行为检查
|
|
249
|
+
|
|
250
|
+
- [ ] 如果新增筛选参数,设计中已明确非法值行为
|
|
251
|
+
- [ ] 如果采用“忽略并不过滤”,必须有用户确认记录
|
|
252
|
+
- [ ] 测试场景覆盖非法值
|