@hunter-harness/workflow-harness 0.2.13 → 0.2.14

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.
Files changed (186) hide show
  1. package/harness/bundles/general/claude-code/.harness-build.json +1 -1
  2. package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
  3. package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
  4. package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  5. package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
  6. package/harness/bundles/general/claude-code/harness-plan/SKILL.md +1 -1
  7. package/harness/bundles/general/claude-code/harness-review/SKILL.md +1 -1
  8. package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
  9. package/harness/bundles/general/claude-code/harness-submit/SKILL.md +2 -2
  10. package/harness/bundles/general/claude-code/harness-submit/checklist.md +1 -1
  11. package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
  12. package/harness/bundles/general/claude-code/harness-test/SKILL.md +1 -1
  13. package/harness/bundles/general/claude-code/scripts/harness_archive.py +124 -0
  14. package/harness/bundles/general/claude-code/scripts/harness_change.py +54 -0
  15. package/harness/bundles/general/claude-code/scripts/harness_deploy.py +177 -0
  16. package/harness/bundles/general/claude-code/scripts/harness_events.py +99 -1
  17. package/harness/bundles/general/claude-code/scripts/harness_gate.py +57 -4
  18. package/harness/bundles/general/claude-code/scripts/harness_integration.py +3 -0
  19. package/harness/bundles/general/claude-code/scripts/harness_ledger.py +15 -3
  20. package/harness/bundles/general/claude-code/scripts/harness_preflight.py +47 -0
  21. package/harness/bundles/general/claude-code/scripts/harness_test_guard.py +86 -13
  22. package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
  23. package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
  24. package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
  25. package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  26. package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  27. package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +1 -1
  28. package/harness/bundles/general/codebuddy/harness-review/SKILL.md +1 -1
  29. package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
  30. package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +2 -2
  31. package/harness/bundles/general/codebuddy/harness-submit/checklist.md +1 -1
  32. package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
  33. package/harness/bundles/general/codebuddy/harness-test/SKILL.md +1 -1
  34. package/harness/bundles/general/codebuddy/scripts/harness_archive.py +124 -0
  35. package/harness/bundles/general/codebuddy/scripts/harness_change.py +54 -0
  36. package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +177 -0
  37. package/harness/bundles/general/codebuddy/scripts/harness_events.py +99 -1
  38. package/harness/bundles/general/codebuddy/scripts/harness_gate.py +57 -4
  39. package/harness/bundles/general/codebuddy/scripts/harness_integration.py +3 -0
  40. package/harness/bundles/general/codebuddy/scripts/harness_ledger.py +15 -3
  41. package/harness/bundles/general/codebuddy/scripts/harness_preflight.py +47 -0
  42. package/harness/bundles/general/codebuddy/scripts/harness_test_guard.py +86 -13
  43. package/harness/bundles/general/codex/.harness-build.json +1 -1
  44. package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
  45. package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
  46. package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +1 -1
  47. package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
  48. package/harness/bundles/general/codex/harness-plan/SKILL.md +1 -1
  49. package/harness/bundles/general/codex/harness-review/SKILL.md +1 -1
  50. package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
  51. package/harness/bundles/general/codex/harness-submit/SKILL.md +2 -2
  52. package/harness/bundles/general/codex/harness-submit/checklist.md +1 -1
  53. package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
  54. package/harness/bundles/general/codex/harness-test/SKILL.md +1 -1
  55. package/harness/bundles/general/codex/scripts/harness_archive.py +124 -0
  56. package/harness/bundles/general/codex/scripts/harness_change.py +54 -0
  57. package/harness/bundles/general/codex/scripts/harness_deploy.py +177 -0
  58. package/harness/bundles/general/codex/scripts/harness_events.py +99 -1
  59. package/harness/bundles/general/codex/scripts/harness_gate.py +57 -4
  60. package/harness/bundles/general/codex/scripts/harness_integration.py +3 -0
  61. package/harness/bundles/general/codex/scripts/harness_ledger.py +15 -3
  62. package/harness/bundles/general/codex/scripts/harness_preflight.py +47 -0
  63. package/harness/bundles/general/codex/scripts/harness_test_guard.py +86 -13
  64. package/harness/bundles/general/cursor/.harness-build.json +1 -1
  65. package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
  66. package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
  67. package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  68. package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
  69. package/harness/bundles/general/cursor/harness-plan/SKILL.md +1 -1
  70. package/harness/bundles/general/cursor/harness-review/SKILL.md +1 -1
  71. package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
  72. package/harness/bundles/general/cursor/harness-submit/SKILL.md +2 -2
  73. package/harness/bundles/general/cursor/harness-submit/checklist.md +1 -1
  74. package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
  75. package/harness/bundles/general/cursor/harness-test/SKILL.md +1 -1
  76. package/harness/bundles/general/cursor/scripts/harness_archive.py +124 -0
  77. package/harness/bundles/general/cursor/scripts/harness_change.py +54 -0
  78. package/harness/bundles/general/cursor/scripts/harness_deploy.py +177 -0
  79. package/harness/bundles/general/cursor/scripts/harness_events.py +99 -1
  80. package/harness/bundles/general/cursor/scripts/harness_gate.py +57 -4
  81. package/harness/bundles/general/cursor/scripts/harness_integration.py +3 -0
  82. package/harness/bundles/general/cursor/scripts/harness_ledger.py +15 -3
  83. package/harness/bundles/general/cursor/scripts/harness_preflight.py +47 -0
  84. package/harness/bundles/general/cursor/scripts/harness_test_guard.py +86 -13
  85. package/harness/bundles/java/claude-code/.harness-build.json +1 -1
  86. package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
  87. package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
  88. package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
  89. package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  90. package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
  91. package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
  92. package/harness/bundles/java/claude-code/harness-plan/SKILL.md +1 -1
  93. package/harness/bundles/java/claude-code/harness-review/SKILL.md +1 -1
  94. package/harness/bundles/java/claude-code/harness-run/SKILL.md +1 -1
  95. package/harness/bundles/java/claude-code/harness-submit/SKILL.md +2 -2
  96. package/harness/bundles/java/claude-code/harness-submit/checklist.md +1 -1
  97. package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
  98. package/harness/bundles/java/claude-code/harness-test/SKILL.md +1 -1
  99. package/harness/bundles/java/claude-code/scripts/harness_archive.py +124 -0
  100. package/harness/bundles/java/claude-code/scripts/harness_change.py +54 -0
  101. package/harness/bundles/java/claude-code/scripts/harness_deploy.py +177 -0
  102. package/harness/bundles/java/claude-code/scripts/harness_events.py +99 -1
  103. package/harness/bundles/java/claude-code/scripts/harness_gate.py +57 -4
  104. package/harness/bundles/java/claude-code/scripts/harness_integration.py +3 -0
  105. package/harness/bundles/java/claude-code/scripts/harness_ledger.py +15 -3
  106. package/harness/bundles/java/claude-code/scripts/harness_preflight.py +47 -0
  107. package/harness/bundles/java/claude-code/scripts/harness_test_guard.py +86 -13
  108. package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
  109. package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
  110. package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
  111. package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
  112. package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  113. package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  114. package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
  115. package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +1 -1
  116. package/harness/bundles/java/codebuddy/harness-review/SKILL.md +1 -1
  117. package/harness/bundles/java/codebuddy/harness-run/SKILL.md +1 -1
  118. package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +2 -2
  119. package/harness/bundles/java/codebuddy/harness-submit/checklist.md +1 -1
  120. package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
  121. package/harness/bundles/java/codebuddy/harness-test/SKILL.md +1 -1
  122. package/harness/bundles/java/codebuddy/scripts/harness_archive.py +124 -0
  123. package/harness/bundles/java/codebuddy/scripts/harness_change.py +54 -0
  124. package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +177 -0
  125. package/harness/bundles/java/codebuddy/scripts/harness_events.py +99 -1
  126. package/harness/bundles/java/codebuddy/scripts/harness_gate.py +57 -4
  127. package/harness/bundles/java/codebuddy/scripts/harness_integration.py +3 -0
  128. package/harness/bundles/java/codebuddy/scripts/harness_ledger.py +15 -3
  129. package/harness/bundles/java/codebuddy/scripts/harness_preflight.py +47 -0
  130. package/harness/bundles/java/codebuddy/scripts/harness_test_guard.py +86 -13
  131. package/harness/bundles/java/codex/.harness-build.json +1 -1
  132. package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
  133. package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
  134. package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
  135. package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +1 -1
  136. package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
  137. package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
  138. package/harness/bundles/java/codex/harness-plan/SKILL.md +1 -1
  139. package/harness/bundles/java/codex/harness-review/SKILL.md +1 -1
  140. package/harness/bundles/java/codex/harness-run/SKILL.md +1 -1
  141. package/harness/bundles/java/codex/harness-submit/SKILL.md +2 -2
  142. package/harness/bundles/java/codex/harness-submit/checklist.md +1 -1
  143. package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
  144. package/harness/bundles/java/codex/harness-test/SKILL.md +1 -1
  145. package/harness/bundles/java/codex/scripts/harness_archive.py +124 -0
  146. package/harness/bundles/java/codex/scripts/harness_change.py +54 -0
  147. package/harness/bundles/java/codex/scripts/harness_deploy.py +177 -0
  148. package/harness/bundles/java/codex/scripts/harness_events.py +99 -1
  149. package/harness/bundles/java/codex/scripts/harness_gate.py +57 -4
  150. package/harness/bundles/java/codex/scripts/harness_integration.py +3 -0
  151. package/harness/bundles/java/codex/scripts/harness_ledger.py +15 -3
  152. package/harness/bundles/java/codex/scripts/harness_preflight.py +47 -0
  153. package/harness/bundles/java/codex/scripts/harness_test_guard.py +86 -13
  154. package/harness/bundles/java/cursor/.harness-build.json +1 -1
  155. package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
  156. package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
  157. package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
  158. package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  159. package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
  160. package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
  161. package/harness/bundles/java/cursor/harness-plan/SKILL.md +1 -1
  162. package/harness/bundles/java/cursor/harness-review/SKILL.md +1 -1
  163. package/harness/bundles/java/cursor/harness-run/SKILL.md +1 -1
  164. package/harness/bundles/java/cursor/harness-submit/SKILL.md +2 -2
  165. package/harness/bundles/java/cursor/harness-submit/checklist.md +1 -1
  166. package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
  167. package/harness/bundles/java/cursor/harness-test/SKILL.md +1 -1
  168. package/harness/bundles/java/cursor/scripts/harness_archive.py +124 -0
  169. package/harness/bundles/java/cursor/scripts/harness_change.py +54 -0
  170. package/harness/bundles/java/cursor/scripts/harness_deploy.py +177 -0
  171. package/harness/bundles/java/cursor/scripts/harness_events.py +99 -1
  172. package/harness/bundles/java/cursor/scripts/harness_gate.py +57 -4
  173. package/harness/bundles/java/cursor/scripts/harness_integration.py +3 -0
  174. package/harness/bundles/java/cursor/scripts/harness_ledger.py +15 -3
  175. package/harness/bundles/java/cursor/scripts/harness_preflight.py +47 -0
  176. package/harness/bundles/java/cursor/scripts/harness_test_guard.py +86 -13
  177. package/harness/manifests/general/claude-code.json +22 -22
  178. package/harness/manifests/general/codebuddy.json +22 -22
  179. package/harness/manifests/general/codex.json +22 -22
  180. package/harness/manifests/general/cursor.json +22 -22
  181. package/harness/manifests/java/claude-code.json +24 -24
  182. package/harness/manifests/java/codebuddy.json +24 -24
  183. package/harness/manifests/java/codex.json +24 -24
  184. package/harness/manifests/java/cursor.json +24 -24
  185. package/hunter-workflow-family.json +2 -2
  186. package/package.json +15 -15
