@hunter-harness/workflow-harness 0.4.0 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/harness/bundles/general/claude-code/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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 +1 -1
- 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 +1 -1
- package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/scripts/harness_archive.py +29 -6
- package/harness/bundles/general/claude-code/scripts/harness_deploy.py +1 -1
- package/harness/bundles/general/claude-code/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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 +1 -1
- 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 +1 -1
- package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/scripts/harness_archive.py +29 -6
- package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +1 -1
- package/harness/bundles/general/codebuddy/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/general/codex/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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 +1 -1
- 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 +1 -1
- package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/codex/scripts/harness_archive.py +29 -6
- package/harness/bundles/general/codex/scripts/harness_deploy.py +1 -1
- package/harness/bundles/general/codex/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/general/cursor/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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 +1 -1
- 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 +1 -1
- package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-test/SKILL.md +1 -1
- package/harness/bundles/general/cursor/scripts/harness_archive.py +29 -6
- package/harness/bundles/general/cursor/scripts/harness_deploy.py +1 -1
- package/harness/bundles/general/cursor/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/general/pi/.harness-build.json +6 -0
- package/harness/bundles/general/pi/CONTEXT.md +98 -0
- package/harness/bundles/general/pi/README.md +478 -0
- package/harness/bundles/general/pi/contracts/build-profile-v3.schema.json +302 -0
- package/harness/bundles/general/pi/contracts/ci-metrics.schema.json +36 -0
- package/harness/bundles/general/pi/contracts/doctor-capability.schema.json +43 -0
- package/harness/bundles/general/pi/contracts/external-platform-observation.schema.json +62 -0
- package/harness/bundles/general/pi/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/general/pi/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/general/pi/contracts/run-session.schema.json +142 -0
- package/harness/bundles/general/pi/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/general/pi/contracts/service-session.schema.json +147 -0
- package/harness/bundles/general/pi/contracts/workflow-policy.json +574 -0
- package/harness/bundles/general/pi/harness-archive/SKILL.md +322 -0
- package/harness/bundles/general/pi/harness-archive/checklist.md +71 -0
- package/harness/bundles/general/pi/harness-archive/reference.md +150 -0
- package/harness/bundles/general/pi/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/harness/bundles/general/pi/harness-archive/templates/summary-data-template.json +218 -0
- package/harness/bundles/general/pi/harness-codebase-map/SKILL.md +116 -0
- package/harness/bundles/general/pi/harness-codebase-map/checklist.md +126 -0
- package/harness/bundles/general/pi/harness-codebase-map/reference.md +364 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/STACK.md +55 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/TESTING.md +64 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/harness/bundles/general/pi/harness-codebase-map/templates/map-summary.md +64 -0
- package/harness/bundles/general/pi/harness-execute/SKILL.md +170 -0
- package/harness/bundles/general/pi/harness-knowledge-ingest/SKILL.md +103 -0
- package/harness/bundles/general/pi/harness-knowledge-query/SKILL.md +97 -0
- package/harness/bundles/general/pi/harness-plan/SKILL.md +157 -0
- package/harness/bundles/general/pi/harness-plan/checklist.md +243 -0
- package/harness/bundles/general/pi/harness-plan/protocols.md +133 -0
- package/harness/bundles/general/pi/harness-plan/reference.md +468 -0
- package/harness/bundles/general/pi/harness-pull/SKILL.md +55 -0
- package/harness/bundles/general/pi/harness-push/SKILL.md +83 -0
- package/harness/bundles/general/pi/harness-review/SKILL.md +166 -0
- package/harness/bundles/general/pi/harness-review/checklist.md +124 -0
- package/harness/bundles/general/pi/harness-review/protocols.md +69 -0
- package/harness/bundles/general/pi/harness-review/reference.md +114 -0
- package/harness/bundles/general/pi/harness-run/SKILL.md +188 -0
- package/harness/bundles/general/pi/harness-run/checklist.md +279 -0
- package/harness/bundles/general/pi/harness-run/protocols.md +141 -0
- package/harness/bundles/general/pi/harness-run/reference.md +886 -0
- package/harness/bundles/general/pi/harness-submit/SKILL.md +182 -0
- package/harness/bundles/general/pi/harness-submit/checklist.md +452 -0
- package/harness/bundles/general/pi/harness-submit/reference.md +152 -0
- package/harness/bundles/general/pi/harness-sync/SKILL.md +72 -0
- package/harness/bundles/general/pi/harness-sync/reference.md +176 -0
- package/harness/bundles/general/pi/harness-test/SKILL.md +250 -0
- package/harness/bundles/general/pi/harness-test/checklist.md +359 -0
- package/harness/bundles/general/pi/harness-test/pitfalls-java.md +14 -0
- package/harness/bundles/general/pi/harness-test/pitfalls.md +307 -0
- package/harness/bundles/general/pi/harness-test/reference.md +880 -0
- package/harness/bundles/general/pi/harness-test/scripts/runtime-helpers.mjs +216 -0
- package/harness/bundles/general/pi/protocols/archive-report-protocol.md +196 -0
- package/harness/bundles/general/pi/protocols/ci-layering-protocol.md +22 -0
- package/harness/bundles/general/pi/protocols/evidence-based-reporting-protocol.md +134 -0
- package/harness/bundles/general/pi/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/general/pi/protocols/external-platform-protocol.md +27 -0
- package/harness/bundles/general/pi/protocols/ledger-protocol.md +365 -0
- package/harness/bundles/general/pi/protocols/memory-closeout-protocol.md +21 -0
- package/harness/bundles/general/pi/protocols/model-routing-protocol.md +22 -0
- package/harness/bundles/general/pi/protocols/powershell-protocol.md +238 -0
- package/harness/bundles/general/pi/protocols/registry-governance-protocol.md +31 -0
- package/harness/bundles/general/pi/protocols/report-pipeline-protocol.md +172 -0
- package/harness/bundles/general/pi/protocols/sensitive-info-protocol.md +110 -0
- package/harness/bundles/general/pi/protocols/state-layout-protocol.md +209 -0
- package/harness/bundles/general/pi/protocols/submit-protocol.md +78 -0
- package/harness/bundles/general/pi/protocols/verification-graph-protocol.md +32 -0
- package/harness/bundles/general/pi/scripts/harness_adoption_metrics.py +391 -0
- package/harness/bundles/general/pi/scripts/harness_apidoc.py +53 -0
- package/harness/bundles/general/pi/scripts/harness_archive.py +11345 -0
- package/harness/bundles/general/pi/scripts/harness_change.py +1626 -0
- package/harness/bundles/general/pi/scripts/harness_check_gate.py +113 -0
- package/harness/bundles/general/pi/scripts/harness_context.py +1774 -0
- package/harness/bundles/general/pi/scripts/harness_deploy.py +968 -0
- package/harness/bundles/general/pi/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/general/pi/scripts/harness_environment.py +1690 -0
- package/harness/bundles/general/pi/scripts/harness_events.py +2234 -0
- package/harness/bundles/general/pi/scripts/harness_events_sync.py +1425 -0
- package/harness/bundles/general/pi/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/general/pi/scripts/harness_fixback.py +1975 -0
- package/harness/bundles/general/pi/scripts/harness_gate.py +3816 -0
- package/harness/bundles/general/pi/scripts/harness_headless.py +37 -0
- package/harness/bundles/general/pi/scripts/harness_integration.py +2564 -0
- package/harness/bundles/general/pi/scripts/harness_knowledge_candidates.py +796 -0
- package/harness/bundles/general/pi/scripts/harness_ledger.py +3556 -0
- package/harness/bundles/general/pi/scripts/harness_migration_head.py +220 -0
- package/harness/bundles/general/pi/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/general/pi/scripts/harness_paths.py +676 -0
- package/harness/bundles/general/pi/scripts/harness_phase.py +1726 -0
- package/harness/bundles/general/pi/scripts/harness_plan_aggregate.py +249 -0
- package/harness/bundles/general/pi/scripts/harness_plan_finalize.py +1016 -0
- package/harness/bundles/general/pi/scripts/harness_preflight.py +650 -0
- package/harness/bundles/general/pi/scripts/harness_process.py +1065 -0
- package/harness/bundles/general/pi/scripts/harness_profile.py +1817 -0
- package/harness/bundles/general/pi/scripts/harness_report_model.py +442 -0
- package/harness/bundles/general/pi/scripts/harness_retry.py +175 -0
- package/harness/bundles/general/pi/scripts/harness_review.py +631 -0
- package/harness/bundles/general/pi/scripts/harness_runtime.py +2243 -0
- package/harness/bundles/general/pi/scripts/harness_service.py +3355 -0
- package/harness/bundles/general/pi/scripts/harness_state.py +365 -0
- package/harness/bundles/general/pi/scripts/harness_sync.py +407 -0
- package/harness/bundles/general/pi/scripts/harness_test_cleanup.py +175 -0
- package/harness/bundles/general/pi/scripts/harness_test_guard.py +1899 -0
- package/harness/bundles/general/pi/scripts/harness_test_runner.py +1586 -0
- package/harness/bundles/general/pi/scripts/harness_verification.py +593 -0
- package/harness/bundles/general/pi/scripts/harness_workflow_policy.py +266 -0
- package/harness/bundles/java/claude-code/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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-plan/SKILL.md +1 -1
- 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 +1 -1
- package/harness/bundles/java/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/scripts/harness_archive.py +29 -6
- package/harness/bundles/java/claude-code/scripts/harness_deploy.py +1 -1
- package/harness/bundles/java/claude-code/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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-plan/SKILL.md +1 -1
- 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 +1 -1
- package/harness/bundles/java/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/scripts/harness_archive.py +29 -6
- package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +1 -1
- package/harness/bundles/java/codebuddy/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/java/codex/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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-plan/SKILL.md +1 -1
- 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 +1 -1
- package/harness/bundles/java/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/codex/scripts/harness_archive.py +29 -6
- package/harness/bundles/java/codex/scripts/harness_deploy.py +1 -1
- package/harness/bundles/java/codex/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/java/cursor/.harness-build.json +1 -1
- 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-execute/SKILL.md +1 -1
- 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-plan/SKILL.md +1 -1
- 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 +1 -1
- package/harness/bundles/java/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-test/SKILL.md +1 -1
- package/harness/bundles/java/cursor/scripts/harness_archive.py +29 -6
- package/harness/bundles/java/cursor/scripts/harness_deploy.py +1 -1
- package/harness/bundles/java/cursor/scripts/harness_knowledge_candidates.py +398 -0
- package/harness/bundles/java/pi/.harness-build.json +6 -0
- package/harness/bundles/java/pi/CONTEXT.md +98 -0
- package/harness/bundles/java/pi/README.md +478 -0
- package/harness/bundles/java/pi/contracts/build-profile-v3.schema.json +302 -0
- package/harness/bundles/java/pi/contracts/ci-metrics.schema.json +36 -0
- package/harness/bundles/java/pi/contracts/doctor-capability.schema.json +43 -0
- package/harness/bundles/java/pi/contracts/external-platform-observation.schema.json +62 -0
- package/harness/bundles/java/pi/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/java/pi/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/java/pi/contracts/run-session.schema.json +142 -0
- package/harness/bundles/java/pi/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/java/pi/contracts/service-session.schema.json +147 -0
- package/harness/bundles/java/pi/contracts/workflow-policy.json +574 -0
- package/harness/bundles/java/pi/harness-apidoc/SKILL.md +97 -0
- package/harness/bundles/java/pi/harness-apidoc/checklist.md +142 -0
- package/harness/bundles/java/pi/harness-apidoc/reference.md +233 -0
- package/harness/bundles/java/pi/harness-archive/SKILL.md +322 -0
- package/harness/bundles/java/pi/harness-archive/checklist.md +71 -0
- package/harness/bundles/java/pi/harness-archive/reference.md +150 -0
- package/harness/bundles/java/pi/harness-archive/scripts/gen-manifest.ps1 +31 -0
- package/harness/bundles/java/pi/harness-archive/templates/summary-data-template.json +218 -0
- package/harness/bundles/java/pi/harness-codebase-map/SKILL.md +116 -0
- package/harness/bundles/java/pi/harness-codebase-map/checklist.md +126 -0
- package/harness/bundles/java/pi/harness-codebase-map/reference.md +364 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/ARCHITECTURE.md +57 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/CONCERNS.md +49 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/CONVENTIONS.md +57 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/INTEGRATIONS.md +52 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/STACK.md +55 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/STRUCTURE.md +69 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/TESTING.md +64 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/map-manifest.schema.json +73 -0
- package/harness/bundles/java/pi/harness-codebase-map/templates/map-summary.md +64 -0
- package/harness/bundles/java/pi/harness-execute/SKILL.md +170 -0
- package/harness/bundles/java/pi/harness-knowledge-ingest/SKILL.md +103 -0
- package/harness/bundles/java/pi/harness-knowledge-query/SKILL.md +97 -0
- package/harness/bundles/java/pi/harness-package/SKILL.md +94 -0
- package/harness/bundles/java/pi/harness-package/checklist.md +322 -0
- package/harness/bundles/java/pi/harness-package/reference.md +210 -0
- package/harness/bundles/java/pi/harness-plan/SKILL.md +157 -0
- package/harness/bundles/java/pi/harness-plan/checklist.md +243 -0
- package/harness/bundles/java/pi/harness-plan/protocols.md +133 -0
- package/harness/bundles/java/pi/harness-plan/reference.md +468 -0
- package/harness/bundles/java/pi/harness-pull/SKILL.md +55 -0
- package/harness/bundles/java/pi/harness-push/SKILL.md +83 -0
- package/harness/bundles/java/pi/harness-review/SKILL.md +166 -0
- package/harness/bundles/java/pi/harness-review/checklist.md +124 -0
- package/harness/bundles/java/pi/harness-review/protocols.md +69 -0
- package/harness/bundles/java/pi/harness-review/reference.md +114 -0
- package/harness/bundles/java/pi/harness-run/SKILL.md +206 -0
- package/harness/bundles/java/pi/harness-run/checklist.md +252 -0
- package/harness/bundles/java/pi/harness-run/protocols.md +141 -0
- package/harness/bundles/java/pi/harness-run/reference.md +820 -0
- package/harness/bundles/java/pi/harness-submit/SKILL.md +189 -0
- package/harness/bundles/java/pi/harness-submit/checklist.md +452 -0
- package/harness/bundles/java/pi/harness-submit/reference.md +152 -0
- package/harness/bundles/java/pi/harness-sync/SKILL.md +72 -0
- package/harness/bundles/java/pi/harness-sync/reference.md +176 -0
- package/harness/bundles/java/pi/harness-test/SKILL.md +264 -0
- package/harness/bundles/java/pi/harness-test/checklist.md +320 -0
- package/harness/bundles/java/pi/harness-test/pitfalls-java.md +16 -0
- package/harness/bundles/java/pi/harness-test/pitfalls.md +307 -0
- package/harness/bundles/java/pi/harness-test/reference.md +792 -0
- package/harness/bundles/java/pi/harness-test/scripts/runtime-helpers.mjs +216 -0
- package/harness/bundles/java/pi/protocols/archive-report-protocol.md +196 -0
- package/harness/bundles/java/pi/protocols/ci-layering-protocol.md +22 -0
- package/harness/bundles/java/pi/protocols/evidence-based-reporting-protocol.md +134 -0
- package/harness/bundles/java/pi/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/java/pi/protocols/external-platform-protocol.md +27 -0
- package/harness/bundles/java/pi/protocols/ledger-protocol.md +365 -0
- package/harness/bundles/java/pi/protocols/memory-closeout-protocol.md +21 -0
- package/harness/bundles/java/pi/protocols/model-routing-protocol.md +22 -0
- package/harness/bundles/java/pi/protocols/powershell-protocol.md +238 -0
- package/harness/bundles/java/pi/protocols/registry-governance-protocol.md +31 -0
- package/harness/bundles/java/pi/protocols/report-pipeline-protocol.md +172 -0
- package/harness/bundles/java/pi/protocols/sensitive-info-protocol.md +110 -0
- package/harness/bundles/java/pi/protocols/state-layout-protocol.md +209 -0
- package/harness/bundles/java/pi/protocols/submit-protocol.md +78 -0
- package/harness/bundles/java/pi/protocols/verification-graph-protocol.md +32 -0
- package/harness/bundles/java/pi/scripts/harness_adoption_metrics.py +391 -0
- package/harness/bundles/java/pi/scripts/harness_apidoc.py +53 -0
- package/harness/bundles/java/pi/scripts/harness_archive.py +11345 -0
- package/harness/bundles/java/pi/scripts/harness_change.py +1626 -0
- package/harness/bundles/java/pi/scripts/harness_check_gate.py +113 -0
- package/harness/bundles/java/pi/scripts/harness_context.py +1774 -0
- package/harness/bundles/java/pi/scripts/harness_deploy.py +968 -0
- package/harness/bundles/java/pi/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/java/pi/scripts/harness_environment.py +1690 -0
- package/harness/bundles/java/pi/scripts/harness_events.py +2234 -0
- package/harness/bundles/java/pi/scripts/harness_events_sync.py +1425 -0
- package/harness/bundles/java/pi/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/java/pi/scripts/harness_fixback.py +1975 -0
- package/harness/bundles/java/pi/scripts/harness_gate.py +3816 -0
- package/harness/bundles/java/pi/scripts/harness_headless.py +37 -0
- package/harness/bundles/java/pi/scripts/harness_integration.py +2564 -0
- package/harness/bundles/java/pi/scripts/harness_knowledge_candidates.py +796 -0
- package/harness/bundles/java/pi/scripts/harness_ledger.py +3556 -0
- package/harness/bundles/java/pi/scripts/harness_migration_head.py +220 -0
- package/harness/bundles/java/pi/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/java/pi/scripts/harness_paths.py +676 -0
- package/harness/bundles/java/pi/scripts/harness_phase.py +1726 -0
- package/harness/bundles/java/pi/scripts/harness_plan_aggregate.py +249 -0
- package/harness/bundles/java/pi/scripts/harness_plan_finalize.py +1016 -0
- package/harness/bundles/java/pi/scripts/harness_preflight.py +650 -0
- package/harness/bundles/java/pi/scripts/harness_process.py +1065 -0
- package/harness/bundles/java/pi/scripts/harness_profile.py +1817 -0
- package/harness/bundles/java/pi/scripts/harness_report_model.py +442 -0
- package/harness/bundles/java/pi/scripts/harness_retry.py +175 -0
- package/harness/bundles/java/pi/scripts/harness_review.py +631 -0
- package/harness/bundles/java/pi/scripts/harness_runtime.py +2243 -0
- package/harness/bundles/java/pi/scripts/harness_service.py +3355 -0
- package/harness/bundles/java/pi/scripts/harness_state.py +365 -0
- package/harness/bundles/java/pi/scripts/harness_sync.py +407 -0
- package/harness/bundles/java/pi/scripts/harness_test_cleanup.py +175 -0
- package/harness/bundles/java/pi/scripts/harness_test_guard.py +1899 -0
- package/harness/bundles/java/pi/scripts/harness_test_runner.py +1586 -0
- package/harness/bundles/java/pi/scripts/harness_verification.py +593 -0
- package/harness/bundles/java/pi/scripts/harness_workflow_policy.py +266 -0
- package/harness/manifests/general/claude-code.json +17 -17
- package/harness/manifests/general/codebuddy.json +17 -17
- package/harness/manifests/general/codex.json +17 -17
- package/harness/manifests/general/cursor.json +17 -17
- package/harness/manifests/general/pi.json +475 -0
- package/harness/manifests/java/claude-code.json +19 -19
- package/harness/manifests/java/codebuddy.json +19 -19
- package/harness/manifests/java/codex.json +19 -19
- package/harness/manifests/java/cursor.json +19 -19
- package/harness/manifests/java/pi.json +499 -0
- package/hunter-workflow-family.json +2 -2
- package/package.json +1 -1
|
@@ -0,0 +1,574 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"testExecution": {
|
|
4
|
+
"runner": "harness/scripts/harness_test_runner.py",
|
|
5
|
+
"defaultProfile": "safe",
|
|
6
|
+
"maxWorkers": 2,
|
|
7
|
+
"singleInstance": true,
|
|
8
|
+
"processTreeCleanup": true,
|
|
9
|
+
"detachedProcessPreflight": true,
|
|
10
|
+
"confirmationFlag": "--confirm-resource-intensive",
|
|
11
|
+
"confirmationRequiredProfiles": [
|
|
12
|
+
"system",
|
|
13
|
+
"full"
|
|
14
|
+
],
|
|
15
|
+
"resourceIntensiveModules": [
|
|
16
|
+
"test_harness_integration.py",
|
|
17
|
+
"test_harness_service.py"
|
|
18
|
+
],
|
|
19
|
+
"profiles": {
|
|
20
|
+
"safe": {
|
|
21
|
+
"description": "Default low-load profile; runs regular test modules sequentially in isolated processes.",
|
|
22
|
+
"includesResourceIntensive": false,
|
|
23
|
+
"moduleTimeoutSeconds": 300
|
|
24
|
+
},
|
|
25
|
+
"system": {
|
|
26
|
+
"description": "Runs integration and service-lifecycle modules only after explicit confirmation.",
|
|
27
|
+
"includesResourceIntensive": true,
|
|
28
|
+
"moduleTimeoutSeconds": 600
|
|
29
|
+
},
|
|
30
|
+
"full": {
|
|
31
|
+
"description": "Runs regular modules followed by resource-intensive modules after explicit confirmation.",
|
|
32
|
+
"includesResourceIntensive": true,
|
|
33
|
+
"moduleTimeoutSeconds": 600
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"riskTiers": {
|
|
38
|
+
"fast": {
|
|
39
|
+
"description": "Low-risk docs/comments/non-behavioral config; no API/DB/security/concurrency. Policy notes: checkpointRules apply only when meta/implementation-checkpoints.json defines the entry for this change; missing file/entry = disabled (gate must not require --task).",
|
|
40
|
+
"defaultPhases": [
|
|
41
|
+
"plan",
|
|
42
|
+
"execute",
|
|
43
|
+
"archive"
|
|
44
|
+
],
|
|
45
|
+
"requiredValidations": [
|
|
46
|
+
"unitTest"
|
|
47
|
+
],
|
|
48
|
+
"conditionalStages": [
|
|
49
|
+
"review",
|
|
50
|
+
"package",
|
|
51
|
+
"apidoc"
|
|
52
|
+
],
|
|
53
|
+
"upgradeTriggers": [
|
|
54
|
+
"api-change",
|
|
55
|
+
"security",
|
|
56
|
+
"migration",
|
|
57
|
+
"concurrency",
|
|
58
|
+
"breaking-contract"
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
"standard": {
|
|
62
|
+
"description": "Ordinary production code and non-breaking API/features. Policy notes: requiredValidations may close DEGRADED when ledger status=NOT_RUN and evidence starts with 'DEGRADED: <reason>' (close code CLOSED_DEGRADED, phase status <= WARN); do not fake OK with unrelated tests.",
|
|
63
|
+
"defaultPhases": [
|
|
64
|
+
"plan",
|
|
65
|
+
"execute",
|
|
66
|
+
"submit",
|
|
67
|
+
"archive"
|
|
68
|
+
],
|
|
69
|
+
"requiredValidations": [
|
|
70
|
+
"compile",
|
|
71
|
+
"unitTest",
|
|
72
|
+
"unitTestFull"
|
|
73
|
+
],
|
|
74
|
+
"conditionalStages": [
|
|
75
|
+
"review",
|
|
76
|
+
"package",
|
|
77
|
+
"apidoc"
|
|
78
|
+
],
|
|
79
|
+
"upgradeTriggers": [
|
|
80
|
+
"auth",
|
|
81
|
+
"security",
|
|
82
|
+
"delete",
|
|
83
|
+
"migration",
|
|
84
|
+
"concurrency",
|
|
85
|
+
"artifact-protocol",
|
|
86
|
+
"shared-state",
|
|
87
|
+
"breaking-api"
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
"full": {
|
|
91
|
+
"description": "Auth/security/delete/migration/concurrency/service protocol/shared state/breaking contracts. Policy notes: (1) DEGRADED close — ledger status=NOT_RUN and evidence 'DEGRADED: <reason>' → CLOSED_DEGRADED with phase <= WARN; never fake OK with unrelated tests. (2) checkpointRules — only when plan created meta/implementation-checkpoints.json entry; missing file/entry = not enabled, gate must not require --task.",
|
|
92
|
+
"defaultPhases": [
|
|
93
|
+
"plan",
|
|
94
|
+
"execute",
|
|
95
|
+
"review",
|
|
96
|
+
"submit",
|
|
97
|
+
"archive"
|
|
98
|
+
],
|
|
99
|
+
"requiredValidations": [
|
|
100
|
+
"compile",
|
|
101
|
+
"unitTest",
|
|
102
|
+
"unitTestFull",
|
|
103
|
+
"apiTest"
|
|
104
|
+
],
|
|
105
|
+
"conditionalStages": [
|
|
106
|
+
"package",
|
|
107
|
+
"apidoc"
|
|
108
|
+
],
|
|
109
|
+
"upgradeTriggers": []
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"skills": {
|
|
113
|
+
"harness-plan": {
|
|
114
|
+
"phase": "plan",
|
|
115
|
+
"inputs": [
|
|
116
|
+
"requirements",
|
|
117
|
+
"change-context"
|
|
118
|
+
],
|
|
119
|
+
"artifacts": [
|
|
120
|
+
"plans",
|
|
121
|
+
"spec",
|
|
122
|
+
"test-scenarios",
|
|
123
|
+
"implementation-detail"
|
|
124
|
+
],
|
|
125
|
+
"events": [
|
|
126
|
+
"phase.start",
|
|
127
|
+
"phase.end",
|
|
128
|
+
"decision"
|
|
129
|
+
],
|
|
130
|
+
"allowedInteractions": [],
|
|
131
|
+
"capabilities": [
|
|
132
|
+
"risk-classify-plan"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"harness-run": {
|
|
136
|
+
"phase": "execute",
|
|
137
|
+
"inputs": [
|
|
138
|
+
"implementation-detail",
|
|
139
|
+
"state-snapshot"
|
|
140
|
+
],
|
|
141
|
+
"artifacts": [
|
|
142
|
+
"code",
|
|
143
|
+
"verification-ledger"
|
|
144
|
+
],
|
|
145
|
+
"events": [
|
|
146
|
+
"phase.start",
|
|
147
|
+
"phase.end",
|
|
148
|
+
"command",
|
|
149
|
+
"verification"
|
|
150
|
+
],
|
|
151
|
+
"allowedInteractions": [],
|
|
152
|
+
"capabilities": [
|
|
153
|
+
"gate-begin",
|
|
154
|
+
"gate-close",
|
|
155
|
+
"ledger-record"
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"harness-test": {
|
|
159
|
+
"phase": "execute",
|
|
160
|
+
"inputs": [
|
|
161
|
+
"test-scenarios",
|
|
162
|
+
"verification-ledger"
|
|
163
|
+
],
|
|
164
|
+
"artifacts": [
|
|
165
|
+
"test-reports",
|
|
166
|
+
"verification-ledger"
|
|
167
|
+
],
|
|
168
|
+
"events": [
|
|
169
|
+
"phase.start",
|
|
170
|
+
"phase.end",
|
|
171
|
+
"command",
|
|
172
|
+
"verification"
|
|
173
|
+
],
|
|
174
|
+
"allowedInteractions": [
|
|
175
|
+
"resource-intensive-test-confirmation"
|
|
176
|
+
],
|
|
177
|
+
"capabilities": [
|
|
178
|
+
"gate-begin",
|
|
179
|
+
"gate-close",
|
|
180
|
+
"test-guard",
|
|
181
|
+
"ledger-record",
|
|
182
|
+
"resource-safe-test-runner"
|
|
183
|
+
]
|
|
184
|
+
},
|
|
185
|
+
"harness-review": {
|
|
186
|
+
"phase": "review",
|
|
187
|
+
"inputs": [
|
|
188
|
+
"diff",
|
|
189
|
+
"verification-ledger",
|
|
190
|
+
"test-reports"
|
|
191
|
+
],
|
|
192
|
+
"artifacts": [
|
|
193
|
+
"review-report"
|
|
194
|
+
],
|
|
195
|
+
"events": [
|
|
196
|
+
"phase.start",
|
|
197
|
+
"phase.end",
|
|
198
|
+
"issue",
|
|
199
|
+
"artifact"
|
|
200
|
+
],
|
|
201
|
+
"allowedInteractions": [],
|
|
202
|
+
"capabilities": [
|
|
203
|
+
"gate-begin",
|
|
204
|
+
"gate-close"
|
|
205
|
+
]
|
|
206
|
+
},
|
|
207
|
+
"harness-submit": {
|
|
208
|
+
"phase": "submit",
|
|
209
|
+
"inputs": [
|
|
210
|
+
"verification-ledger",
|
|
211
|
+
"test-tracking"
|
|
212
|
+
],
|
|
213
|
+
"artifacts": [
|
|
214
|
+
"git-integration"
|
|
215
|
+
],
|
|
216
|
+
"events": [
|
|
217
|
+
"phase.start",
|
|
218
|
+
"phase.end",
|
|
219
|
+
"command",
|
|
220
|
+
"artifact"
|
|
221
|
+
],
|
|
222
|
+
"allowedInteractions": [
|
|
223
|
+
"merge-conflict-resolution"
|
|
224
|
+
],
|
|
225
|
+
"capabilities": [
|
|
226
|
+
"gate-begin",
|
|
227
|
+
"gate-close",
|
|
228
|
+
"integration-lock",
|
|
229
|
+
"test-guard-stage"
|
|
230
|
+
]
|
|
231
|
+
},
|
|
232
|
+
"harness-package": {
|
|
233
|
+
"profiles": [
|
|
234
|
+
"java"
|
|
235
|
+
],
|
|
236
|
+
"phase": "package",
|
|
237
|
+
"inputs": [
|
|
238
|
+
"verification-ledger",
|
|
239
|
+
"final-commit"
|
|
240
|
+
],
|
|
241
|
+
"artifacts": [
|
|
242
|
+
"deploy-artifact"
|
|
243
|
+
],
|
|
244
|
+
"events": [
|
|
245
|
+
"phase.start",
|
|
246
|
+
"phase.end",
|
|
247
|
+
"command",
|
|
248
|
+
"verification"
|
|
249
|
+
],
|
|
250
|
+
"allowedInteractions": [],
|
|
251
|
+
"capabilities": [
|
|
252
|
+
"gate-begin",
|
|
253
|
+
"gate-close",
|
|
254
|
+
"ledger-can-reuse"
|
|
255
|
+
]
|
|
256
|
+
},
|
|
257
|
+
"harness-archive": {
|
|
258
|
+
"phase": "archive",
|
|
259
|
+
"inputs": [
|
|
260
|
+
"events",
|
|
261
|
+
"verification-ledger",
|
|
262
|
+
"reports"
|
|
263
|
+
],
|
|
264
|
+
"artifacts": [
|
|
265
|
+
"summary-data",
|
|
266
|
+
"archive-manifest"
|
|
267
|
+
],
|
|
268
|
+
"events": [
|
|
269
|
+
"phase.start",
|
|
270
|
+
"phase.end",
|
|
271
|
+
"artifact"
|
|
272
|
+
],
|
|
273
|
+
"allowedInteractions": [],
|
|
274
|
+
"capabilities": []
|
|
275
|
+
},
|
|
276
|
+
"harness-sync": {
|
|
277
|
+
"phase": "sync",
|
|
278
|
+
"inputs": [
|
|
279
|
+
"canonical-harness"
|
|
280
|
+
],
|
|
281
|
+
"artifacts": [
|
|
282
|
+
"bundle-projection"
|
|
283
|
+
],
|
|
284
|
+
"events": [
|
|
285
|
+
"phase.start",
|
|
286
|
+
"phase.end",
|
|
287
|
+
"command"
|
|
288
|
+
],
|
|
289
|
+
"allowedInteractions": [],
|
|
290
|
+
"capabilities": []
|
|
291
|
+
},
|
|
292
|
+
"harness-codebase-map": {
|
|
293
|
+
"phase": "codebase-map",
|
|
294
|
+
"inputs": [
|
|
295
|
+
"project-root"
|
|
296
|
+
],
|
|
297
|
+
"artifacts": [
|
|
298
|
+
"codebase-map"
|
|
299
|
+
],
|
|
300
|
+
"events": [
|
|
301
|
+
"phase.start",
|
|
302
|
+
"phase.end"
|
|
303
|
+
],
|
|
304
|
+
"allowedInteractions": [],
|
|
305
|
+
"capabilities": []
|
|
306
|
+
},
|
|
307
|
+
"harness-knowledge-query": {
|
|
308
|
+
"phase": "knowledge-query",
|
|
309
|
+
"inputs": [
|
|
310
|
+
"knowledge-index"
|
|
311
|
+
],
|
|
312
|
+
"artifacts": [],
|
|
313
|
+
"events": [
|
|
314
|
+
"phase.start",
|
|
315
|
+
"phase.end"
|
|
316
|
+
],
|
|
317
|
+
"allowedInteractions": [],
|
|
318
|
+
"capabilities": [
|
|
319
|
+
"read-only"
|
|
320
|
+
]
|
|
321
|
+
},
|
|
322
|
+
"harness-knowledge-ingest": {
|
|
323
|
+
"phase": "knowledge-ingest",
|
|
324
|
+
"inputs": [
|
|
325
|
+
"archive-evidence"
|
|
326
|
+
],
|
|
327
|
+
"artifacts": [
|
|
328
|
+
"knowledge-index"
|
|
329
|
+
],
|
|
330
|
+
"events": [
|
|
331
|
+
"phase.start",
|
|
332
|
+
"phase.end",
|
|
333
|
+
"command"
|
|
334
|
+
],
|
|
335
|
+
"allowedInteractions": [],
|
|
336
|
+
"capabilities": []
|
|
337
|
+
},
|
|
338
|
+
"harness-apidoc": {
|
|
339
|
+
"profiles": [
|
|
340
|
+
"java"
|
|
341
|
+
],
|
|
342
|
+
"phase": "apidoc",
|
|
343
|
+
"inputs": [
|
|
344
|
+
"api-diff"
|
|
345
|
+
],
|
|
346
|
+
"artifacts": [
|
|
347
|
+
"api-contract-summary"
|
|
348
|
+
],
|
|
349
|
+
"events": [
|
|
350
|
+
"phase.start",
|
|
351
|
+
"phase.end",
|
|
352
|
+
"artifact"
|
|
353
|
+
],
|
|
354
|
+
"allowedInteractions": [],
|
|
355
|
+
"capabilities": [
|
|
356
|
+
"gate-begin",
|
|
357
|
+
"gate-close"
|
|
358
|
+
]
|
|
359
|
+
},
|
|
360
|
+
"harness-push": {
|
|
361
|
+
"phase": "sync",
|
|
362
|
+
"inputs": [
|
|
363
|
+
"remote-baseline",
|
|
364
|
+
"local-content"
|
|
365
|
+
],
|
|
366
|
+
"artifacts": [
|
|
367
|
+
"push-receipt"
|
|
368
|
+
],
|
|
369
|
+
"events": [],
|
|
370
|
+
"allowedInteractions": [
|
|
371
|
+
"upload-confirmation"
|
|
372
|
+
],
|
|
373
|
+
"capabilities": [
|
|
374
|
+
"remote-sync-push@1"
|
|
375
|
+
]
|
|
376
|
+
},
|
|
377
|
+
"harness-pull": {
|
|
378
|
+
"phase": "sync",
|
|
379
|
+
"inputs": [
|
|
380
|
+
"remote-snapshot"
|
|
381
|
+
],
|
|
382
|
+
"artifacts": [
|
|
383
|
+
"pull-receipt"
|
|
384
|
+
],
|
|
385
|
+
"events": [],
|
|
386
|
+
"allowedInteractions": [
|
|
387
|
+
"conflict-decision"
|
|
388
|
+
],
|
|
389
|
+
"capabilities": [
|
|
390
|
+
"remote-sync-pull@1"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
393
|
+
"harness-execute": {
|
|
394
|
+
"phase": "execute",
|
|
395
|
+
"inputs": [
|
|
396
|
+
"implementation-detail",
|
|
397
|
+
"state-snapshot",
|
|
398
|
+
"test-scenarios",
|
|
399
|
+
"verification-ledger"
|
|
400
|
+
],
|
|
401
|
+
"artifacts": [
|
|
402
|
+
"code",
|
|
403
|
+
"test-reports",
|
|
404
|
+
"verification-ledger"
|
|
405
|
+
],
|
|
406
|
+
"events": [
|
|
407
|
+
"command",
|
|
408
|
+
"phase.end",
|
|
409
|
+
"phase.start",
|
|
410
|
+
"verification"
|
|
411
|
+
],
|
|
412
|
+
"allowedInteractions": [
|
|
413
|
+
"resource-intensive-test-confirmation"
|
|
414
|
+
],
|
|
415
|
+
"capabilities": [
|
|
416
|
+
"gate-begin",
|
|
417
|
+
"gate-close",
|
|
418
|
+
"ledger-record",
|
|
419
|
+
"resource-safe-test-runner",
|
|
420
|
+
"test-guard"
|
|
421
|
+
]
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
"requiredArtifacts": {
|
|
425
|
+
"plan": [
|
|
426
|
+
"plans",
|
|
427
|
+
"spec"
|
|
428
|
+
],
|
|
429
|
+
"run": [],
|
|
430
|
+
"test": [
|
|
431
|
+
"tests/test-report-*.md"
|
|
432
|
+
],
|
|
433
|
+
"review": [
|
|
434
|
+
"reports/review/review-report-*.md"
|
|
435
|
+
],
|
|
436
|
+
"submit": [],
|
|
437
|
+
"package": [],
|
|
438
|
+
"archive": [
|
|
439
|
+
"reports/final/summary-data.json"
|
|
440
|
+
]
|
|
441
|
+
},
|
|
442
|
+
"requiredValidations": {
|
|
443
|
+
"execute": [
|
|
444
|
+
"compile",
|
|
445
|
+
"unitTest",
|
|
446
|
+
"unitTestFull"
|
|
447
|
+
],
|
|
448
|
+
"submit": [],
|
|
449
|
+
"package": [
|
|
450
|
+
"package"
|
|
451
|
+
]
|
|
452
|
+
},
|
|
453
|
+
"validationPhases": {
|
|
454
|
+
"compile": "execute",
|
|
455
|
+
"unitTest": "execute",
|
|
456
|
+
"unitTestFull": "execute",
|
|
457
|
+
"apiTest": "execute",
|
|
458
|
+
"browserTest": "execute",
|
|
459
|
+
"dbCompatibility": "execute",
|
|
460
|
+
"package": "package"
|
|
461
|
+
},
|
|
462
|
+
"capabilityGates": {
|
|
463
|
+
"deployment": {
|
|
464
|
+
"signals": [
|
|
465
|
+
"deploy-required"
|
|
466
|
+
],
|
|
467
|
+
"requiredStages": [
|
|
468
|
+
"package"
|
|
469
|
+
],
|
|
470
|
+
"requiredValidations": [
|
|
471
|
+
"package"
|
|
472
|
+
]
|
|
473
|
+
},
|
|
474
|
+
"container": {
|
|
475
|
+
"signals": [
|
|
476
|
+
"install-verification"
|
|
477
|
+
],
|
|
478
|
+
"requiredStages": [
|
|
479
|
+
"package"
|
|
480
|
+
],
|
|
481
|
+
"requiredValidations": [
|
|
482
|
+
"package"
|
|
483
|
+
]
|
|
484
|
+
},
|
|
485
|
+
"api": {
|
|
486
|
+
"signals": [
|
|
487
|
+
"api-diff-present"
|
|
488
|
+
],
|
|
489
|
+
"requiredStages": [
|
|
490
|
+
"apidoc"
|
|
491
|
+
],
|
|
492
|
+
"requiredValidations": [
|
|
493
|
+
"apiTest"
|
|
494
|
+
]
|
|
495
|
+
},
|
|
496
|
+
"database": {
|
|
497
|
+
"signals": [
|
|
498
|
+
"migration"
|
|
499
|
+
],
|
|
500
|
+
"requiredStages": [],
|
|
501
|
+
"requiredValidations": [
|
|
502
|
+
"dbCompatibility"
|
|
503
|
+
]
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
"conditionalStages": {
|
|
507
|
+
"review": {
|
|
508
|
+
"tiers": [
|
|
509
|
+
"standard",
|
|
510
|
+
"full"
|
|
511
|
+
],
|
|
512
|
+
"signals": [
|
|
513
|
+
"security",
|
|
514
|
+
"auth",
|
|
515
|
+
"breaking-api",
|
|
516
|
+
"shared-state"
|
|
517
|
+
]
|
|
518
|
+
},
|
|
519
|
+
"package": {
|
|
520
|
+
"tiers": [
|
|
521
|
+
"standard",
|
|
522
|
+
"full"
|
|
523
|
+
],
|
|
524
|
+
"signals": [
|
|
525
|
+
"deploy-required",
|
|
526
|
+
"install-verification"
|
|
527
|
+
]
|
|
528
|
+
},
|
|
529
|
+
"apidoc": {
|
|
530
|
+
"tiers": [
|
|
531
|
+
"standard",
|
|
532
|
+
"full"
|
|
533
|
+
],
|
|
534
|
+
"signals": [
|
|
535
|
+
"api-diff-present"
|
|
536
|
+
]
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
"interactionWhitelist": {
|
|
540
|
+
"global": [],
|
|
541
|
+
"harness-test": [
|
|
542
|
+
"resource-intensive-test-confirmation"
|
|
543
|
+
],
|
|
544
|
+
"harness-submit": [
|
|
545
|
+
"merge-conflict-resolution"
|
|
546
|
+
],
|
|
547
|
+
"harness-plan": [
|
|
548
|
+
"risk-confirmation"
|
|
549
|
+
],
|
|
550
|
+
"harness-execute": [
|
|
551
|
+
"resource-intensive-test-confirmation"
|
|
552
|
+
]
|
|
553
|
+
},
|
|
554
|
+
"checkpointRules": {
|
|
555
|
+
"foundation-gate": {
|
|
556
|
+
"afterTasks": [
|
|
557
|
+
1,
|
|
558
|
+
2,
|
|
559
|
+
3,
|
|
560
|
+
4
|
|
561
|
+
],
|
|
562
|
+
"beforeTasks": [
|
|
563
|
+
6,
|
|
564
|
+
7,
|
|
565
|
+
8,
|
|
566
|
+
9,
|
|
567
|
+
10
|
|
568
|
+
],
|
|
569
|
+
"blocking": true,
|
|
570
|
+
"requiredReport": "reports/review/foundation-gate-review.md",
|
|
571
|
+
"reviewerTool": "codex"
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: harness-apidoc
|
|
3
|
+
description: 从 Java 后端代码生成结构化前端 API 文档(Controller/VO/ErrorCode)。仅当用户显式调用
|
|
4
|
+
/harness-apidoc 时使用,不得自动触发。
|
|
5
|
+
---
|
|
6
|
+
<!-- generated by harness_deploy.py; core=c6237736626a939b; overlay=java; agent=pi; do not edit -->
|
|
7
|
+
# harness-apidoc — 前端接口文档(Java overlay)
|
|
8
|
+
|
|
9
|
+
## Purpose
|
|
10
|
+
|
|
11
|
+
基于 Controller、VO、ErrorCode 生成结构化前端接口文档(增量 + 全量)。
|
|
12
|
+
|
|
13
|
+
## When to Use
|
|
14
|
+
|
|
15
|
+
- 新功能完成需出接口文档
|
|
16
|
+
- 触发语:"接口文档""API 文档""写文档给前端"
|
|
17
|
+
|
|
18
|
+
## 统一读取协议
|
|
19
|
+
|
|
20
|
+
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 找回来;照第一种写法直接用
|
|
21
|
+
1. **`.harness/changes/<change-name>/` 是唯一真相源** — 所有输入从该目录读取,产物写入对应子目录
|
|
22
|
+
2. **change-name 优先从 frontmatter 读取** — `plans/*-design.md`、`spec/*-design.md`、`plans/*-plan.md` 的 YAML `change-name`
|
|
23
|
+
3. **frontmatter 缺失时兼容旧格式** — 从路径推断,标记 `🟡 legacy-plan`,不失败
|
|
24
|
+
4. **design** — 设计真相源按序取第一个存在的:`plans/<change>-design.md`(v2 发布产物,哈希绑定)→ `spec/<change>-design.md`(legacy 手写)。两份**同时存在**时以 `plans/` 为准,并记 `🟡 WARN 设计文档双份`——v2 发布的那份才受完整性门禁保护,读手写的那份等于绕过校验
|
|
25
|
+
5. **plan** — 任务真相源:`plans/<change>-plan.md`
|
|
26
|
+
6. **implementation-detail** — 自适应执行参考;legacy 缺失 🟡WARN,不阻断
|
|
27
|
+
7. **test-scenarios** — 测试真相源:`plans/<change>-test-scenarios.md`
|
|
28
|
+
8. **禁止读取 `docs/superpowers/` 作为正式输入** — 旧草稿仅人工线索
|
|
29
|
+
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` 段仅为兼容空段,知识始终按需远端查询;快照不能替代源码读取和验证门禁。
|
|
30
|
+
|
|
31
|
+
状态目录分层:新路径优先,旧路径兼容 → [[../protocols/state-layout-protocol.md|state-layout-protocol]]
|
|
32
|
+
> 片段:read-protocol
|
|
33
|
+
|
|
34
|
+
## Workflow
|
|
35
|
+
|
|
36
|
+
先用 `harness_change.py resolve [--change] --json` 解析 change;多个 active change 未显式选择时返回 `CHANGE_SELECTION_REQUIRED`。确认存在真实 API diff;无变化时记录跳过,不生成空文档。阶段边界使用 `harness_gate.py begin --phase apidoc --change <id> --task <n> --skills-root <skills-root> --executor-tool <tool> --json` 与 `harness_gate.py close --phase apidoc --change <id> --status <OK|WARN|FAIL> --run-id <begin-run-id> --json`,禁止手工追加阶段事件。
|
|
37
|
+
|
|
38
|
+
默认输出 40–80 行契约差异摘要,只保留前端动作、变化接口、请求/响应边界、变化的枚举/错误码、兼容性和证据链接;显式 `--full` 才生成完整七章节。文件名使用 `YYYY-MM-DD-<变更语义安全名称>.md`,不以 commit hash 充当标题。
|
|
39
|
+
|
|
40
|
+
文件名必须由 `harness_apidoc.py filename --description "<做了什么变更>" --json` 生成,避免 Windows 非法字符、超长路径和不可读 hash 文件名。
|
|
41
|
+
|
|
42
|
+
1. 确定 change-name(Glob plans,读 frontmatter)
|
|
43
|
+
2. append `phase.start`
|
|
44
|
+
3. 扫描变更涉及 Controller/VO/ErrorCode(CodeGraph 优先)
|
|
45
|
+
4. 生成/更新 `reports/apidoc/` 下 Markdown
|
|
46
|
+
5. append `artifact` + `phase.end`
|
|
47
|
+
|
|
48
|
+
## Output
|
|
49
|
+
|
|
50
|
+
- `.harness/changes/<cn>/reports/apidoc/api-doc-*.md`(或项目约定路径)
|
|
51
|
+
- 控制台摘要:新增/变更接口数
|
|
52
|
+
|
|
53
|
+
## P0 执行可信度规则
|
|
54
|
+
|
|
55
|
+
- 命令结果不得靠猜测;普通 Bash 被拒 → 立即改用等价 PowerShell 重试一次
|
|
56
|
+
- 仅 PowerShell 成功且有明确证据(构建/git/测试输出、文件存在、exit 0)时可标 ✅OK;否则 ❌FAIL 或 🟡WARN
|
|
57
|
+
- 禁止把 hook 拒绝、静态验证、无输出、用户跳过说成成功 → 详见 [[../protocols/powershell-protocol.md|powershell-protocol]]、[[../protocols/evidence-based-reporting-protocol.md|evidence-based-reporting-protocol]]
|
|
58
|
+
|
|
59
|
+
## 生成内容语言约定
|
|
60
|
+
|
|
61
|
+
- sync/ingest 等生成的文档、规则、知识条目、架构说明一律**优先使用中文**撰写(标识符、命令、代码、API 字段名保持原文)
|
|
62
|
+
- 面向平台展示的标题/摘要/正文默认中文;仅当用户明确要求或目标系统强制时才用英文
|
|
63
|
+
> 片段:p0-trust
|
|
64
|
+
|
|
65
|
+
## 渐进披露
|
|
66
|
+
|
|
67
|
+
- **Read `reference.md`** — 文档模板与字段规则
|
|
68
|
+
- **Read `checklist.md`** — 逐步勾选
|
|
69
|
+
|
|
70
|
+
## 交互白名单
|
|
71
|
+
|
|
72
|
+
**无** blocking user confirmation;缺输入记 `issue`。
|
|
73
|
+
|
|
74
|
+
## 执行日志
|
|
75
|
+
|
|
76
|
+
`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]]
|
|
77
|
+
|
|
78
|
+
**`phase.start` 由 `harness_gate.py begin` 写,不要再手工追加一次。** 两条同 `run-id` 的
|
|
79
|
+
`phase.start` 会让 `plan finalize` 以 `PHASE_START_DUPLICATE` 卡死,而且手工那次会先触发
|
|
80
|
+
auto-seal、把正在开始的 attempt 封成 `RECOVERED`。要补触发指令说明就带 `--note` 跑 `gate begin`。
|
|
81
|
+
(重复追加现已按 `(phase, run-id)` 判为幂等 no-op,但依赖它不如不写。)
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
# 阶段开始:gate begin 负责,note 在这里给
|
|
85
|
+
python <skills-root>/scripts/harness_gate.py begin --change-dir ".harness/changes/<change-name>" --phase <phase> --note "<触发指令>"
|
|
86
|
+
# 阶段中的其他事件才用 append
|
|
87
|
+
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 "<摘要>"
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
> **脚本接线**:`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 护栏解读。
|
|
91
|
+
|
|
92
|
+
> **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 边界保持最新。
|
|
93
|
+
|
|
94
|
+
每个阶段的 `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 移除)。
|
|
95
|
+
|
|
96
|
+
阶段跑得久(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` 环境变量统一注入。
|
|
97
|
+
> 片段:logging · phase=`apidoc`
|