@hunter-harness/workflow-harness 0.2.59 → 0.2.61
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/README.md +14 -16
- package/harness/bundles/general/claude-code/harness-archive/SKILL.md +43 -46
- package/harness/bundles/general/claude-code/harness-archive/checklist.md +10 -10
- package/harness/bundles/general/claude-code/harness-archive/reference.md +29 -22
- package/harness/bundles/general/claude-code/harness-archive/templates/summary-data-template.json +1 -7
- 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 +4 -4
- package/harness/bundles/general/claude-code/harness-review/SKILL.md +2 -2
- package/harness/bundles/general/claude-code/harness-run/SKILL.md +5 -3
- package/harness/bundles/general/claude-code/harness-run/checklist.md +10 -9
- package/harness/bundles/general/claude-code/harness-run/protocols.md +2 -0
- package/harness/bundles/general/claude-code/harness-run/reference.md +19 -16
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +2 -2
- package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-test/SKILL.md +2 -2
- package/harness/bundles/general/claude-code/harness-test/checklist.md +2 -2
- package/harness/bundles/general/claude-code/harness-test/pitfalls.md +3 -3
- package/harness/bundles/general/claude-code/harness-test/reference.md +2 -2
- package/harness/bundles/general/claude-code/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/general/claude-code/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/general/claude-code/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/general/claude-code/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/general/claude-code/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/general/claude-code/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/general/claude-code/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/general/claude-code/scripts/harness_context.py +8 -2
- package/harness/bundles/general/claude-code/scripts/harness_events.py +5 -0
- package/harness/bundles/general/claude-code/scripts/harness_ledger.py +79 -2
- package/harness/bundles/general/claude-code/scripts/harness_profile.py +7 -0
- package/harness/bundles/general/claude-code/scripts/harness_state.py +22 -3
- package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/general/codebuddy/README.md +14 -16
- package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +43 -46
- package/harness/bundles/general/codebuddy/harness-archive/checklist.md +10 -10
- package/harness/bundles/general/codebuddy/harness-archive/reference.md +29 -22
- package/harness/bundles/general/codebuddy/harness-archive/templates/summary-data-template.json +1 -7
- 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 +4 -4
- package/harness/bundles/general/codebuddy/harness-review/SKILL.md +2 -2
- package/harness/bundles/general/codebuddy/harness-run/SKILL.md +5 -3
- package/harness/bundles/general/codebuddy/harness-run/checklist.md +10 -9
- package/harness/bundles/general/codebuddy/harness-run/protocols.md +2 -0
- package/harness/bundles/general/codebuddy/harness-run/reference.md +19 -16
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +2 -2
- package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +2 -2
- package/harness/bundles/general/codebuddy/harness-test/checklist.md +2 -2
- package/harness/bundles/general/codebuddy/harness-test/pitfalls.md +3 -3
- package/harness/bundles/general/codebuddy/harness-test/reference.md +2 -2
- package/harness/bundles/general/codebuddy/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/general/codebuddy/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/general/codebuddy/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/general/codebuddy/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/general/codebuddy/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/general/codebuddy/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/general/codebuddy/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/general/codebuddy/scripts/harness_context.py +8 -2
- package/harness/bundles/general/codebuddy/scripts/harness_events.py +5 -0
- package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +79 -2
- package/harness/bundles/general/codebuddy/scripts/harness_profile.py +7 -0
- package/harness/bundles/general/codebuddy/scripts/harness_state.py +22 -3
- package/harness/bundles/general/codex/.harness-build.json +1 -1
- package/harness/bundles/general/codex/README.md +14 -16
- package/harness/bundles/general/codex/harness-archive/SKILL.md +43 -46
- package/harness/bundles/general/codex/harness-archive/checklist.md +10 -10
- package/harness/bundles/general/codex/harness-archive/reference.md +29 -22
- package/harness/bundles/general/codex/harness-archive/templates/summary-data-template.json +1 -7
- 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 +4 -4
- package/harness/bundles/general/codex/harness-review/SKILL.md +2 -2
- package/harness/bundles/general/codex/harness-run/SKILL.md +5 -3
- package/harness/bundles/general/codex/harness-run/checklist.md +10 -9
- package/harness/bundles/general/codex/harness-run/protocols.md +2 -0
- package/harness/bundles/general/codex/harness-run/reference.md +19 -16
- package/harness/bundles/general/codex/harness-submit/SKILL.md +2 -2
- package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-test/SKILL.md +2 -2
- package/harness/bundles/general/codex/harness-test/checklist.md +2 -2
- package/harness/bundles/general/codex/harness-test/pitfalls.md +3 -3
- package/harness/bundles/general/codex/harness-test/reference.md +2 -2
- package/harness/bundles/general/codex/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/general/codex/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/general/codex/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/general/codex/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/general/codex/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/general/codex/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/general/codex/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/general/codex/scripts/harness_context.py +8 -2
- package/harness/bundles/general/codex/scripts/harness_events.py +5 -0
- package/harness/bundles/general/codex/scripts/harness_ledger.py +79 -2
- package/harness/bundles/general/codex/scripts/harness_profile.py +7 -0
- package/harness/bundles/general/codex/scripts/harness_state.py +22 -3
- package/harness/bundles/general/cursor/.harness-build.json +1 -1
- package/harness/bundles/general/cursor/README.md +14 -16
- package/harness/bundles/general/cursor/harness-archive/SKILL.md +43 -46
- package/harness/bundles/general/cursor/harness-archive/checklist.md +10 -10
- package/harness/bundles/general/cursor/harness-archive/reference.md +29 -22
- package/harness/bundles/general/cursor/harness-archive/templates/summary-data-template.json +1 -7
- 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 +4 -4
- package/harness/bundles/general/cursor/harness-review/SKILL.md +2 -2
- package/harness/bundles/general/cursor/harness-run/SKILL.md +5 -3
- package/harness/bundles/general/cursor/harness-run/checklist.md +10 -9
- package/harness/bundles/general/cursor/harness-run/protocols.md +2 -0
- package/harness/bundles/general/cursor/harness-run/reference.md +19 -16
- package/harness/bundles/general/cursor/harness-submit/SKILL.md +2 -2
- package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-test/SKILL.md +2 -2
- package/harness/bundles/general/cursor/harness-test/checklist.md +2 -2
- package/harness/bundles/general/cursor/harness-test/pitfalls.md +3 -3
- package/harness/bundles/general/cursor/harness-test/reference.md +2 -2
- package/harness/bundles/general/cursor/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/general/cursor/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/general/cursor/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/general/cursor/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/general/cursor/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/general/cursor/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/general/cursor/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/general/cursor/scripts/harness_context.py +8 -2
- package/harness/bundles/general/cursor/scripts/harness_events.py +5 -0
- package/harness/bundles/general/cursor/scripts/harness_ledger.py +79 -2
- package/harness/bundles/general/cursor/scripts/harness_profile.py +7 -0
- package/harness/bundles/general/cursor/scripts/harness_state.py +22 -3
- package/harness/bundles/java/claude-code/.harness-build.json +1 -1
- package/harness/bundles/java/claude-code/README.md +14 -16
- package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +2 -2
- package/harness/bundles/java/claude-code/harness-archive/SKILL.md +43 -46
- package/harness/bundles/java/claude-code/harness-archive/checklist.md +10 -10
- package/harness/bundles/java/claude-code/harness-archive/reference.md +29 -22
- package/harness/bundles/java/claude-code/harness-archive/templates/summary-data-template.json +1 -7
- 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 +2 -2
- package/harness/bundles/java/claude-code/harness-plan/SKILL.md +4 -4
- package/harness/bundles/java/claude-code/harness-review/SKILL.md +2 -2
- package/harness/bundles/java/claude-code/harness-run/SKILL.md +5 -3
- package/harness/bundles/java/claude-code/harness-run/protocols.md +2 -0
- package/harness/bundles/java/claude-code/harness-submit/SKILL.md +2 -2
- package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-test/SKILL.md +2 -2
- package/harness/bundles/java/claude-code/harness-test/checklist.md +2 -2
- package/harness/bundles/java/claude-code/harness-test/pitfalls.md +3 -3
- package/harness/bundles/java/claude-code/harness-test/reference.md +2 -2
- package/harness/bundles/java/claude-code/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/java/claude-code/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/java/claude-code/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/java/claude-code/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/java/claude-code/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/java/claude-code/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/java/claude-code/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/java/claude-code/scripts/harness_context.py +8 -2
- package/harness/bundles/java/claude-code/scripts/harness_events.py +5 -0
- package/harness/bundles/java/claude-code/scripts/harness_ledger.py +79 -2
- package/harness/bundles/java/claude-code/scripts/harness_profile.py +7 -0
- package/harness/bundles/java/claude-code/scripts/harness_state.py +22 -3
- package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/java/codebuddy/README.md +14 -16
- package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +2 -2
- package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +43 -46
- package/harness/bundles/java/codebuddy/harness-archive/checklist.md +10 -10
- package/harness/bundles/java/codebuddy/harness-archive/reference.md +29 -22
- package/harness/bundles/java/codebuddy/harness-archive/templates/summary-data-template.json +1 -7
- 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 +2 -2
- package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +4 -4
- package/harness/bundles/java/codebuddy/harness-review/SKILL.md +2 -2
- package/harness/bundles/java/codebuddy/harness-run/SKILL.md +5 -3
- package/harness/bundles/java/codebuddy/harness-run/protocols.md +2 -0
- package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +2 -2
- package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-test/SKILL.md +2 -2
- package/harness/bundles/java/codebuddy/harness-test/checklist.md +2 -2
- package/harness/bundles/java/codebuddy/harness-test/pitfalls.md +3 -3
- package/harness/bundles/java/codebuddy/harness-test/reference.md +2 -2
- package/harness/bundles/java/codebuddy/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/java/codebuddy/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/java/codebuddy/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/java/codebuddy/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/java/codebuddy/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/java/codebuddy/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/java/codebuddy/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/java/codebuddy/scripts/harness_context.py +8 -2
- package/harness/bundles/java/codebuddy/scripts/harness_events.py +5 -0
- package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +79 -2
- package/harness/bundles/java/codebuddy/scripts/harness_profile.py +7 -0
- package/harness/bundles/java/codebuddy/scripts/harness_state.py +22 -3
- package/harness/bundles/java/codex/.harness-build.json +1 -1
- package/harness/bundles/java/codex/README.md +14 -16
- package/harness/bundles/java/codex/harness-apidoc/SKILL.md +2 -2
- package/harness/bundles/java/codex/harness-archive/SKILL.md +43 -46
- package/harness/bundles/java/codex/harness-archive/checklist.md +10 -10
- package/harness/bundles/java/codex/harness-archive/reference.md +29 -22
- package/harness/bundles/java/codex/harness-archive/templates/summary-data-template.json +1 -7
- 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 +2 -2
- package/harness/bundles/java/codex/harness-plan/SKILL.md +4 -4
- package/harness/bundles/java/codex/harness-review/SKILL.md +2 -2
- package/harness/bundles/java/codex/harness-run/SKILL.md +5 -3
- package/harness/bundles/java/codex/harness-run/protocols.md +2 -0
- package/harness/bundles/java/codex/harness-submit/SKILL.md +2 -2
- package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-test/SKILL.md +2 -2
- package/harness/bundles/java/codex/harness-test/checklist.md +2 -2
- package/harness/bundles/java/codex/harness-test/pitfalls.md +3 -3
- package/harness/bundles/java/codex/harness-test/reference.md +2 -2
- package/harness/bundles/java/codex/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/java/codex/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/java/codex/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/java/codex/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/java/codex/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/java/codex/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/java/codex/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/java/codex/scripts/harness_context.py +8 -2
- package/harness/bundles/java/codex/scripts/harness_events.py +5 -0
- package/harness/bundles/java/codex/scripts/harness_ledger.py +79 -2
- package/harness/bundles/java/codex/scripts/harness_profile.py +7 -0
- package/harness/bundles/java/codex/scripts/harness_state.py +22 -3
- package/harness/bundles/java/cursor/.harness-build.json +1 -1
- package/harness/bundles/java/cursor/README.md +14 -16
- package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +2 -2
- package/harness/bundles/java/cursor/harness-archive/SKILL.md +43 -46
- package/harness/bundles/java/cursor/harness-archive/checklist.md +10 -10
- package/harness/bundles/java/cursor/harness-archive/reference.md +29 -22
- package/harness/bundles/java/cursor/harness-archive/templates/summary-data-template.json +1 -7
- 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 +2 -2
- package/harness/bundles/java/cursor/harness-plan/SKILL.md +4 -4
- package/harness/bundles/java/cursor/harness-review/SKILL.md +2 -2
- package/harness/bundles/java/cursor/harness-run/SKILL.md +5 -3
- package/harness/bundles/java/cursor/harness-run/protocols.md +2 -0
- package/harness/bundles/java/cursor/harness-submit/SKILL.md +2 -2
- package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-test/SKILL.md +2 -2
- package/harness/bundles/java/cursor/harness-test/checklist.md +2 -2
- package/harness/bundles/java/cursor/harness-test/pitfalls.md +3 -3
- package/harness/bundles/java/cursor/harness-test/reference.md +2 -2
- package/harness/bundles/java/cursor/protocols/archive-report-protocol.md +18 -25
- package/harness/bundles/java/cursor/protocols/evidence-based-reporting-protocol.md +5 -5
- package/harness/bundles/java/cursor/protocols/ledger-protocol.md +7 -7
- package/harness/bundles/java/cursor/protocols/report-pipeline-protocol.md +10 -9
- package/harness/bundles/java/cursor/protocols/sensitive-info-protocol.md +3 -3
- package/harness/bundles/java/cursor/protocols/state-layout-protocol.md +5 -6
- package/harness/bundles/java/cursor/scripts/harness_archive.py +1043 -1108
- package/harness/bundles/java/cursor/scripts/harness_context.py +8 -2
- package/harness/bundles/java/cursor/scripts/harness_events.py +5 -0
- package/harness/bundles/java/cursor/scripts/harness_ledger.py +79 -2
- package/harness/bundles/java/cursor/scripts/harness_profile.py +7 -0
- package/harness/bundles/java/cursor/scripts/harness_state.py +22 -3
- package/harness/manifests/general/claude-code.json +35 -39
- package/harness/manifests/general/codebuddy.json +35 -39
- package/harness/manifests/general/codex.json +35 -39
- package/harness/manifests/general/cursor.json +35 -39
- package/harness/manifests/java/claude-code.json +35 -39
- package/harness/manifests/java/codebuddy.json +35 -39
- package/harness/manifests/java/codex.json +35 -39
- package/harness/manifests/java/cursor.json +35 -39
- package/hunter-workflow-family.json +5 -5
- package/package.json +1 -1
- package/harness/bundles/general/claude-code/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/general/codebuddy/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/general/codex/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/general/cursor/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/java/claude-code/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/java/codebuddy/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/java/codex/harness-archive/templates/render-summary.mjs +0 -299
- package/harness/bundles/java/cursor/harness-archive/templates/render-summary.mjs +0 -299
|
@@ -810,10 +810,15 @@ def close_transition(
|
|
|
810
810
|
artifact_entries: list[dict[str, Any]] = []
|
|
811
811
|
for raw in artifacts or []:
|
|
812
812
|
requested = Path(raw)
|
|
813
|
+
artifact_bases: list[Path] = []
|
|
814
|
+
for base in (project, contract_root, state_root):
|
|
815
|
+
resolved_base = base.resolve()
|
|
816
|
+
if resolved_base not in artifact_bases:
|
|
817
|
+
artifact_bases.append(resolved_base)
|
|
813
818
|
candidates = (
|
|
814
819
|
[requested]
|
|
815
820
|
if requested.is_absolute()
|
|
816
|
-
else [
|
|
821
|
+
else [base / requested for base in artifact_bases]
|
|
817
822
|
)
|
|
818
823
|
valid: list[Path] = []
|
|
819
824
|
for candidate in candidates:
|
|
@@ -838,10 +843,11 @@ def close_transition(
|
|
|
838
843
|
"ok": False,
|
|
839
844
|
"code": "TRANSITION_ARTIFACT_INVALID",
|
|
840
845
|
"path": raw,
|
|
841
|
-
"acceptedBases": [str(
|
|
846
|
+
"acceptedBases": [str(base) for base in artifact_bases],
|
|
842
847
|
"examples": [
|
|
843
848
|
str(contract_root / "meta" / "plan-finalization.json"),
|
|
844
849
|
f".harness/changes/{change}/meta/plan-finalization.json",
|
|
850
|
+
f".harness/state/changes/{change}/evidence/verification-ledger.json",
|
|
845
851
|
"meta/plan-finalization.json",
|
|
846
852
|
],
|
|
847
853
|
}
|
|
@@ -1077,6 +1077,11 @@ def split_phase_attempts(phase_events: list[dict[str, Any]]) -> list[dict[str, A
|
|
|
1077
1077
|
"external.wait",
|
|
1078
1078
|
"issue",
|
|
1079
1079
|
"ci.wait",
|
|
1080
|
+
# Preparation is intentionally outside the formal phase lifecycle.
|
|
1081
|
+
# A blocked preflight must remain visible in the raw timeline without
|
|
1082
|
+
# manufacturing an attempt or inflating the phase duration/count.
|
|
1083
|
+
"phase.prepare.start",
|
|
1084
|
+
"phase.prepare.end",
|
|
1080
1085
|
}
|
|
1081
1086
|
for event in phase_events:
|
|
1082
1087
|
if event.get("type") == "phase.start":
|
|
@@ -1053,6 +1053,40 @@ def ledger_evidence_identity(ledger: dict[str, Any]) -> str:
|
|
|
1053
1053
|
return "sha256:" + hashlib.sha256(canonical).hexdigest()
|
|
1054
1054
|
|
|
1055
1055
|
|
|
1056
|
+
def _immutable_change_base(
|
|
1057
|
+
change_dir: Path,
|
|
1058
|
+
project_root: Path,
|
|
1059
|
+
) -> str:
|
|
1060
|
+
roots = [change_dir]
|
|
1061
|
+
try:
|
|
1062
|
+
state_root = harness_paths.resolve_state_dir_for_contract(
|
|
1063
|
+
change_dir,
|
|
1064
|
+
project_root,
|
|
1065
|
+
)
|
|
1066
|
+
if state_root.resolve() != change_dir.resolve():
|
|
1067
|
+
roots.insert(0, state_root)
|
|
1068
|
+
except (OSError, ValueError):
|
|
1069
|
+
pass
|
|
1070
|
+
for root in roots:
|
|
1071
|
+
for relative in (
|
|
1072
|
+
Path("meta") / "state-snapshot.json",
|
|
1073
|
+
Path("state-snapshot.json"),
|
|
1074
|
+
):
|
|
1075
|
+
path = root / relative
|
|
1076
|
+
if not path.is_file():
|
|
1077
|
+
continue
|
|
1078
|
+
try:
|
|
1079
|
+
payload = json.loads(path.read_text(encoding="utf-8-sig"))
|
|
1080
|
+
except (OSError, json.JSONDecodeError, TypeError):
|
|
1081
|
+
continue
|
|
1082
|
+
if not isinstance(payload, dict):
|
|
1083
|
+
continue
|
|
1084
|
+
value = str(payload.get("changeBase") or "").strip()
|
|
1085
|
+
if value:
|
|
1086
|
+
return value
|
|
1087
|
+
return ""
|
|
1088
|
+
|
|
1089
|
+
|
|
1056
1090
|
def migrate_ledger_for_write(
|
|
1057
1091
|
change_dir: Path,
|
|
1058
1092
|
ledger: dict[str, Any],
|
|
@@ -1089,6 +1123,15 @@ def migrate_ledger_for_write(
|
|
|
1089
1123
|
if not _nonempty_str(resolved_base):
|
|
1090
1124
|
resolved_base = ledger.get("baseCommit")
|
|
1091
1125
|
if not _nonempty_str(resolved_base):
|
|
1126
|
+
resolved_base = _immutable_change_base(change_dir, repo_root)
|
|
1127
|
+
if not _nonempty_str(resolved_base):
|
|
1128
|
+
if record_migration:
|
|
1129
|
+
raise LedgerMigrationError(
|
|
1130
|
+
"immutable change base is missing; recapture the Plan boundary "
|
|
1131
|
+
"or pass an explicit --base-commit instead of using write-time HEAD"
|
|
1132
|
+
)
|
|
1133
|
+
# A genuinely new ledger establishes its identity at the first write.
|
|
1134
|
+
# Existing ledgers are handled above and may never take this fallback.
|
|
1092
1135
|
resolved_base = current_head
|
|
1093
1136
|
resolved_diff = diff_hash
|
|
1094
1137
|
if not _nonempty_str(resolved_diff):
|
|
@@ -2795,9 +2838,43 @@ def cmd_diff_hash(args: argparse.Namespace) -> int:
|
|
|
2795
2838
|
repo_raw = getattr(args, "repo", None)
|
|
2796
2839
|
repo = Path(repo_raw).expanduser().resolve() if repo_raw else Path.cwd().resolve()
|
|
2797
2840
|
base = getattr(args, "base", None)
|
|
2798
|
-
|
|
2841
|
+
change_dir_raw = getattr(args, "change_dir", None)
|
|
2799
2842
|
try:
|
|
2800
|
-
|
|
2843
|
+
change_dir = resolve_path(change_dir_raw) if change_dir_raw else None
|
|
2844
|
+
if change_dir is not None and _contract_is_v2(change_dir):
|
|
2845
|
+
resolved_base = str(base or "").strip()
|
|
2846
|
+
if not resolved_base:
|
|
2847
|
+
existing, _ = load_ledger(change_dir)
|
|
2848
|
+
if isinstance(existing, dict):
|
|
2849
|
+
resolved_base = str(existing.get("baseCommit") or "").strip()
|
|
2850
|
+
if not resolved_base:
|
|
2851
|
+
resolved_base = _immutable_change_base(change_dir, repo)
|
|
2852
|
+
if not resolved_base:
|
|
2853
|
+
raise ValueError(
|
|
2854
|
+
"immutable change base is missing; capture the Plan boundary "
|
|
2855
|
+
"or pass --base"
|
|
2856
|
+
)
|
|
2857
|
+
detail = compute_ownership_diff(
|
|
2858
|
+
repo,
|
|
2859
|
+
base=resolved_base,
|
|
2860
|
+
change_dir=change_dir,
|
|
2861
|
+
)
|
|
2862
|
+
payload = {
|
|
2863
|
+
"ok": True,
|
|
2864
|
+
"action": "diff-hash",
|
|
2865
|
+
"identityScope": "change-ownership",
|
|
2866
|
+
"algorithmVersion": "ownership-content-changeset-1",
|
|
2867
|
+
"base": resolved_base,
|
|
2868
|
+
"head": _git_text(repo, "rev-parse", "--verify", "HEAD"),
|
|
2869
|
+
**detail,
|
|
2870
|
+
}
|
|
2871
|
+
emit_json(payload, as_json=as_json)
|
|
2872
|
+
return 0
|
|
2873
|
+
diff_hash, meta = compute_diff_hash(
|
|
2874
|
+
repo,
|
|
2875
|
+
base=base,
|
|
2876
|
+
change_dir=str(change_dir) if change_dir is not None else None,
|
|
2877
|
+
)
|
|
2801
2878
|
except (OSError, RuntimeError, ValueError) as exc:
|
|
2802
2879
|
return emit_error(str(exc), as_json=as_json)
|
|
2803
2880
|
payload = {"ok": True, "action": "diff-hash", "diffHash": diff_hash}
|
|
@@ -838,13 +838,20 @@ def _node_commands(project: Path) -> dict[str, Any]:
|
|
|
838
838
|
"src/**/*.tsx",
|
|
839
839
|
"test/**/*.ts",
|
|
840
840
|
"test/**/*.tsx",
|
|
841
|
+
"tests/**/*.ts",
|
|
842
|
+
"tests/**/*.tsx",
|
|
841
843
|
"packages/*/src/**/*.ts",
|
|
842
844
|
"packages/*/src/**/*.tsx",
|
|
843
845
|
"packages/*/test/**/*.ts",
|
|
844
846
|
"packages/*/test/**/*.tsx",
|
|
847
|
+
"packages/*/tests/**/*.ts",
|
|
848
|
+
"packages/*/tests/**/*.tsx",
|
|
845
849
|
"apps/*/src/**/*.ts",
|
|
846
850
|
"apps/*/src/**/*.tsx",
|
|
847
851
|
"apps/*/test/**/*.ts",
|
|
852
|
+
"apps/*/test/**/*.tsx",
|
|
853
|
+
"apps/*/tests/**/*.ts",
|
|
854
|
+
"apps/*/tests/**/*.tsx",
|
|
848
855
|
]
|
|
849
856
|
# harness dogfood: canonical Python + .mjs sources feed npm run check (vitest
|
|
850
857
|
# imports harness-test/scripts; smoke:pack runs sync-harness.mjs).
|
|
@@ -119,6 +119,10 @@ def capture_snapshot(
|
|
|
119
119
|
"schemaVersion": SNAPSHOT_SCHEMA_VERSION,
|
|
120
120
|
"generatedAt": now_iso(),
|
|
121
121
|
"changeName": change_name,
|
|
122
|
+
# The first captured Git boundary is the immutable identity of the
|
|
123
|
+
# change. Later phases may advance HEAD, but must never silently move
|
|
124
|
+
# the base and collapse the archive range.
|
|
125
|
+
"changeBase": base or "",
|
|
122
126
|
"project": {"root": str(project.resolve())},
|
|
123
127
|
"worktree": {"root": str(Path(worktree_root).resolve())},
|
|
124
128
|
"git": {"base": base or "", "head": head or ""},
|
|
@@ -250,10 +254,25 @@ def capture_current_state(
|
|
|
250
254
|
base: str = "",
|
|
251
255
|
head: str = "HEAD",
|
|
252
256
|
) -> tuple[dict[str, Any], list[str]]:
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
files = discover_segment_files(project, change_dir, base=resolved_base, head=resolved_head)
|
|
257
|
+
git_head = _git(project, "rev-parse", head)
|
|
258
|
+
resolved_head = git_head or head
|
|
256
259
|
previous = load_snapshot(change_dir)
|
|
260
|
+
previous_git = previous.get("git") if isinstance(previous, dict) else None
|
|
261
|
+
previous_base = (
|
|
262
|
+
str(previous.get("changeBase") or "").strip()
|
|
263
|
+
if isinstance(previous, dict)
|
|
264
|
+
else ""
|
|
265
|
+
)
|
|
266
|
+
if not previous_base and isinstance(previous_git, dict):
|
|
267
|
+
previous_base = str(
|
|
268
|
+
previous_git.get("base") or previous_git.get("baseCommit") or ""
|
|
269
|
+
).strip()
|
|
270
|
+
requested_base = _git(project, "rev-parse", base) if base else ""
|
|
271
|
+
# First capture establishes the boundary. A later --base value is an
|
|
272
|
+
# observation hint only; changing the boundary requires the explicit
|
|
273
|
+
# archive range-adoption receipt.
|
|
274
|
+
resolved_base = previous_base or requested_base or git_head
|
|
275
|
+
files = discover_segment_files(project, change_dir, base=resolved_base, head=resolved_head)
|
|
257
276
|
fresh = capture_snapshot(
|
|
258
277
|
change_dir,
|
|
259
278
|
change_name=change_name,
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "claude-code",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.50",
|
|
6
6
|
"requires": {
|
|
7
|
-
"minimumCliVersion": "0.2.
|
|
7
|
+
"minimumCliVersion": "0.2.67",
|
|
8
8
|
"capabilities": [
|
|
9
9
|
"sync@2",
|
|
10
10
|
"rules-sync@1",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"files": [
|
|
24
24
|
{
|
|
25
25
|
"path": ".harness-build.json",
|
|
26
|
-
"sha256": "
|
|
26
|
+
"sha256": "8b914d22f840a59a680468f1bdca127d7066fffc253321e55071e294c3bffa64"
|
|
27
27
|
},
|
|
28
28
|
{
|
|
29
29
|
"path": "agents/harness-evaluator.md",
|
|
@@ -83,11 +83,11 @@
|
|
|
83
83
|
},
|
|
84
84
|
{
|
|
85
85
|
"path": "harness-archive/checklist.md",
|
|
86
|
-
"sha256": "
|
|
86
|
+
"sha256": "4844dcfbe052fe0d95a8b41120502777b35ea538d9fcb63c86ca720368a7196d"
|
|
87
87
|
},
|
|
88
88
|
{
|
|
89
89
|
"path": "harness-archive/reference.md",
|
|
90
|
-
"sha256": "
|
|
90
|
+
"sha256": "a9f4ff879018d3e9ff7ad267396ae786ca30cee1239bbf0479a92880bbbcd89b"
|
|
91
91
|
},
|
|
92
92
|
{
|
|
93
93
|
"path": "harness-archive/scripts/gen-manifest.ps1",
|
|
@@ -95,15 +95,11 @@
|
|
|
95
95
|
},
|
|
96
96
|
{
|
|
97
97
|
"path": "harness-archive/SKILL.md",
|
|
98
|
-
"sha256": "
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
"path": "harness-archive/templates/render-summary.mjs",
|
|
102
|
-
"sha256": "970585dcd1c590a6fc985289954b60c41b2cf012df7ea2dd790260e452e404c9"
|
|
98
|
+
"sha256": "cd0e297bc677caf07f74cf53b58280545c53c92d7373a01c7a52ffcb042a7969"
|
|
103
99
|
},
|
|
104
100
|
{
|
|
105
101
|
"path": "harness-archive/templates/summary-data-template.json",
|
|
106
|
-
"sha256": "
|
|
102
|
+
"sha256": "626e8821af4a29d51ae7a8d8e97f413fa72ce5c440186d115b5390bab24df77c"
|
|
107
103
|
},
|
|
108
104
|
{
|
|
109
105
|
"path": "harness-codebase-map/checklist.md",
|
|
@@ -115,7 +111,7 @@
|
|
|
115
111
|
},
|
|
116
112
|
{
|
|
117
113
|
"path": "harness-codebase-map/SKILL.md",
|
|
118
|
-
"sha256": "
|
|
114
|
+
"sha256": "df01a87236c743a80f654710bab97192c5c3c9fd3955ca3b8d6503442ab83309"
|
|
119
115
|
},
|
|
120
116
|
{
|
|
121
117
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -155,11 +151,11 @@
|
|
|
155
151
|
},
|
|
156
152
|
{
|
|
157
153
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
158
|
-
"sha256": "
|
|
154
|
+
"sha256": "c2bf251986d898bd01610f66f07ddd450f0a568207741119bf978d647b405ad3"
|
|
159
155
|
},
|
|
160
156
|
{
|
|
161
157
|
"path": "harness-knowledge-query/SKILL.md",
|
|
162
|
-
"sha256": "
|
|
158
|
+
"sha256": "61af7d3dd7a65de6667b0366cd8ecc77dd3bf778ab6959faa0f6f28653c3522b"
|
|
163
159
|
},
|
|
164
160
|
{
|
|
165
161
|
"path": "harness-plan/checklist.md",
|
|
@@ -175,7 +171,7 @@
|
|
|
175
171
|
},
|
|
176
172
|
{
|
|
177
173
|
"path": "harness-plan/SKILL.md",
|
|
178
|
-
"sha256": "
|
|
174
|
+
"sha256": "d5970b58fc9b46755a145834c9045f122ea3777bf1ac5f402794a2a73ec6452f"
|
|
179
175
|
},
|
|
180
176
|
{
|
|
181
177
|
"path": "harness-review/checklist.md",
|
|
@@ -191,23 +187,23 @@
|
|
|
191
187
|
},
|
|
192
188
|
{
|
|
193
189
|
"path": "harness-review/SKILL.md",
|
|
194
|
-
"sha256": "
|
|
190
|
+
"sha256": "4137a8aa990c1aaaa12660689b7dfad51c102cb578c779b956c1fc98e062ecad"
|
|
195
191
|
},
|
|
196
192
|
{
|
|
197
193
|
"path": "harness-run/checklist.md",
|
|
198
|
-
"sha256": "
|
|
194
|
+
"sha256": "76d32970de25d4d56a04c6935846eabd37bc16767bccd979f9f3fdcbd5d39dd7"
|
|
199
195
|
},
|
|
200
196
|
{
|
|
201
197
|
"path": "harness-run/protocols.md",
|
|
202
|
-
"sha256": "
|
|
198
|
+
"sha256": "101d52437bd439016227ea0b3ae188c1ca834a85d9c6f1c69a032ac9045f8cf4"
|
|
203
199
|
},
|
|
204
200
|
{
|
|
205
201
|
"path": "harness-run/reference.md",
|
|
206
|
-
"sha256": "
|
|
202
|
+
"sha256": "1d9714349da70302f19ba2a8f41bfaa125beb099db559070df3c0539c8da3a69"
|
|
207
203
|
},
|
|
208
204
|
{
|
|
209
205
|
"path": "harness-run/SKILL.md",
|
|
210
|
-
"sha256": "
|
|
206
|
+
"sha256": "2a0050feba8f4e9e2257471b52cc7f5ef340b67e328c1979c0b630455f2530b7"
|
|
211
207
|
},
|
|
212
208
|
{
|
|
213
209
|
"path": "harness-submit/checklist.md",
|
|
@@ -219,7 +215,7 @@
|
|
|
219
215
|
},
|
|
220
216
|
{
|
|
221
217
|
"path": "harness-submit/SKILL.md",
|
|
222
|
-
"sha256": "
|
|
218
|
+
"sha256": "b762b04506481dc8c177b70ed74c99c43b9b5d0cb0e59700301a526217f2e783"
|
|
223
219
|
},
|
|
224
220
|
{
|
|
225
221
|
"path": "harness-sync/reference.md",
|
|
@@ -227,11 +223,11 @@
|
|
|
227
223
|
},
|
|
228
224
|
{
|
|
229
225
|
"path": "harness-sync/SKILL.md",
|
|
230
|
-
"sha256": "
|
|
226
|
+
"sha256": "1c7a430e1a1d44da6b0e1efb590d0165169c3cac9dc5c6f8f8fb9ecdcce6fa5f"
|
|
231
227
|
},
|
|
232
228
|
{
|
|
233
229
|
"path": "harness-test/checklist.md",
|
|
234
|
-
"sha256": "
|
|
230
|
+
"sha256": "b61055fdb7e22a53160bc66cba91b8d842bee501d50bd2122dae5849f2e9cf71"
|
|
235
231
|
},
|
|
236
232
|
{
|
|
237
233
|
"path": "harness-test/pitfalls-java.md",
|
|
@@ -239,11 +235,11 @@
|
|
|
239
235
|
},
|
|
240
236
|
{
|
|
241
237
|
"path": "harness-test/pitfalls.md",
|
|
242
|
-
"sha256": "
|
|
238
|
+
"sha256": "e28bdcbff963d3cb071a5b0662fccf73682e8c26c83bb57981f9e4c2ce308ba3"
|
|
243
239
|
},
|
|
244
240
|
{
|
|
245
241
|
"path": "harness-test/reference.md",
|
|
246
|
-
"sha256": "
|
|
242
|
+
"sha256": "02104991a1a551181a618cca6d793b3a193546b4f7c5d34858ea768dee7545ef"
|
|
247
243
|
},
|
|
248
244
|
{
|
|
249
245
|
"path": "harness-test/scripts/runtime-helpers.mjs",
|
|
@@ -251,11 +247,11 @@
|
|
|
251
247
|
},
|
|
252
248
|
{
|
|
253
249
|
"path": "harness-test/SKILL.md",
|
|
254
|
-
"sha256": "
|
|
250
|
+
"sha256": "24398adf6467864d5bb8534f91bfc6a51fa1320d97c5207ba91abd03c48b92d5"
|
|
255
251
|
},
|
|
256
252
|
{
|
|
257
253
|
"path": "protocols/archive-report-protocol.md",
|
|
258
|
-
"sha256": "
|
|
254
|
+
"sha256": "23add8a690289b5007bb9a38db55009b41866731f0c37c287ce9467392700652"
|
|
259
255
|
},
|
|
260
256
|
{
|
|
261
257
|
"path": "protocols/ci-layering-protocol.md",
|
|
@@ -263,7 +259,7 @@
|
|
|
263
259
|
},
|
|
264
260
|
{
|
|
265
261
|
"path": "protocols/evidence-based-reporting-protocol.md",
|
|
266
|
-
"sha256": "
|
|
262
|
+
"sha256": "6560ccf52fa1e29da7a895eb88f1c7fb18c10d70b83f9e86d8fe4edf4b863ceb"
|
|
267
263
|
},
|
|
268
264
|
{
|
|
269
265
|
"path": "protocols/execution-session-protocol.md",
|
|
@@ -275,7 +271,7 @@
|
|
|
275
271
|
},
|
|
276
272
|
{
|
|
277
273
|
"path": "protocols/ledger-protocol.md",
|
|
278
|
-
"sha256": "
|
|
274
|
+
"sha256": "c52d7e7d0ee1b21e761edcef2d0e853af3c381dcde3a323d3959b77d56e9818e"
|
|
279
275
|
},
|
|
280
276
|
{
|
|
281
277
|
"path": "protocols/memory-closeout-protocol.md",
|
|
@@ -295,15 +291,15 @@
|
|
|
295
291
|
},
|
|
296
292
|
{
|
|
297
293
|
"path": "protocols/report-pipeline-protocol.md",
|
|
298
|
-
"sha256": "
|
|
294
|
+
"sha256": "a755c54942c58262e9e3478021e4c9c5ac8255db625d6714f3fd9810eb1067f9"
|
|
299
295
|
},
|
|
300
296
|
{
|
|
301
297
|
"path": "protocols/sensitive-info-protocol.md",
|
|
302
|
-
"sha256": "
|
|
298
|
+
"sha256": "cdf72b7b35f562a46f671fc6aff7ff6f64ca44bc08e9214e2b3d0c82f1703b22"
|
|
303
299
|
},
|
|
304
300
|
{
|
|
305
301
|
"path": "protocols/state-layout-protocol.md",
|
|
306
|
-
"sha256": "
|
|
302
|
+
"sha256": "01ff757004a18913d5d5a8083071d0a6fc9d25ac7cf7db07a879f7bb1319445d"
|
|
307
303
|
},
|
|
308
304
|
{
|
|
309
305
|
"path": "protocols/submit-protocol.md",
|
|
@@ -315,7 +311,7 @@
|
|
|
315
311
|
},
|
|
316
312
|
{
|
|
317
313
|
"path": "README.md",
|
|
318
|
-
"sha256": "
|
|
314
|
+
"sha256": "0b236ce76b6cc58f431b8b6be441e42e3120359d24a8c8d63b060164a417a8a7"
|
|
319
315
|
},
|
|
320
316
|
{
|
|
321
317
|
"path": "scripts/harness_apidoc.py",
|
|
@@ -323,7 +319,7 @@
|
|
|
323
319
|
},
|
|
324
320
|
{
|
|
325
321
|
"path": "scripts/harness_archive.py",
|
|
326
|
-
"sha256": "
|
|
322
|
+
"sha256": "3c6fc709e5a2876fd4bad4ec60402b7b3933af1ea6d15bb6d16f269c7d65bf2f"
|
|
327
323
|
},
|
|
328
324
|
{
|
|
329
325
|
"path": "scripts/harness_change.py",
|
|
@@ -335,7 +331,7 @@
|
|
|
335
331
|
},
|
|
336
332
|
{
|
|
337
333
|
"path": "scripts/harness_context.py",
|
|
338
|
-
"sha256": "
|
|
334
|
+
"sha256": "5ef587edd57b0c819df1c37a448eda33f00a5b97b930c804290d1a83d9a4ad60"
|
|
339
335
|
},
|
|
340
336
|
{
|
|
341
337
|
"path": "scripts/harness_deploy.py",
|
|
@@ -355,7 +351,7 @@
|
|
|
355
351
|
},
|
|
356
352
|
{
|
|
357
353
|
"path": "scripts/harness_events.py",
|
|
358
|
-
"sha256": "
|
|
354
|
+
"sha256": "f073ff0445a1de6d4e3030eb9b989e2f419ccdc9c36efcf060727ac4405b0804"
|
|
359
355
|
},
|
|
360
356
|
{
|
|
361
357
|
"path": "scripts/harness_execution_contracts.py",
|
|
@@ -379,7 +375,7 @@
|
|
|
379
375
|
},
|
|
380
376
|
{
|
|
381
377
|
"path": "scripts/harness_ledger.py",
|
|
382
|
-
"sha256": "
|
|
378
|
+
"sha256": "5c33a09f3b073294afa21804697488dd5fa5601e79707be8b7db9f89be8e95f9"
|
|
383
379
|
},
|
|
384
380
|
{
|
|
385
381
|
"path": "scripts/harness_migration_head.py",
|
|
@@ -415,7 +411,7 @@
|
|
|
415
411
|
},
|
|
416
412
|
{
|
|
417
413
|
"path": "scripts/harness_profile.py",
|
|
418
|
-
"sha256": "
|
|
414
|
+
"sha256": "9a10e62c52a7c84bf373bfb4aff18b2d51bfae6fd0ca75ef5ad7c87d22059e85"
|
|
419
415
|
},
|
|
420
416
|
{
|
|
421
417
|
"path": "scripts/harness_report_model.py",
|
|
@@ -439,7 +435,7 @@
|
|
|
439
435
|
},
|
|
440
436
|
{
|
|
441
437
|
"path": "scripts/harness_state.py",
|
|
442
|
-
"sha256": "
|
|
438
|
+
"sha256": "cd08bcf0347a289180d121d079d0d2e638c6188f47b9f393cc70bac3564721c4"
|
|
443
439
|
},
|
|
444
440
|
{
|
|
445
441
|
"path": "scripts/harness_sync.py",
|