@@ -448,9 +448,18 @@ def _validate_existing_manifest(
448
448
  tracked_now = _git(
449
449
  project, "ls-files", "--error-unmatch", "--", rel
450
450
  ).returncode == 0
451
- if item["ignored"] != ignored_now or item["trackedBefore"] != tracked_now:
451
+ checkpointed = not item["trackedBefore"] and tracked_now
452
+ if (
453
+ item["trackedBefore"] != tracked_now and not checkpointed
454
+ ) or (
455
+ item["ignored"] != ignored_now and not checkpointed
456
+ ):
452
457
  return "MANIFEST_INVALID", {}
453
- validated[rel] = dict(item)
458
+ normalized_item = dict(item)
459
+ if checkpointed:
460
+ normalized_item["trackedBefore"] = True
461
+ normalized_item["ignored"] = ignored_now
462
+ validated[rel] = normalized_item
454
463
  return None, validated
455
464
 
456
465
 
@@ -734,11 +743,26 @@ def _stage_locked(
734
743
  error, entries = validator(project_root, manifest, require_files=True)
735
744
  if error:
736
745
  return _result(False, action, error, [])
737
- rels = [
738
- rel
739
- for rel, entry in entries.items()
740
- if not is_v2 or entry.get("commitScope") == "current-change"
741
- ]
746
+ rels: list[str] = []
747
+ for rel, entry in entries.items():
748
+ if is_v2:
749
+ if entry.get("commitScope") == "current-change":
750
+ rels.append(rel)
751
+ continue
752
+ if not entry["trackedBefore"]:
753
+ rels.append(rel)
754
+ continue
755
+ changed = _git(project_root, "diff", "--quiet", "HEAD", "--", rel)
756
+ if changed.returncode == 1:
757
+ rels.append(rel)
758
+ elif changed.returncode != 0:
759
+ return _result(
760
+ False,
761
+ action,
762
+ "GIT_DIFF_FAILED",
763
+ [rel],
764
+ error=changed.stderr.strip(),
765
+ )
742
766
  if not rels:
743
767
  return _result(True, action, "STAGED", [])
744
768
 
@@ -925,9 +949,22 @@ def close(project: Path | str, change_dir: Path | str) -> dict[str, Any]:
925
949
  if (
926
950
  not isinstance(snapshot, dict)
927
951
  or snapshot.get("schemaVersion") != SCHEMA_VERSION
928
- or snapshot.get("projectRoot") != str(project_root)
929
952
  ):
930
953
  return _result(False, action, "SNAPSHOT_INVALID", [])
954
+ # Execution-root contract (retro §5.10): a snapshot captured against a
955
+ # different project root must fail with EXECUTION_ROOT_MISMATCH before
956
+ # the generic SNAPSHOT_INVALID, so callers can distinguish "wrong root"
957
+ # from "corrupt snapshot".
958
+ snapshot_root = snapshot.get("projectRoot")
959
+ if snapshot_root is not None and snapshot_root != str(project_root):
960
+ return _result(
961
+ False,
962
+ action,
963
+ "EXECUTION_ROOT_MISMATCH",
964
+ [],
965
+ expectedRoot=snapshot_root,
966
+ actualRoot=str(project_root),
967
+ )
931
968
 
932
969
  before_entries = snapshot.get("files")
933
970
  if not isinstance(before_entries, list):
@@ -963,15 +1000,51 @@ def close(project: Path | str, change_dir: Path | str) -> dict[str, Any]:
963
1000
  if before[rel]["sha256"] != digest:
964
1001
  touched.append((rel, "test-updated"))
965
1002
 
966
- recorded: list[str] = []
967
- for rel, reason in touched:
968
- result = record(project_root, change_root, [str(project_root / rel)], reason)
1003
+ for reason in ("tdd-created", "test-updated"):
1004
+ rels = [rel for rel, item_reason in touched if item_reason == reason]
1005
+ if not rels:
1006
+ continue
1007
+ result = record(
1008
+ project_root,
1009
+ change_root,
1010
+ [str(project_root / rel) for rel in rels],
1011
+ reason,
1012
+ )
969
1013
  if not result.get("ok"):
970
1014
  code = result.get("code", "RECORD_FAILED")
971
1015
  if code == "TEST_PATH_NOT_ALLOWED":
972
- return _result(False, action, "UNCLASSIFIABLE_TEST", [rel])
1016
+ return _result(False, action, "UNCLASSIFIABLE_TEST", rels)
973
1017
  return result
974
- recorded.append(rel)
1018
+
1019
+ recorded = [rel for rel, _ in touched]
1020
+
1021
+ # Cross-check (retro §5.10): if the manifest has active entries for this
1022
+ # change but close computed recordedCount=0, the snapshot/manifest/diff
1023
+ # are inconsistent. Fail closed instead of silently returning success.
1024
+ manifest_path = _manifest_path(change_root)
1025
+ if manifest_path is not None and manifest_path.is_file():
1026
+ try:
1027
+ manifest = _read_json(manifest_path)
1028
+ except (OSError, json.JSONDecodeError):
1029
+ manifest = None
1030
+ if isinstance(manifest, dict):
1031
+ manifest_files = manifest.get("files")
1032
+ if isinstance(manifest_files, list):
1033
+ active_entries = [
1034
+ f for f in manifest_files
1035
+ if isinstance(f, dict)
1036
+ and f.get("reason") in ("tdd-created", "test-updated", "stale-test-repair")
1037
+ ]
1038
+ if active_entries and not recorded:
1039
+ return _result(
1040
+ False,
1041
+ action,
1042
+ "MANIFEST_DIFF_HASH_MISMATCH",
1043
+ [],
1044
+ manifestEntries=len(active_entries),
1045
+ recordedCount=0,
1046
+ detail="manifest has active entries but close computed 0 recorded tests",
1047
+ )
975
1048
 
976
1049
  return _result(
977
1050
  True,
@@ -2,12 +2,12 @@
2
2
  "schema_version": 2,
3
3
  "profile": "general",
4
4
  "adapter": "claude-code",
5
- "bundle_version": "0.2.13",
5
+ "bundle_version": "0.2.14",
6
6
  "generator": "harness_deploy.py",
7
7
  "files": [
8
8
  {
9
9
  "path": ".harness-build.json",
10
- "sha256": "b1e7fdc6c66ac7aed5ff8a8e381ff36d28d49955394e145cbfb2f0f8132b26ed"
10
+ "sha256": "321719a52cbbebc37c233882e6a903ef6d78a69ca351f94bc1550b96b5e332ca"
11
11
  },
12
12
  {
13
13
  "path": "agents/harness-evaluator.md",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  {
49
49
  "path": "harness-archive/SKILL.md",
50
- "sha256": "85db6ae3e7c040e489a0fc8fd3c1d16785a57b4aea0e146f07a783808d90ee34"
50
+ "sha256": "f0a31cc0b90b32483d070c11b4a49646d78d78ad840e4cb1ffad4c1372317538"
51
51
  },
52
52
  {
53
53
  "path": "harness-archive/templates/render-summary.mjs",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  {
69
69
  "path": "harness-codebase-map/SKILL.md",
70
- "sha256": "7936882e87ddb799fd9023b3289285cf777219a13e9b6675c57f61c48611a554"
70
+ "sha256": "4392f5e5245eb54b5c4ee62a5773ae291422bb9a508b24c67a584757758c5d5a"
71
71
  },
72
72
  {
73
73
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -131,11 +131,11 @@
131
131
  },
132
132
  {
133
133
  "path": "harness-knowledge-ingest/SKILL.md",
134
- "sha256": "7ad661113a23a9d18bc68e54dd9e425bbb6a4be240e84aaeba299cfe70c43114"
134
+ "sha256": "5d1f1d77b45aba4a98fa0951e0103362cc92e5c163e241d57ad36aa5d62055e6"
135
135
  },
136
136
  {
137
137
  "path": "harness-knowledge-query/SKILL.md",
138
- "sha256": "d1501e58969944afb8184659d15608e7679a59fcc793d0cab21475b72e08fbce"
138
+ "sha256": "11c82d1926fa46301e489885410cfc859ef3a408daaa7d2fd854df3656b74ae1"
139
139
  },
140
140
  {
141
141
  "path": "harness-plan/checklist.md",
@@ -151,7 +151,7 @@
151
151
  },
152
152
  {
153
153
  "path": "harness-plan/SKILL.md",
154
- "sha256": "b9e45a9128cb936baef0af42555e87758f6c66926a071c84ea4fdeb65d85e52d"
154
+ "sha256": "ff7188f94be8193d144d826ac8280633a9af459454c2dba31fc0d6675a180fde"
155
155
  },
156
156
  {
157
157
  "path": "harness-review/checklist.md",
@@ -167,7 +167,7 @@
167
167
  },
168
168
  {
169
169
  "path": "harness-review/SKILL.md",
170
- "sha256": "f7be0a500962ba4393cd438bf9d59250eede7b10beb433cdfcf30b496d8b009f"
170
+ "sha256": "77283d06a288c8ce9e0054bfca83e15028d715d707a0d6b046b949bd4459cf99"
171
171
  },
172
172
  {
173
173
  "path": "harness-run/checklist.md",
@@ -183,11 +183,11 @@
183
183
  },
184
184
  {
185
185
  "path": "harness-run/SKILL.md",
186
- "sha256": "0ffe532fe94448923b178cfcd04f5f448b6a259ae800bcf6523382b51a1a9ffa"
186
+ "sha256": "ee144ce1d964c0f1f2f54f9630e78ef836b26ba93c987fb9102468be91949035"
187
187
  },
188
188
  {
189
189
  "path": "harness-submit/checklist.md",
190
- "sha256": "f57beb2da7e75a59320ba442de0625105a30e38e071a7308ea06fb024fda9aae"
190
+ "sha256": "297a6a235ef03cd49ef1c3bd13180040f8ce25354b2ced82373d4a7a5f0dc181"
191
191
  },
192
192
  {
193
193
  "path": "harness-submit/reference.md",
@@ -195,7 +195,7 @@
195
195
  },
196
196
  {
197
197
  "path": "harness-submit/SKILL.md",
198
- "sha256": "87ea4e3d91eba4b6a75609ea521f36e96fd29502479a0f9f5a1d9ecd3eaa2a85"
198
+ "sha256": "8c741b04f23ff886f115ba3d98760e39f4af40380e2a60fb5daac12370a72766"
199
199
  },
200
200
  {
201
201
  "path": "harness-sync/reference.md",
@@ -203,7 +203,7 @@
203
203
  },
204
204
  {
205
205
  "path": "harness-sync/SKILL.md",
206
- "sha256": "21c1f1ccb0071a2b8943ed5f065388a7be232f3f7b798fb89d84b98d579b58da"
206
+ "sha256": "8f2870bfbcd92bce35df0e29e4b5bb393f3a908445f1f4177dc2e75b01174924"
207
207
  },
208
208
  {
209
209
  "path": "harness-test/checklist.md",
@@ -227,7 +227,7 @@
227
227
  },
228
228
  {
229
229
  "path": "harness-test/SKILL.md",
230
- "sha256": "8463f54ca8a41b89a09e92cae35c8f1c125371c26564e6545354286d415016c8"
230
+ "sha256": "8d40922eb0656f8f1ebbf056222024d692c0e485e684658f0fd970d01fdaa758"
231
231
  },
232
232
  {
233
233
  "path": "protocols/archive-report-protocol.md",
@@ -271,11 +271,11 @@
271
271
  },
272
272
  {
273
273
  "path": "scripts/harness_archive.py",
274
- "sha256": "b0c29fd8505de3ece4efa7415424c68564116a17f0ba9e3d2718f3ee0cdec0f2"
274
+ "sha256": "fb06714be150da72628875322039199d9c49ad7b23df48ea64fcd2d8fe031e80"
275
275
  },
276
276
  {
277
277
  "path": "scripts/harness_change.py",
278
- "sha256": "87c4d8fac9d3768671dd46aaa55d068eb648ddf0af37ddb5426de8c745534fa3"
278
+ "sha256": "5776dbccf20b9840b656a929dddd35bd683a9835c4583bb25baaeca79a87989b"
279
279
  },
280
280
  {
281
281
  "path": "scripts/harness_check_gate.py",
@@ -283,23 +283,23 @@
283
283
  },
284
284
  {
285
285
  "path": "scripts/harness_deploy.py",
286
- "sha256": "6b43b03bf414834df348e89db4e4e32960ce8a730c4c4c8a0202a87842da1758"
286
+ "sha256": "4a0a4ccfd6ded25596266d7f07cc5e740b4d7224dfba610cd9f7f041d23948e9"
287
287
  },
288
288
  {
289
289
  "path": "scripts/harness_events.py",
290
- "sha256": "287436f60ce4aded0869233f9148112d612b74e61d79d1d4be358f802751c736"
290
+ "sha256": "9ce57f47112df1eede3e3c77e8dd13103bf9069a8697bf2b088bf80ed24ef1c8"
291
291
  },
292
292
  {
293
293
  "path": "scripts/harness_gate.py",
294
- "sha256": "76c7a4e82d89ef121b47bcb3b3e7f180b9f421a9406bfb9d1de9cfbb9d27bfba"
294
+ "sha256": "f83e9d33816052553e2ae8e5514fae318c5b5bc48ba2aded67d88fc9f0b51a98"
295
295
  },
296
296
  {
297
297
  "path": "scripts/harness_integration.py",
298
- "sha256": "8c4d143affe1fc37ea028cc9d85581774ddecc4849f298094f1d4d831f3929f7"
298
+ "sha256": "bb71c00afc08a19772adb61408080ee8994e98f3015b1560efb2d3a5ed2cb610"
299
299
  },
300
300
  {
301
301
  "path": "scripts/harness_ledger.py",
302
- "sha256": "28e87fbdbac579f87e7c374bce59c60e689c61d2ac1298b4fdd868562e2abbac"
302
+ "sha256": "5141168aa1c566327e421d6ab6de876dfe0cf6ae3e97d336fcce6dc7fc4bfb56"
303
303
  },
304
304
  {
305
305
  "path": "scripts/harness_paths.py",
@@ -315,7 +315,7 @@
315
315
  },
316
316
  {
317
317
  "path": "scripts/harness_preflight.py",
318
- "sha256": "245f70d6c1f9979f2921e14e5d7a6078bd5126ae6c5d8c0bcd6cfd9c4fd8e135"
318
+ "sha256": "a8734badda02f10db95ae41054c3d6dc37487d2d17e5ac6b680887de210f3fa9"
319
319
  },
320
320
  {
321
321
  "path": "scripts/harness_profile.py",
@@ -343,7 +343,7 @@
343
343
  },
344
344
  {
345
345
  "path": "scripts/harness_test_guard.py",
346
- "sha256": "1817c2b0ceeb14a98149e704decd4e6cbcaf16121f95320ef61cd36805abe03d"
346
+ "sha256": "36d0ae0776c75fb2f5a233500aa8dd1647a17880676cb07e441e2896e402e67c"
347
347
  },
348
348
  {
349
349
  "path": "scripts/harness_workflow_policy.py",
@@ -2,12 +2,12 @@
2
2
  "schema_version": 2,
3
3
  "profile": "general",
4
4
  "adapter": "codebuddy",
5
- "bundle_version": "0.2.13",
5
+ "bundle_version": "0.2.14",
6
6
  "generator": "harness_deploy.py",
7
7
  "files": [
8
8
  {
9
9
  "path": ".harness-build.json",
10
- "sha256": "7ba3907206e8a04ca14abbbf84324525baad346eb47ed383a9feae6087953725"
10
+ "sha256": "d76290e3f633c27daab8493c850f185458bfdb65e11878136896d7aa9d168b57"
11
11
  },
12
12
  {
13
13
  "path": "agents/harness-evaluator.md",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  {
49
49
  "path": "harness-archive/SKILL.md",
50
- "sha256": "0c5b99c8165fb0a07a0208d496f02ee074aa22d514b78f36f0652139367fa478"
50
+ "sha256": "cce6f057fe4b0faf7caa274fbde05c97c5524e0cef354abe40dbde07f7778274"
51
51
  },
52
52
  {
53
53
  "path": "harness-archive/templates/render-summary.mjs",
@@ -67,7 +67,7 @@
67
67
  },
68
68
  {
69
69
  "path": "harness-codebase-map/SKILL.md",
70
- "sha256": "5548d2950d686071f5b107641a0fb7ea35cf75b7e2857a0ae688984f4d405c47"
70
+ "sha256": "6345761e31ad06350baaee5393f1bdd8ff8becd452521f146441b01c54b9b1fd"
71
71
  },
72
72
  {
73
73
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -131,11 +131,11 @@
131
131
  },
132
132
  {
133
133
  "path": "harness-knowledge-ingest/SKILL.md",
134
- "sha256": "45e505251f7c8e3460b50de184746656dbd14158c82f043125b8abd7f30f6cf0"
134
+ "sha256": "b89b9149509f4a0fc7f9e0f424ada604ebd3a79d6ab8ac5c0269585e4d67258f"
135
135
  },
136
136
  {
137
137
  "path": "harness-knowledge-query/SKILL.md",
138
- "sha256": "656f439e2c057e4cb15fce6ed16182efc0db54b353e3599050613b374432fcc1"
138
+ "sha256": "529e7072d4e75c52731c7089259b764a3939815e97b27d4a7cd2bf72364e4246"
139
139
  },
140
140
  {
141
141
  "path": "harness-plan/checklist.md",
@@ -151,7 +151,7 @@
151
151
  },
152
152
  {
153
153
  "path": "harness-plan/SKILL.md",
154
- "sha256": "5f1b47f3f9c463e317afb0bf22bc18034f938af59d064795d9af9ba846526659"
154
+ "sha256": "9ad2064cf276af212113a3c8078bddec5675fb84845d58ee743e0ac577018841"
155
155
  },
156
156
  {
157
157
  "path": "harness-review/checklist.md",
@@ -167,7 +167,7 @@
167
167
  },
168
168
  {
169
169
  "path": "harness-review/SKILL.md",
170
- "sha256": "fb31a13a17626daa4997e8d5834c7344a18f5cb719cb2579e5470ceb7a600d07"
170
+ "sha256": "121f9ba5d53d801b3a900159d25abcb3a7c89da8f799875ac64f35e7c5d27ddf"
171
171
  },
172
172
  {
173
173
  "path": "harness-run/checklist.md",
@@ -183,11 +183,11 @@
183
183
  },
184
184
  {
185
185
  "path": "harness-run/SKILL.md",
186
- "sha256": "6ebc781037dfdaad7f5523497d0106b6ccc314835d4e7f2cafce78b044d7553e"
186
+ "sha256": "eb904aeebe3a2820104f9f5b589253334e44dee12d2faf438268831612c23806"
187
187
  },
188
188
  {
189
189
  "path": "harness-submit/checklist.md",
190
- "sha256": "f57beb2da7e75a59320ba442de0625105a30e38e071a7308ea06fb024fda9aae"
190
+ "sha256": "297a6a235ef03cd49ef1c3bd13180040f8ce25354b2ced82373d4a7a5f0dc181"
191
191
  },
192
192
  {
193
193
  "path": "harness-submit/reference.md",
@@ -195,7 +195,7 @@
195
195
  },
196
196
  {
197
197
  "path": "harness-submit/SKILL.md",
198
- "sha256": "15b54c3c10a561f91eaa5f37223966034db5077f82da8069b73c73a99b5e07ca"
198
+ "sha256": "c28b90c16d71b75a15e05ca20b2b43714740a70150d7849f5d6f9917cd1e5a44"
199
199
  },
200
200
  {
201
201
  "path": "harness-sync/reference.md",
@@ -203,7 +203,7 @@
203
203
  },
204
204
  {
205
205
  "path": "harness-sync/SKILL.md",
206
- "sha256": "7ac6790bfa9ee10944db089a79d2b1774a1e4261c69e2192d78cd65b7efd1d21"
206
+ "sha256": "5fc25c700b48fa3b87c1c8562c16eb5c554cbd3ecb730311a794fc4db2385239"
207
207
  },
208
208
  {
209
209
  "path": "harness-test/checklist.md",
@@ -227,7 +227,7 @@
227
227
  },
228
228
  {
229
229
  "path": "harness-test/SKILL.md",
230
- "sha256": "b8a3c8de520e4b0c1d75db3f7cc4b6953e92f4385fbfe6566b771af12883fcca"
230
+ "sha256": "7dc970324056a16f90cd515b2a57c86f51251041b24a4a71342445245a3f2938"
231
231
  },
232
232
  {
233
233
  "path": "protocols/archive-report-protocol.md",
@@ -271,11 +271,11 @@
271
271
  },
272
272
  {
273
273
  "path": "scripts/harness_archive.py",
274
- "sha256": "b0c29fd8505de3ece4efa7415424c68564116a17f0ba9e3d2718f3ee0cdec0f2"
274
+ "sha256": "fb06714be150da72628875322039199d9c49ad7b23df48ea64fcd2d8fe031e80"
275
275
  },
276
276
  {
277
277
  "path": "scripts/harness_change.py",
278
- "sha256": "87c4d8fac9d3768671dd46aaa55d068eb648ddf0af37ddb5426de8c745534fa3"
278
+ "sha256": "5776dbccf20b9840b656a929dddd35bd683a9835c4583bb25baaeca79a87989b"
279
279
  },
280
280
  {
281
281
  "path": "scripts/harness_check_gate.py",
@@ -283,23 +283,23 @@
283
283
  },
284
284
  {
285
285
  "path": "scripts/harness_deploy.py",
286
- "sha256": "6b43b03bf414834df348e89db4e4e32960ce8a730c4c4c8a0202a87842da1758"
286
+ "sha256": "4a0a4ccfd6ded25596266d7f07cc5e740b4d7224dfba610cd9f7f041d23948e9"
287
287
  },
288
288
  {
289
289
  "path": "scripts/harness_events.py",
290
- "sha256": "287436f60ce4aded0869233f9148112d612b74e61d79d1d4be358f802751c736"
290
+ "sha256": "9ce57f47112df1eede3e3c77e8dd13103bf9069a8697bf2b088bf80ed24ef1c8"
291
291
  },
292
292
  {
293
293
  "path": "scripts/harness_gate.py",
294
- "sha256": "76c7a4e82d89ef121b47bcb3b3e7f180b9f421a9406bfb9d1de9cfbb9d27bfba"
294
+ "sha256": "f83e9d33816052553e2ae8e5514fae318c5b5bc48ba2aded67d88fc9f0b51a98"
295
295
  },
296
296
  {
297
297
  "path": "scripts/harness_integration.py",
298
- "sha256": "8c4d143affe1fc37ea028cc9d85581774ddecc4849f298094f1d4d831f3929f7"
298
+ "sha256": "bb71c00afc08a19772adb61408080ee8994e98f3015b1560efb2d3a5ed2cb610"
299
299
  },
300
300
  {
301
301
  "path": "scripts/harness_ledger.py",
302
- "sha256": "28e87fbdbac579f87e7c374bce59c60e689c61d2ac1298b4fdd868562e2abbac"
302
+ "sha256": "5141168aa1c566327e421d6ab6de876dfe0cf6ae3e97d336fcce6dc7fc4bfb56"
303
303
  },
304
304
  {
305
305
  "path": "scripts/harness_paths.py",
@@ -315,7 +315,7 @@
315
315
  },
316
316
  {
317
317
  "path": "scripts/harness_preflight.py",
318
- "sha256": "245f70d6c1f9979f2921e14e5d7a6078bd5126ae6c5d8c0bcd6cfd9c4fd8e135"
318
+ "sha256": "a8734badda02f10db95ae41054c3d6dc37487d2d17e5ac6b680887de210f3fa9"
319
319
  },
320
320
  {
321
321
  "path": "scripts/harness_profile.py",
@@ -343,7 +343,7 @@
343
343
  },
344
344
  {
345
345
  "path": "scripts/harness_test_guard.py",
346
- "sha256": "1817c2b0ceeb14a98149e704decd4e6cbcaf16121f95320ef61cd36805abe03d"
346
+ "sha256": "36d0ae0776c75fb2f5a233500aa8dd1647a17880676cb07e441e2896e402e67c"
347
347
  },
348
348
  {
349
349
  "path": "scripts/harness_workflow_policy.py",
@@ -2,12 +2,12 @@
2
2
  "schema_version": 2,
3
3
  "profile": "general",
4
4
  "adapter": "codex",
5
- "bundle_version": "0.2.13",
5
+ "bundle_version": "0.2.14",
6
6
  "generator": "harness_deploy.py",
7
7
  "files": [
8
8
  {
9
9
  "path": ".harness-build.json",
10
- "sha256": "ac6682b942794b357c82bd0cb84e490d91c79189bc3bb3c661f6a9baf2639bef"
10
+ "sha256": "b965c5515b6537831ace491b257fa177a232506bb67d9149bc3d6fa8935a0a59"
11
11
  },
12
12
  {
13
13
  "path": "CONTEXT.md",
@@ -35,7 +35,7 @@
35
35
  },
36
36
  {
37
37
  "path": "harness-archive/SKILL.md",
38
- "sha256": "ff07163c32422ff304d60bc9b2e04e8fb8b29f80f935d4bdd17b4d6eba79cfa9"
38
+ "sha256": "7d6b8694fb6d5486e9383203cd5128e2f14e77d22f296b161673d723b3553b7c"
39
39
  },
40
40
  {
41
41
  "path": "harness-archive/templates/render-summary.mjs",
@@ -55,7 +55,7 @@
55
55
  },
56
56
  {
57
57
  "path": "harness-codebase-map/SKILL.md",
58
- "sha256": "73c110c10188930dab9c98f8fd604211a91394f9923f2a8f57d0614bb673f2ad"
58
+ "sha256": "7cfd607a04909ab955606b16172ac7555b2c87a8c0f2712fd562a2ff91a39764"
59
59
  },
60
60
  {
61
61
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -119,11 +119,11 @@
119
119
  },
120
120
  {
121
121
  "path": "harness-knowledge-ingest/SKILL.md",
122
- "sha256": "20dc3d5bfce53cf214bc0c3a98d6bd03e694929615a654f6cbeac37715c601c3"
122
+ "sha256": "5e17897b8245036f8253cbf8279f005559cb0ae905da9f064021b5326a5bd16f"
123
123
  },
124
124
  {
125
125
  "path": "harness-knowledge-query/SKILL.md",
126
- "sha256": "942f32f0847051dbd82d42e4b95dd28f29057f2722b1e22fe8c0c82f0059acdb"
126
+ "sha256": "7b3980e9aaef55cdca6ed04f28b9fa64dd77e055978766710406b4998a7c07ff"
127
127
  },
128
128
  {
129
129
  "path": "harness-plan/checklist.md",
@@ -139,7 +139,7 @@
139
139
  },
140
140
  {
141
141
  "path": "harness-plan/SKILL.md",
142
- "sha256": "c6ed5c801c205fd39f138a830a36409ea268fdcb1c3d3cacf60af0903a72b42a"
142
+ "sha256": "80009423d9ba09812994b115637c71a4ce78e8bf28cc40095e436974470ee061"
143
143
  },
144
144
  {
145
145
  "path": "harness-review/checklist.md",
@@ -155,7 +155,7 @@
155
155
  },
156
156
  {
157
157
  "path": "harness-review/SKILL.md",
158
- "sha256": "5ad79cb242c6e37afdd3cdd0a454af60991f214437bc00e77c193687d15c59a4"
158
+ "sha256": "1d23e6fd1fa2d1ed19cc4d16139b0705837ebef97563a6a5f433ccc189857ebe"
159
159
  },
160
160
  {
161
161
  "path": "harness-run/checklist.md",
@@ -171,11 +171,11 @@
171
171
  },
172
172
  {
173
173
  "path": "harness-run/SKILL.md",
174
- "sha256": "7549b8dad14c8cd44fd2e5784224211efb95321ff498d2c47b8d12d6433ded1d"
174
+ "sha256": "f0653296e02df83c0d23e14b6e9f42f273087ac5912ce4ce9a01f094f63a6c20"
175
175
  },
176
176
  {
177
177
  "path": "harness-submit/checklist.md",
178
- "sha256": "f57beb2da7e75a59320ba442de0625105a30e38e071a7308ea06fb024fda9aae"
178
+ "sha256": "297a6a235ef03cd49ef1c3bd13180040f8ce25354b2ced82373d4a7a5f0dc181"
179
179
  },
180
180
  {
181
181
  "path": "harness-submit/reference.md",
@@ -183,7 +183,7 @@
183
183
  },
184
184
  {
185
185
  "path": "harness-submit/SKILL.md",
186
- "sha256": "15ac74db5f70977c471859788e18efe2cad26cd7035a1bd289c9e9b9b370a285"
186
+ "sha256": "e07da53f3f9e5f980a4ad92443813f43f0a3fced27d2619c232f61e160ef7d3c"
187
187
  },
188
188
  {
189
189
  "path": "harness-sync/reference.md",
@@ -191,7 +191,7 @@
191
191
  },
192
192
  {
193
193
  "path": "harness-sync/SKILL.md",
194
- "sha256": "a18d5cb7c37a0d430b3417ff3e906a332f61ed40069cfbcbf0352c1ebc46a75e"
194
+ "sha256": "d7c2c9ea21a0dff2b5e69b8d2572b146fb131210eb3a062ed049d3abbdf38a65"
195
195
  },
196
196
  {
197
197
  "path": "harness-test/checklist.md",
@@ -215,7 +215,7 @@
215
215
  },
216
216
  {
217
217
  "path": "harness-test/SKILL.md",
218
- "sha256": "c5197d3842290a0e40badea6059666167ed0d3e42a285bcf0aef6b29d82e064c"
218
+ "sha256": "c99f480c7f520c2921b8a00aa90815d4095a0d16f85e85e2474c3439a546c65c"
219
219
  },
220
220
  {
221
221
  "path": "protocols/archive-report-protocol.md",
@@ -259,11 +259,11 @@
259
259
  },
260
260
  {
261
261
  "path": "scripts/harness_archive.py",
262
- "sha256": "b0c29fd8505de3ece4efa7415424c68564116a17f0ba9e3d2718f3ee0cdec0f2"
262
+ "sha256": "fb06714be150da72628875322039199d9c49ad7b23df48ea64fcd2d8fe031e80"
263
263
  },
264
264
  {
265
265
  "path": "scripts/harness_change.py",
266
- "sha256": "87c4d8fac9d3768671dd46aaa55d068eb648ddf0af37ddb5426de8c745534fa3"
266
+ "sha256": "5776dbccf20b9840b656a929dddd35bd683a9835c4583bb25baaeca79a87989b"
267
267
  },
268
268
  {
269
269
  "path": "scripts/harness_check_gate.py",
@@ -271,23 +271,23 @@
271
271
  },
272
272
  {
273
273
  "path": "scripts/harness_deploy.py",
274
- "sha256": "6b43b03bf414834df348e89db4e4e32960ce8a730c4c4c8a0202a87842da1758"
274
+ "sha256": "4a0a4ccfd6ded25596266d7f07cc5e740b4d7224dfba610cd9f7f041d23948e9"
275
275
  },
276
276
  {
277
277
  "path": "scripts/harness_events.py",
278
- "sha256": "287436f60ce4aded0869233f9148112d612b74e61d79d1d4be358f802751c736"
278
+ "sha256": "9ce57f47112df1eede3e3c77e8dd13103bf9069a8697bf2b088bf80ed24ef1c8"
279
279
  },
280
280
  {
281
281
  "path": "scripts/harness_gate.py",
282
- "sha256": "76c7a4e82d89ef121b47bcb3b3e7f180b9f421a9406bfb9d1de9cfbb9d27bfba"
282
+ "sha256": "f83e9d33816052553e2ae8e5514fae318c5b5bc48ba2aded67d88fc9f0b51a98"
283
283
  },
284
284
  {
285
285
  "path": "scripts/harness_integration.py",
286
- "sha256": "8c4d143affe1fc37ea028cc9d85581774ddecc4849f298094f1d4d831f3929f7"
286
+ "sha256": "bb71c00afc08a19772adb61408080ee8994e98f3015b1560efb2d3a5ed2cb610"
287
287
  },
288
288
  {
289
289
  "path": "scripts/harness_ledger.py",
290
- "sha256": "28e87fbdbac579f87e7c374bce59c60e689c61d2ac1298b4fdd868562e2abbac"
290
+ "sha256": "5141168aa1c566327e421d6ab6de876dfe0cf6ae3e97d336fcce6dc7fc4bfb56"
291
291
  },
292
292
  {
293
293
  "path": "scripts/harness_paths.py",
@@ -303,7 +303,7 @@
303
303
  },
304
304
  {
305
305
  "path": "scripts/harness_preflight.py",
306
- "sha256": "245f70d6c1f9979f2921e14e5d7a6078bd5126ae6c5d8c0bcd6cfd9c4fd8e135"
306
+ "sha256": "a8734badda02f10db95ae41054c3d6dc37487d2d17e5ac6b680887de210f3fa9"
307
307
  },
308
308
  {
309
309
  "path": "scripts/harness_profile.py",
@@ -331,7 +331,7 @@
331
331
  },
332
332
  {
333
333
  "path": "scripts/harness_test_guard.py",
334
- "sha256": "1817c2b0ceeb14a98149e704decd4e6cbcaf16121f95320ef61cd36805abe03d"
334
+ "sha256": "36d0ae0776c75fb2f5a233500aa8dd1647a17880676cb07e441e2896e402e67c"
335
335
  },
336
336
  {
337
337
  "path": "scripts/harness_workflow_policy.py",