@hunter-harness/workflow-harness 0.2.42 → 0.2.44
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/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/general/claude-code/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/general/claude-code/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/general/claude-code/contracts/run-session.schema.json +142 -0
- package/harness/bundles/general/claude-code/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/general/claude-code/contracts/service-session.schema.json +147 -0
- package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-archive/reference.md +1 -0
- package/harness/bundles/general/claude-code/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/general/claude-code/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/general/claude-code/harness-codebase-map/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-review/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-run/reference.md +6 -1
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/checklist.md +12 -0
- package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-test/SKILL.md +8 -2
- package/harness/bundles/general/claude-code/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/general/claude-code/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/general/claude-code/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/general/claude-code/scripts/harness_archive.py +271 -22
- package/harness/bundles/general/claude-code/scripts/harness_change.py +137 -2
- package/harness/bundles/general/claude-code/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/general/claude-code/scripts/harness_environment.py +760 -46
- package/harness/bundles/general/claude-code/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/general/claude-code/scripts/harness_fixback.py +742 -0
- package/harness/bundles/general/claude-code/scripts/harness_integration.py +289 -52
- package/harness/bundles/general/claude-code/scripts/harness_ledger.py +5 -0
- package/harness/bundles/general/claude-code/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/general/claude-code/scripts/harness_process.py +1065 -0
- package/harness/bundles/general/claude-code/scripts/harness_profile.py +278 -4
- package/harness/bundles/general/claude-code/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/general/claude-code/scripts/harness_service.py +1528 -177
- package/harness/bundles/general/claude-code/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/general/claude-code/scripts/harness_verification.py +487 -8
- package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/general/codebuddy/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/general/codebuddy/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/general/codebuddy/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/general/codebuddy/contracts/run-session.schema.json +142 -0
- package/harness/bundles/general/codebuddy/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/general/codebuddy/contracts/service-session.schema.json +147 -0
- package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-archive/reference.md +1 -0
- package/harness/bundles/general/codebuddy/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/general/codebuddy/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/general/codebuddy/harness-codebase-map/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-review/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-run/reference.md +6 -1
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/checklist.md +12 -0
- package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +8 -2
- package/harness/bundles/general/codebuddy/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/general/codebuddy/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/general/codebuddy/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/general/codebuddy/scripts/harness_archive.py +271 -22
- package/harness/bundles/general/codebuddy/scripts/harness_change.py +137 -2
- package/harness/bundles/general/codebuddy/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/general/codebuddy/scripts/harness_environment.py +760 -46
- package/harness/bundles/general/codebuddy/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/general/codebuddy/scripts/harness_fixback.py +742 -0
- package/harness/bundles/general/codebuddy/scripts/harness_integration.py +289 -52
- package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +5 -0
- package/harness/bundles/general/codebuddy/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/general/codebuddy/scripts/harness_process.py +1065 -0
- package/harness/bundles/general/codebuddy/scripts/harness_profile.py +278 -4
- package/harness/bundles/general/codebuddy/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/general/codebuddy/scripts/harness_service.py +1528 -177
- package/harness/bundles/general/codebuddy/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/general/codebuddy/scripts/harness_verification.py +487 -8
- package/harness/bundles/general/codex/.harness-build.json +1 -1
- package/harness/bundles/general/codex/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/general/codex/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/general/codex/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/general/codex/contracts/run-session.schema.json +142 -0
- package/harness/bundles/general/codex/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/general/codex/contracts/service-session.schema.json +147 -0
- package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-archive/reference.md +1 -0
- package/harness/bundles/general/codex/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/general/codex/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/general/codex/harness-codebase-map/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-review/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-run/reference.md +6 -1
- package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-submit/checklist.md +12 -0
- package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-test/SKILL.md +8 -2
- package/harness/bundles/general/codex/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/general/codex/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/general/codex/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/general/codex/scripts/harness_archive.py +271 -22
- package/harness/bundles/general/codex/scripts/harness_change.py +137 -2
- package/harness/bundles/general/codex/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/general/codex/scripts/harness_environment.py +760 -46
- package/harness/bundles/general/codex/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/general/codex/scripts/harness_fixback.py +742 -0
- package/harness/bundles/general/codex/scripts/harness_integration.py +289 -52
- package/harness/bundles/general/codex/scripts/harness_ledger.py +5 -0
- package/harness/bundles/general/codex/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/general/codex/scripts/harness_process.py +1065 -0
- package/harness/bundles/general/codex/scripts/harness_profile.py +278 -4
- package/harness/bundles/general/codex/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/general/codex/scripts/harness_service.py +1528 -177
- package/harness/bundles/general/codex/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/general/codex/scripts/harness_verification.py +487 -8
- package/harness/bundles/general/cursor/.harness-build.json +1 -1
- package/harness/bundles/general/cursor/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/general/cursor/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/general/cursor/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/general/cursor/contracts/run-session.schema.json +142 -0
- package/harness/bundles/general/cursor/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/general/cursor/contracts/service-session.schema.json +147 -0
- package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-archive/reference.md +1 -0
- package/harness/bundles/general/cursor/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/general/cursor/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/general/cursor/harness-codebase-map/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-review/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-run/reference.md +6 -1
- package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/checklist.md +12 -0
- package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-test/SKILL.md +8 -2
- package/harness/bundles/general/cursor/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/general/cursor/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/general/cursor/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/general/cursor/scripts/harness_archive.py +271 -22
- package/harness/bundles/general/cursor/scripts/harness_change.py +137 -2
- package/harness/bundles/general/cursor/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/general/cursor/scripts/harness_environment.py +760 -46
- package/harness/bundles/general/cursor/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/general/cursor/scripts/harness_fixback.py +742 -0
- package/harness/bundles/general/cursor/scripts/harness_integration.py +289 -52
- package/harness/bundles/general/cursor/scripts/harness_ledger.py +5 -0
- package/harness/bundles/general/cursor/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/general/cursor/scripts/harness_process.py +1065 -0
- package/harness/bundles/general/cursor/scripts/harness_profile.py +278 -4
- package/harness/bundles/general/cursor/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/general/cursor/scripts/harness_service.py +1528 -177
- package/harness/bundles/general/cursor/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/general/cursor/scripts/harness_verification.py +487 -8
- package/harness/bundles/java/claude-code/.harness-build.json +1 -1
- package/harness/bundles/java/claude-code/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/java/claude-code/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/java/claude-code/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/java/claude-code/contracts/run-session.schema.json +142 -0
- package/harness/bundles/java/claude-code/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/java/claude-code/contracts/service-session.schema.json +147 -0
- 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-archive/reference.md +1 -0
- package/harness/bundles/java/claude-code/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/java/claude-code/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/java/claude-code/harness-codebase-map/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-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-submit/checklist.md +12 -0
- package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-test/SKILL.md +8 -2
- package/harness/bundles/java/claude-code/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/java/claude-code/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/java/claude-code/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/java/claude-code/scripts/harness_archive.py +271 -22
- package/harness/bundles/java/claude-code/scripts/harness_change.py +137 -2
- package/harness/bundles/java/claude-code/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/java/claude-code/scripts/harness_environment.py +760 -46
- package/harness/bundles/java/claude-code/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/java/claude-code/scripts/harness_fixback.py +742 -0
- package/harness/bundles/java/claude-code/scripts/harness_integration.py +289 -52
- package/harness/bundles/java/claude-code/scripts/harness_ledger.py +5 -0
- package/harness/bundles/java/claude-code/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/java/claude-code/scripts/harness_process.py +1065 -0
- package/harness/bundles/java/claude-code/scripts/harness_profile.py +278 -4
- package/harness/bundles/java/claude-code/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/java/claude-code/scripts/harness_service.py +1528 -177
- package/harness/bundles/java/claude-code/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/java/claude-code/scripts/harness_verification.py +487 -8
- package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/java/codebuddy/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/java/codebuddy/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/java/codebuddy/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/java/codebuddy/contracts/run-session.schema.json +142 -0
- package/harness/bundles/java/codebuddy/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/java/codebuddy/contracts/service-session.schema.json +147 -0
- 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-archive/reference.md +1 -0
- package/harness/bundles/java/codebuddy/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/java/codebuddy/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/java/codebuddy/harness-codebase-map/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-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-submit/checklist.md +12 -0
- package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-test/SKILL.md +8 -2
- package/harness/bundles/java/codebuddy/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/java/codebuddy/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/java/codebuddy/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/java/codebuddy/scripts/harness_archive.py +271 -22
- package/harness/bundles/java/codebuddy/scripts/harness_change.py +137 -2
- package/harness/bundles/java/codebuddy/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/java/codebuddy/scripts/harness_environment.py +760 -46
- package/harness/bundles/java/codebuddy/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/java/codebuddy/scripts/harness_fixback.py +742 -0
- package/harness/bundles/java/codebuddy/scripts/harness_integration.py +289 -52
- package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +5 -0
- package/harness/bundles/java/codebuddy/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/java/codebuddy/scripts/harness_process.py +1065 -0
- package/harness/bundles/java/codebuddy/scripts/harness_profile.py +278 -4
- package/harness/bundles/java/codebuddy/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/java/codebuddy/scripts/harness_service.py +1528 -177
- package/harness/bundles/java/codebuddy/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/java/codebuddy/scripts/harness_verification.py +487 -8
- package/harness/bundles/java/codex/.harness-build.json +1 -1
- package/harness/bundles/java/codex/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/java/codex/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/java/codex/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/java/codex/contracts/run-session.schema.json +142 -0
- package/harness/bundles/java/codex/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/java/codex/contracts/service-session.schema.json +147 -0
- 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-archive/reference.md +1 -0
- package/harness/bundles/java/codex/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/java/codex/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/java/codex/harness-codebase-map/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-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-submit/checklist.md +12 -0
- package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-test/SKILL.md +8 -2
- package/harness/bundles/java/codex/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/java/codex/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/java/codex/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/java/codex/scripts/harness_archive.py +271 -22
- package/harness/bundles/java/codex/scripts/harness_change.py +137 -2
- package/harness/bundles/java/codex/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/java/codex/scripts/harness_environment.py +760 -46
- package/harness/bundles/java/codex/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/java/codex/scripts/harness_fixback.py +742 -0
- package/harness/bundles/java/codex/scripts/harness_integration.py +289 -52
- package/harness/bundles/java/codex/scripts/harness_ledger.py +5 -0
- package/harness/bundles/java/codex/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/java/codex/scripts/harness_process.py +1065 -0
- package/harness/bundles/java/codex/scripts/harness_profile.py +278 -4
- package/harness/bundles/java/codex/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/java/codex/scripts/harness_service.py +1528 -177
- package/harness/bundles/java/codex/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/java/codex/scripts/harness_verification.py +487 -8
- package/harness/bundles/java/cursor/.harness-build.json +1 -1
- package/harness/bundles/java/cursor/contracts/build-profile-v3.schema.json +156 -1
- package/harness/bundles/java/cursor/contracts/fixtures/managed-execution.json +341 -0
- package/harness/bundles/java/cursor/contracts/process-identity.schema.json +132 -0
- package/harness/bundles/java/cursor/contracts/run-session.schema.json +142 -0
- package/harness/bundles/java/cursor/contracts/service-retirement-receipt.schema.json +85 -0
- package/harness/bundles/java/cursor/contracts/service-session.schema.json +147 -0
- 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-archive/reference.md +1 -0
- package/harness/bundles/java/cursor/harness-archive/templates/render-summary.mjs +8 -0
- package/harness/bundles/java/cursor/harness-archive/templates/summary-data-template.json +28 -0
- package/harness/bundles/java/cursor/harness-codebase-map/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-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-submit/checklist.md +12 -0
- package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-test/SKILL.md +8 -2
- package/harness/bundles/java/cursor/protocols/execution-session-protocol.md +52 -0
- package/harness/bundles/java/cursor/protocols/state-layout-protocol.md +24 -1
- package/harness/bundles/java/cursor/protocols/verification-graph-protocol.md +6 -0
- package/harness/bundles/java/cursor/scripts/harness_archive.py +271 -22
- package/harness/bundles/java/cursor/scripts/harness_change.py +137 -2
- package/harness/bundles/java/cursor/scripts/harness_efficiency.py +443 -0
- package/harness/bundles/java/cursor/scripts/harness_environment.py +760 -46
- package/harness/bundles/java/cursor/scripts/harness_execution_contracts.py +596 -0
- package/harness/bundles/java/cursor/scripts/harness_fixback.py +742 -0
- package/harness/bundles/java/cursor/scripts/harness_integration.py +289 -52
- package/harness/bundles/java/cursor/scripts/harness_ledger.py +5 -0
- package/harness/bundles/java/cursor/scripts/harness_orchestration.py +344 -0
- package/harness/bundles/java/cursor/scripts/harness_process.py +1065 -0
- package/harness/bundles/java/cursor/scripts/harness_profile.py +278 -4
- package/harness/bundles/java/cursor/scripts/harness_runtime.py +1576 -3
- package/harness/bundles/java/cursor/scripts/harness_service.py +1528 -177
- package/harness/bundles/java/cursor/scripts/harness_test_runner.py +224 -146
- package/harness/bundles/java/cursor/scripts/harness_verification.py +487 -8
- package/harness/manifests/general/claude-code.json +76 -31
- package/harness/manifests/general/codebuddy.json +76 -31
- package/harness/manifests/general/codex.json +76 -31
- package/harness/manifests/general/cursor.json +76 -31
- package/harness/manifests/java/claude-code.json +77 -32
- package/harness/manifests/java/codebuddy.json +77 -32
- package/harness/manifests/java/codex.json +77 -32
- package/harness/manifests/java/cursor.json +77 -32
- package/hunter-workflow-family.json +6 -4
- package/package.json +1 -1
|
@@ -108,6 +108,10 @@
|
|
|
108
108
|
"requiredCapabilities"
|
|
109
109
|
],
|
|
110
110
|
"properties": {
|
|
111
|
+
"id": {
|
|
112
|
+
"type": "string",
|
|
113
|
+
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
|
|
114
|
+
},
|
|
111
115
|
"commandKey": {
|
|
112
116
|
"type": "string",
|
|
113
117
|
"pattern": "^[A-Za-z][A-Za-z0-9_-]*$"
|
|
@@ -124,7 +128,36 @@
|
|
|
124
128
|
"enum": [
|
|
125
129
|
"incremental",
|
|
126
130
|
"module-am",
|
|
127
|
-
"module"
|
|
131
|
+
"module",
|
|
132
|
+
"full"
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"argvTemplate": {
|
|
136
|
+
"type": "array",
|
|
137
|
+
"items": {
|
|
138
|
+
"type": "string"
|
|
139
|
+
},
|
|
140
|
+
"minItems": 1
|
|
141
|
+
},
|
|
142
|
+
"inputs": {
|
|
143
|
+
"type": "array",
|
|
144
|
+
"items": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"minLength": 1
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"coverage": {
|
|
150
|
+
"type": [
|
|
151
|
+
"string",
|
|
152
|
+
"null"
|
|
153
|
+
]
|
|
154
|
+
},
|
|
155
|
+
"coverageLevel": {
|
|
156
|
+
"enum": [
|
|
157
|
+
"incremental",
|
|
158
|
+
"module",
|
|
159
|
+
"module-am",
|
|
160
|
+
"full"
|
|
128
161
|
]
|
|
129
162
|
},
|
|
130
163
|
"candidate": {
|
|
@@ -137,11 +170,133 @@
|
|
|
137
170
|
"minLength": 1
|
|
138
171
|
},
|
|
139
172
|
"uniqueItems": true
|
|
173
|
+
},
|
|
174
|
+
"resourceLocks": {
|
|
175
|
+
"type": "array",
|
|
176
|
+
"items": {
|
|
177
|
+
"type": "string",
|
|
178
|
+
"minLength": 1
|
|
179
|
+
},
|
|
180
|
+
"uniqueItems": true
|
|
181
|
+
},
|
|
182
|
+
"estimatedDurationSeconds": {
|
|
183
|
+
"type": "number",
|
|
184
|
+
"minimum": 0
|
|
185
|
+
},
|
|
186
|
+
"requiresFrozenIdentity": {
|
|
187
|
+
"type": "boolean"
|
|
188
|
+
},
|
|
189
|
+
"reusePolicy": {
|
|
190
|
+
"enum": [
|
|
191
|
+
"never",
|
|
192
|
+
"identity-exact",
|
|
193
|
+
"ledger-exact"
|
|
194
|
+
]
|
|
140
195
|
}
|
|
141
196
|
}
|
|
142
197
|
}
|
|
143
198
|
}
|
|
144
199
|
}
|
|
200
|
+
},
|
|
201
|
+
"serviceStart": {
|
|
202
|
+
"type": "object",
|
|
203
|
+
"additionalProperties": false,
|
|
204
|
+
"required": [
|
|
205
|
+
"healthUrl",
|
|
206
|
+
"startTimeoutSec",
|
|
207
|
+
"inputFiles",
|
|
208
|
+
"source",
|
|
209
|
+
"profile",
|
|
210
|
+
"overlayPath"
|
|
211
|
+
],
|
|
212
|
+
"properties": {
|
|
213
|
+
"argvTemplate": {
|
|
214
|
+
"type": "array",
|
|
215
|
+
"items": {
|
|
216
|
+
"type": "string"
|
|
217
|
+
}
|
|
218
|
+
},
|
|
219
|
+
"command": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"minLength": 1
|
|
222
|
+
},
|
|
223
|
+
"healthUrl": {
|
|
224
|
+
"type": "string"
|
|
225
|
+
},
|
|
226
|
+
"healthFile": {
|
|
227
|
+
"type": "string"
|
|
228
|
+
},
|
|
229
|
+
"startTimeoutSec": {
|
|
230
|
+
"type": "number",
|
|
231
|
+
"exclusiveMinimum": 0
|
|
232
|
+
},
|
|
233
|
+
"inputFiles": {
|
|
234
|
+
"type": "array",
|
|
235
|
+
"items": {
|
|
236
|
+
"type": "string",
|
|
237
|
+
"minLength": 1
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
"source": {
|
|
241
|
+
"enum": [
|
|
242
|
+
"detected",
|
|
243
|
+
"user"
|
|
244
|
+
]
|
|
245
|
+
},
|
|
246
|
+
"profile": {
|
|
247
|
+
"type": "string"
|
|
248
|
+
},
|
|
249
|
+
"overlayPath": {
|
|
250
|
+
"type": "string"
|
|
251
|
+
},
|
|
252
|
+
"legacyWarning": {
|
|
253
|
+
"type": "object",
|
|
254
|
+
"additionalProperties": false,
|
|
255
|
+
"required": [
|
|
256
|
+
"reasonCode",
|
|
257
|
+
"platform",
|
|
258
|
+
"message"
|
|
259
|
+
],
|
|
260
|
+
"properties": {
|
|
261
|
+
"reasonCode": {
|
|
262
|
+
"const": "PROFILE_MIGRATION_UNSAFE"
|
|
263
|
+
},
|
|
264
|
+
"platform": {
|
|
265
|
+
"enum": [
|
|
266
|
+
"windows",
|
|
267
|
+
"posix"
|
|
268
|
+
]
|
|
269
|
+
},
|
|
270
|
+
"message": {
|
|
271
|
+
"type": "string",
|
|
272
|
+
"minLength": 1
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"oneOf": [
|
|
278
|
+
{
|
|
279
|
+
"required": [
|
|
280
|
+
"argvTemplate"
|
|
281
|
+
],
|
|
282
|
+
"not": {
|
|
283
|
+
"required": [
|
|
284
|
+
"command"
|
|
285
|
+
]
|
|
286
|
+
}
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
"required": [
|
|
290
|
+
"command",
|
|
291
|
+
"legacyWarning"
|
|
292
|
+
],
|
|
293
|
+
"not": {
|
|
294
|
+
"required": [
|
|
295
|
+
"argvTemplate"
|
|
296
|
+
]
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
]
|
|
145
300
|
}
|
|
146
301
|
}
|
|
147
302
|
}
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"corpusHash": "sha256:31fe3f111d35e37b7c0f067d2757d2e1b7bf7969fcee81f66276e87b321680d5",
|
|
4
|
+
"fixtures": [
|
|
5
|
+
{
|
|
6
|
+
"id": "process-valid-complete",
|
|
7
|
+
"contract": "process-identity",
|
|
8
|
+
"valid": true,
|
|
9
|
+
"payload": {
|
|
10
|
+
"schemaVersion": 1,
|
|
11
|
+
"pid": 4200,
|
|
12
|
+
"alive": true,
|
|
13
|
+
"createdAt": "2026-07-31T12:00:00Z",
|
|
14
|
+
"executable": "C:\\Python\\python.exe",
|
|
15
|
+
"argvHash": "sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
|
|
16
|
+
"workingDirectory": "C:\\工作区\\managed run",
|
|
17
|
+
"parentIdentity": {
|
|
18
|
+
"pid": 4100,
|
|
19
|
+
"createdAt": "2026-07-31T11:59:59Z",
|
|
20
|
+
"executable": "C:\\PowerShell\\pwsh.exe"
|
|
21
|
+
},
|
|
22
|
+
"ownerTokenHash": "sha256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
|
|
23
|
+
"treeIdentity": {
|
|
24
|
+
"platform": "WINDOWS",
|
|
25
|
+
"proofKind": "NAMED_JOB",
|
|
26
|
+
"memberPids": [4200, 4210],
|
|
27
|
+
"complete": true
|
|
28
|
+
},
|
|
29
|
+
"fieldProvenance": {
|
|
30
|
+
"pid": "OBSERVED",
|
|
31
|
+
"createdAt": "OBSERVED",
|
|
32
|
+
"executable": "OBSERVED",
|
|
33
|
+
"argvHash": "ATTESTED",
|
|
34
|
+
"workingDirectory": "ATTESTED",
|
|
35
|
+
"parentIdentity": "OBSERVED",
|
|
36
|
+
"ownerTokenHash": "ATTESTED",
|
|
37
|
+
"treeIdentity": "OBSERVED"
|
|
38
|
+
},
|
|
39
|
+
"capabilities": {
|
|
40
|
+
"canObserveCreateTime": true,
|
|
41
|
+
"canObserveExecutable": true,
|
|
42
|
+
"canObserveArgv": false,
|
|
43
|
+
"canObserveWorkingDirectory": false,
|
|
44
|
+
"canObserveParent": true,
|
|
45
|
+
"canEnumerateTree": true,
|
|
46
|
+
"canVerifyOwnership": true
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"id": "process-invalid-self-attested-pid",
|
|
52
|
+
"contract": "process-identity",
|
|
53
|
+
"valid": false,
|
|
54
|
+
"payload": {
|
|
55
|
+
"schemaVersion": 1,
|
|
56
|
+
"pid": 4200,
|
|
57
|
+
"alive": true,
|
|
58
|
+
"createdAt": null,
|
|
59
|
+
"executable": null,
|
|
60
|
+
"argvHash": null,
|
|
61
|
+
"workingDirectory": null,
|
|
62
|
+
"parentIdentity": null,
|
|
63
|
+
"ownerTokenHash": null,
|
|
64
|
+
"treeIdentity": null,
|
|
65
|
+
"fieldProvenance": {
|
|
66
|
+
"pid": "ATTESTED",
|
|
67
|
+
"createdAt": "UNAVAILABLE",
|
|
68
|
+
"executable": "UNAVAILABLE",
|
|
69
|
+
"argvHash": "UNAVAILABLE",
|
|
70
|
+
"workingDirectory": "UNAVAILABLE",
|
|
71
|
+
"parentIdentity": "UNAVAILABLE",
|
|
72
|
+
"ownerTokenHash": "UNAVAILABLE",
|
|
73
|
+
"treeIdentity": "UNAVAILABLE"
|
|
74
|
+
},
|
|
75
|
+
"capabilities": {
|
|
76
|
+
"canObserveCreateTime": false,
|
|
77
|
+
"canObserveExecutable": false,
|
|
78
|
+
"canObserveArgv": false,
|
|
79
|
+
"canObserveWorkingDirectory": false,
|
|
80
|
+
"canObserveParent": false,
|
|
81
|
+
"canEnumerateTree": false,
|
|
82
|
+
"canVerifyOwnership": false
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"id": "run-valid-ok",
|
|
88
|
+
"contract": "run-session",
|
|
89
|
+
"valid": true,
|
|
90
|
+
"payload": {
|
|
91
|
+
"schemaVersion": 1,
|
|
92
|
+
"sessionId": "run-valid-ok",
|
|
93
|
+
"status": "OK",
|
|
94
|
+
"reasonCode": "CHILD_EXIT_ZERO",
|
|
95
|
+
"exitCode": 0,
|
|
96
|
+
"processIdentity": null,
|
|
97
|
+
"heartbeat": null,
|
|
98
|
+
"logs": {
|
|
99
|
+
"stdout": {
|
|
100
|
+
"cursor": 12,
|
|
101
|
+
"rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
|
102
|
+
"decodeStatus": "OK"
|
|
103
|
+
},
|
|
104
|
+
"stderr": {
|
|
105
|
+
"cursor": 0,
|
|
106
|
+
"rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
107
|
+
"decodeStatus": "OK"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"cleanup": {
|
|
111
|
+
"complete": true,
|
|
112
|
+
"reasonCode": null
|
|
113
|
+
},
|
|
114
|
+
"resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
"id": "run-invalid-terminal-exit",
|
|
119
|
+
"contract": "run-session",
|
|
120
|
+
"valid": false,
|
|
121
|
+
"payload": {
|
|
122
|
+
"schemaVersion": 1,
|
|
123
|
+
"sessionId": "run-invalid-terminal-exit",
|
|
124
|
+
"status": "FAIL",
|
|
125
|
+
"reasonCode": "CHILD_EXIT_NONZERO",
|
|
126
|
+
"exitCode": null,
|
|
127
|
+
"processIdentity": null,
|
|
128
|
+
"heartbeat": null,
|
|
129
|
+
"logs": {
|
|
130
|
+
"stdout": {
|
|
131
|
+
"cursor": 0,
|
|
132
|
+
"rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
|
133
|
+
"decodeStatus": "OK"
|
|
134
|
+
},
|
|
135
|
+
"stderr": {
|
|
136
|
+
"cursor": 4,
|
|
137
|
+
"rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
138
|
+
"decodeStatus": "OK"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"cleanup": {
|
|
142
|
+
"complete": true,
|
|
143
|
+
"reasonCode": null
|
|
144
|
+
},
|
|
145
|
+
"resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
{
|
|
149
|
+
"id": "run-valid-incomplete",
|
|
150
|
+
"contract": "run-session",
|
|
151
|
+
"valid": true,
|
|
152
|
+
"payload": {
|
|
153
|
+
"schemaVersion": 1,
|
|
154
|
+
"sessionId": "run-valid-incomplete",
|
|
155
|
+
"status": "INCOMPLETE",
|
|
156
|
+
"reasonCode": "HEARTBEAT_LOST",
|
|
157
|
+
"exitCode": null,
|
|
158
|
+
"processIdentity": null,
|
|
159
|
+
"heartbeat": {
|
|
160
|
+
"kind": "WORKER",
|
|
161
|
+
"writerIdentity": "sha256:ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
|
|
162
|
+
"lastSeenAt": "2026-07-31T12:00:30Z",
|
|
163
|
+
"ttlSeconds": 30,
|
|
164
|
+
"staleReason": "HEARTBEAT_LOST"
|
|
165
|
+
},
|
|
166
|
+
"logs": {
|
|
167
|
+
"stdout": {
|
|
168
|
+
"cursor": 2,
|
|
169
|
+
"rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
|
170
|
+
"decodeStatus": "LOG_DECODE_DEGRADED"
|
|
171
|
+
},
|
|
172
|
+
"stderr": {
|
|
173
|
+
"cursor": 0,
|
|
174
|
+
"rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
175
|
+
"decodeStatus": "OK"
|
|
176
|
+
}
|
|
177
|
+
},
|
|
178
|
+
"cleanup": {
|
|
179
|
+
"complete": false,
|
|
180
|
+
"reasonCode": "IDENTITY_UNVERIFIABLE"
|
|
181
|
+
},
|
|
182
|
+
"resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
{
|
|
186
|
+
"id": "run-invalid-incomplete-exit",
|
|
187
|
+
"contract": "run-session",
|
|
188
|
+
"valid": false,
|
|
189
|
+
"payload": {
|
|
190
|
+
"schemaVersion": 1,
|
|
191
|
+
"sessionId": "run-invalid-incomplete-exit",
|
|
192
|
+
"status": "INCOMPLETE",
|
|
193
|
+
"reasonCode": "HEARTBEAT_LOST",
|
|
194
|
+
"exitCode": 9,
|
|
195
|
+
"processIdentity": null,
|
|
196
|
+
"heartbeat": null,
|
|
197
|
+
"logs": {
|
|
198
|
+
"stdout": {
|
|
199
|
+
"cursor": 0,
|
|
200
|
+
"rawDigest": "sha256:cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc",
|
|
201
|
+
"decodeStatus": "OK"
|
|
202
|
+
},
|
|
203
|
+
"stderr": {
|
|
204
|
+
"cursor": 0,
|
|
205
|
+
"rawDigest": "sha256:dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd",
|
|
206
|
+
"decodeStatus": "OK"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
"cleanup": {
|
|
210
|
+
"complete": false,
|
|
211
|
+
"reasonCode": "IDENTITY_UNVERIFIABLE"
|
|
212
|
+
},
|
|
213
|
+
"resultDigest": "sha256:eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"id": "service-valid-ready",
|
|
218
|
+
"contract": "service-session",
|
|
219
|
+
"valid": true,
|
|
220
|
+
"payload": {
|
|
221
|
+
"schemaVersion": 1,
|
|
222
|
+
"serviceId": "preview",
|
|
223
|
+
"sessionId": "service-preview-generation-2",
|
|
224
|
+
"status": "READY",
|
|
225
|
+
"reasonCode": "SERVICE_READY",
|
|
226
|
+
"serviceGeneration": 2,
|
|
227
|
+
"stateRevision": 3,
|
|
228
|
+
"operationId": "ensure-02",
|
|
229
|
+
"fingerprint": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
230
|
+
"processIdentity": null,
|
|
231
|
+
"heartbeat": {
|
|
232
|
+
"kind": "SUPERVISOR",
|
|
233
|
+
"writerIdentity": "sha256:2222222222222222222222222222222222222222222222222222222222222222",
|
|
234
|
+
"generation": 2,
|
|
235
|
+
"lastSeenAt": "2026-07-31T12:01:00Z",
|
|
236
|
+
"ttlSeconds": 30,
|
|
237
|
+
"staleReason": null
|
|
238
|
+
},
|
|
239
|
+
"leaseIdentity": {
|
|
240
|
+
"leaseId": "lease-preview-2",
|
|
241
|
+
"changeId": "change-preview",
|
|
242
|
+
"runId": "run-preview",
|
|
243
|
+
"expiresAt": "2026-07-31T13:00:00Z",
|
|
244
|
+
"generation": 2
|
|
245
|
+
},
|
|
246
|
+
"transitionHistory": [
|
|
247
|
+
{
|
|
248
|
+
"from": null,
|
|
249
|
+
"to": "STARTING",
|
|
250
|
+
"reasonCode": "SERVICE_START_REQUESTED",
|
|
251
|
+
"revision": 1
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"from": "STARTING",
|
|
255
|
+
"to": "READY",
|
|
256
|
+
"reasonCode": "SERVICE_READY",
|
|
257
|
+
"revision": 3
|
|
258
|
+
}
|
|
259
|
+
],
|
|
260
|
+
"cleanupComplete": false,
|
|
261
|
+
"supersedesSessionId": null
|
|
262
|
+
}
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"id": "service-invalid-revision",
|
|
266
|
+
"contract": "service-session",
|
|
267
|
+
"valid": false,
|
|
268
|
+
"payload": {
|
|
269
|
+
"schemaVersion": 1,
|
|
270
|
+
"serviceId": "preview",
|
|
271
|
+
"sessionId": "service-preview-generation-2",
|
|
272
|
+
"status": "READY",
|
|
273
|
+
"reasonCode": "SERVICE_READY",
|
|
274
|
+
"serviceGeneration": 2,
|
|
275
|
+
"stateRevision": 0,
|
|
276
|
+
"operationId": "ensure-02",
|
|
277
|
+
"fingerprint": "sha256:1111111111111111111111111111111111111111111111111111111111111111",
|
|
278
|
+
"processIdentity": null,
|
|
279
|
+
"heartbeat": null,
|
|
280
|
+
"leaseIdentity": null,
|
|
281
|
+
"transitionHistory": [],
|
|
282
|
+
"cleanupComplete": false,
|
|
283
|
+
"supersedesSessionId": null
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"id": "retirement-valid-retained",
|
|
288
|
+
"contract": "service-retirement-receipt",
|
|
289
|
+
"valid": true,
|
|
290
|
+
"payload": {
|
|
291
|
+
"schemaVersion": 1,
|
|
292
|
+
"receiptId": "retirement-preview-1",
|
|
293
|
+
"operationId": "retire-operation-1",
|
|
294
|
+
"serviceId": "preview",
|
|
295
|
+
"oldSessionId": "service-preview-generation-1",
|
|
296
|
+
"oldGeneration": 1,
|
|
297
|
+
"state": "FINALIZED",
|
|
298
|
+
"retirementStateCommit": {
|
|
299
|
+
"status": "COMMITTED",
|
|
300
|
+
"reasonCode": "SERVICE_RETIRED"
|
|
301
|
+
},
|
|
302
|
+
"leaseCleanup": {
|
|
303
|
+
"status": "RETAINED",
|
|
304
|
+
"reasonCode": "LISTENER_IDENTITY_UNVERIFIABLE",
|
|
305
|
+
"leaseId": "lease-preview-1"
|
|
306
|
+
},
|
|
307
|
+
"cleanupComplete": false,
|
|
308
|
+
"awaitingSuperseder": true,
|
|
309
|
+
"supersededBySessionId": null,
|
|
310
|
+
"receiptDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
|
|
311
|
+
}
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
"id": "retirement-invalid-cleanup-claim",
|
|
315
|
+
"contract": "service-retirement-receipt",
|
|
316
|
+
"valid": false,
|
|
317
|
+
"payload": {
|
|
318
|
+
"schemaVersion": 1,
|
|
319
|
+
"receiptId": "retirement-preview-1",
|
|
320
|
+
"operationId": "retire-operation-1",
|
|
321
|
+
"serviceId": "preview",
|
|
322
|
+
"oldSessionId": "service-preview-generation-1",
|
|
323
|
+
"oldGeneration": 1,
|
|
324
|
+
"state": "FINALIZED",
|
|
325
|
+
"retirementStateCommit": {
|
|
326
|
+
"status": "COMMITTED",
|
|
327
|
+
"reasonCode": "SERVICE_RETIRED"
|
|
328
|
+
},
|
|
329
|
+
"leaseCleanup": {
|
|
330
|
+
"status": "RETAINED",
|
|
331
|
+
"reasonCode": "LISTENER_IDENTITY_UNVERIFIABLE",
|
|
332
|
+
"leaseId": "lease-preview-1"
|
|
333
|
+
},
|
|
334
|
+
"cleanupComplete": true,
|
|
335
|
+
"awaitingSuperseder": true,
|
|
336
|
+
"supersededBySessionId": null,
|
|
337
|
+
"receiptDigest": "sha256:3333333333333333333333333333333333333333333333333333333333333333"
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
]
|
|
341
|
+
}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://hunter-harness.dev/contracts/process-identity.schema.json",
|
|
4
|
+
"title": "Hunter Harness process identity",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schemaVersion",
|
|
9
|
+
"pid",
|
|
10
|
+
"alive",
|
|
11
|
+
"createdAt",
|
|
12
|
+
"executable",
|
|
13
|
+
"argvHash",
|
|
14
|
+
"workingDirectory",
|
|
15
|
+
"parentIdentity",
|
|
16
|
+
"ownerTokenHash",
|
|
17
|
+
"treeIdentity",
|
|
18
|
+
"fieldProvenance",
|
|
19
|
+
"capabilities"
|
|
20
|
+
],
|
|
21
|
+
"properties": {
|
|
22
|
+
"schemaVersion": { "const": 1 },
|
|
23
|
+
"pid": { "type": "integer", "minimum": 1 },
|
|
24
|
+
"alive": { "type": "boolean" },
|
|
25
|
+
"createdAt": { "type": ["string", "null"], "minLength": 1 },
|
|
26
|
+
"executable": { "type": ["string", "null"], "minLength": 1 },
|
|
27
|
+
"argvHash": { "$ref": "#/$defs/nullableDigest" },
|
|
28
|
+
"workingDirectory": { "type": ["string", "null"], "minLength": 1 },
|
|
29
|
+
"parentIdentity": {
|
|
30
|
+
"oneOf": [
|
|
31
|
+
{ "type": "null" },
|
|
32
|
+
{
|
|
33
|
+
"type": "object",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"required": ["pid", "createdAt", "executable"],
|
|
36
|
+
"properties": {
|
|
37
|
+
"pid": { "type": "integer", "minimum": 1 },
|
|
38
|
+
"createdAt": { "type": ["string", "null"], "minLength": 1 },
|
|
39
|
+
"executable": { "type": ["string", "null"], "minLength": 1 }
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
"ownerTokenHash": { "$ref": "#/$defs/nullableDigest" },
|
|
45
|
+
"commandHash": { "$ref": "#/$defs/digest" },
|
|
46
|
+
"parentChain": { "type": "array" },
|
|
47
|
+
"startedAt": { "type": "string", "minLength": 1 },
|
|
48
|
+
"treeIdentity": {
|
|
49
|
+
"oneOf": [
|
|
50
|
+
{ "type": "null" },
|
|
51
|
+
{
|
|
52
|
+
"type": "object",
|
|
53
|
+
"additionalProperties": false,
|
|
54
|
+
"required": ["platform", "proofKind", "memberPids", "complete"],
|
|
55
|
+
"properties": {
|
|
56
|
+
"platform": { "enum": ["WINDOWS", "LINUX", "POSIX"] },
|
|
57
|
+
"proofKind": { "type": "string", "minLength": 1 },
|
|
58
|
+
"memberPids": {
|
|
59
|
+
"type": "array",
|
|
60
|
+
"items": { "type": "integer", "minimum": 1 },
|
|
61
|
+
"uniqueItems": true
|
|
62
|
+
},
|
|
63
|
+
"complete": { "type": "boolean" },
|
|
64
|
+
"groupId": { "type": "integer", "minimum": 1 },
|
|
65
|
+
"sessionId": { "type": "integer", "minimum": 1 }
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
},
|
|
70
|
+
"fieldProvenance": {
|
|
71
|
+
"type": "object",
|
|
72
|
+
"additionalProperties": false,
|
|
73
|
+
"required": [
|
|
74
|
+
"pid",
|
|
75
|
+
"createdAt",
|
|
76
|
+
"executable",
|
|
77
|
+
"argvHash",
|
|
78
|
+
"workingDirectory",
|
|
79
|
+
"parentIdentity",
|
|
80
|
+
"ownerTokenHash",
|
|
81
|
+
"treeIdentity"
|
|
82
|
+
],
|
|
83
|
+
"properties": {
|
|
84
|
+
"pid": { "const": "OBSERVED" },
|
|
85
|
+
"createdAt": { "$ref": "#/$defs/provenance" },
|
|
86
|
+
"executable": { "$ref": "#/$defs/provenance" },
|
|
87
|
+
"argvHash": { "$ref": "#/$defs/provenance" },
|
|
88
|
+
"workingDirectory": { "$ref": "#/$defs/provenance" },
|
|
89
|
+
"parentIdentity": { "$ref": "#/$defs/provenance" },
|
|
90
|
+
"ownerTokenHash": { "$ref": "#/$defs/provenance" },
|
|
91
|
+
"treeIdentity": { "$ref": "#/$defs/provenance" }
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"capabilities": {
|
|
95
|
+
"type": "object",
|
|
96
|
+
"additionalProperties": false,
|
|
97
|
+
"required": [
|
|
98
|
+
"canObserveCreateTime",
|
|
99
|
+
"canObserveExecutable",
|
|
100
|
+
"canObserveArgv",
|
|
101
|
+
"canObserveWorkingDirectory",
|
|
102
|
+
"canObserveParent",
|
|
103
|
+
"canEnumerateTree",
|
|
104
|
+
"canVerifyOwnership"
|
|
105
|
+
],
|
|
106
|
+
"properties": {
|
|
107
|
+
"canObserveCreateTime": { "type": "boolean" },
|
|
108
|
+
"canObserveExecutable": { "type": "boolean" },
|
|
109
|
+
"canObserveArgv": { "type": "boolean" },
|
|
110
|
+
"canObserveWorkingDirectory": { "type": "boolean" },
|
|
111
|
+
"canObserveParent": { "type": "boolean" },
|
|
112
|
+
"canEnumerateTree": { "type": "boolean" },
|
|
113
|
+
"canVerifyOwnership": { "type": "boolean" }
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"$defs": {
|
|
118
|
+
"digest": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"pattern": "^sha256:[0-9a-f]{64}$"
|
|
121
|
+
},
|
|
122
|
+
"nullableDigest": {
|
|
123
|
+
"oneOf": [
|
|
124
|
+
{ "$ref": "#/$defs/digest" },
|
|
125
|
+
{ "type": "null" }
|
|
126
|
+
]
|
|
127
|
+
},
|
|
128
|
+
"provenance": {
|
|
129
|
+
"enum": ["OBSERVED", "ATTESTED", "UNAVAILABLE"]
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|