@hunter-harness/workflow-harness 0.2.23 → 0.2.24

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 (174) hide show
  1. package/harness/bundles/general/claude-code/.harness-build.json +1 -1
  2. package/harness/bundles/general/claude-code/README.md +2 -2
  3. package/harness/bundles/general/claude-code/agents/harness-evaluator.md +4 -4
  4. package/harness/bundles/general/claude-code/agents/harness-explorer.md +2 -2
  5. package/harness/bundles/general/claude-code/agents/harness-reviewer.md +2 -2
  6. package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
  7. package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
  8. package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  9. package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
  10. package/harness/bundles/general/claude-code/harness-plan/SKILL.md +7 -4
  11. package/harness/bundles/general/claude-code/harness-plan/checklist.md +12 -17
  12. package/harness/bundles/general/claude-code/harness-plan/reference.md +7 -19
  13. package/harness/bundles/general/claude-code/harness-review/SKILL.md +3 -3
  14. package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
  15. package/harness/bundles/general/claude-code/harness-run/protocols.md +3 -3
  16. package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
  17. package/harness/bundles/general/claude-code/harness-submit/checklist.md +8 -2
  18. package/harness/bundles/general/claude-code/harness-sync/SKILL.md +1 -1
  19. package/harness/bundles/general/claude-code/harness-test/SKILL.md +1 -1
  20. package/harness/bundles/general/claude-code/scripts/harness_deploy.py +22 -3
  21. package/harness/bundles/general/claude-code/scripts/harness_preflight.py +50 -29
  22. package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
  23. package/harness/bundles/general/codebuddy/README.md +2 -2
  24. package/harness/bundles/general/codebuddy/agents/harness-evaluator.md +5 -6
  25. package/harness/bundles/general/codebuddy/agents/harness-explorer.md +3 -3
  26. package/harness/bundles/general/codebuddy/agents/harness-reviewer.md +3 -5
  27. package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
  28. package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
  29. package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  30. package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  31. package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +7 -4
  32. package/harness/bundles/general/codebuddy/harness-plan/checklist.md +12 -17
  33. package/harness/bundles/general/codebuddy/harness-plan/reference.md +7 -19
  34. package/harness/bundles/general/codebuddy/harness-review/SKILL.md +3 -3
  35. package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
  36. package/harness/bundles/general/codebuddy/harness-run/protocols.md +3 -3
  37. package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
  38. package/harness/bundles/general/codebuddy/harness-submit/checklist.md +8 -2
  39. package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +1 -1
  40. package/harness/bundles/general/codebuddy/harness-test/SKILL.md +1 -1
  41. package/harness/bundles/general/codebuddy/scripts/harness_deploy.py +22 -3
  42. package/harness/bundles/general/codebuddy/scripts/harness_preflight.py +50 -29
  43. package/harness/bundles/general/codex/.harness-build.json +1 -1
  44. package/harness/bundles/general/codex/README.md +2 -2
  45. package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
  46. package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
  47. package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +1 -1
  48. package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
  49. package/harness/bundles/general/codex/harness-plan/SKILL.md +7 -5
  50. package/harness/bundles/general/codex/harness-plan/checklist.md +12 -17
  51. package/harness/bundles/general/codex/harness-plan/reference.md +7 -19
  52. package/harness/bundles/general/codex/harness-review/SKILL.md +2 -2
  53. package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
  54. package/harness/bundles/general/codex/harness-run/protocols.md +3 -3
  55. package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
  56. package/harness/bundles/general/codex/harness-submit/checklist.md +8 -2
  57. package/harness/bundles/general/codex/harness-sync/SKILL.md +1 -1
  58. package/harness/bundles/general/codex/harness-test/SKILL.md +1 -1
  59. package/harness/bundles/general/codex/scripts/harness_deploy.py +22 -3
  60. package/harness/bundles/general/codex/scripts/harness_preflight.py +50 -29
  61. package/harness/bundles/general/cursor/.harness-build.json +1 -1
  62. package/harness/bundles/general/cursor/README.md +2 -2
  63. package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
  64. package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
  65. package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  66. package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
  67. package/harness/bundles/general/cursor/harness-plan/SKILL.md +7 -5
  68. package/harness/bundles/general/cursor/harness-plan/checklist.md +12 -17
  69. package/harness/bundles/general/cursor/harness-plan/reference.md +7 -19
  70. package/harness/bundles/general/cursor/harness-review/SKILL.md +2 -2
  71. package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
  72. package/harness/bundles/general/cursor/harness-run/protocols.md +3 -3
  73. package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
  74. package/harness/bundles/general/cursor/harness-submit/checklist.md +8 -2
  75. package/harness/bundles/general/cursor/harness-sync/SKILL.md +1 -1
  76. package/harness/bundles/general/cursor/harness-test/SKILL.md +1 -1
  77. package/harness/bundles/general/cursor/scripts/harness_deploy.py +22 -3
  78. package/harness/bundles/general/cursor/scripts/harness_preflight.py +50 -29
  79. package/harness/bundles/java/claude-code/.harness-build.json +1 -1
  80. package/harness/bundles/java/claude-code/README.md +2 -2
  81. package/harness/bundles/java/claude-code/agents/harness-evaluator.md +4 -4
  82. package/harness/bundles/java/claude-code/agents/harness-explorer.md +2 -2
  83. package/harness/bundles/java/claude-code/agents/harness-reviewer.md +2 -2
  84. package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
  85. package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
  86. package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
  87. package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
  88. package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
  89. package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
  90. package/harness/bundles/java/claude-code/harness-plan/SKILL.md +7 -4
  91. package/harness/bundles/java/claude-code/harness-plan/checklist.md +12 -17
  92. package/harness/bundles/java/claude-code/harness-plan/reference.md +7 -19
  93. package/harness/bundles/java/claude-code/harness-review/SKILL.md +3 -3
  94. package/harness/bundles/java/claude-code/harness-run/SKILL.md +1 -1
  95. package/harness/bundles/java/claude-code/harness-run/protocols.md +3 -3
  96. package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
  97. package/harness/bundles/java/claude-code/harness-submit/checklist.md +8 -2
  98. package/harness/bundles/java/claude-code/harness-sync/SKILL.md +1 -1
  99. package/harness/bundles/java/claude-code/harness-test/SKILL.md +1 -1
  100. package/harness/bundles/java/claude-code/scripts/harness_deploy.py +22 -3
  101. package/harness/bundles/java/claude-code/scripts/harness_preflight.py +50 -29
  102. package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
  103. package/harness/bundles/java/codebuddy/README.md +2 -2
  104. package/harness/bundles/java/codebuddy/agents/harness-evaluator.md +5 -6
  105. package/harness/bundles/java/codebuddy/agents/harness-explorer.md +3 -3
  106. package/harness/bundles/java/codebuddy/agents/harness-reviewer.md +3 -5
  107. package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
  108. package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
  109. package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
  110. package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
  111. package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
  112. package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
  113. package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +7 -4
  114. package/harness/bundles/java/codebuddy/harness-plan/checklist.md +12 -17
  115. package/harness/bundles/java/codebuddy/harness-plan/reference.md +7 -19
  116. package/harness/bundles/java/codebuddy/harness-review/SKILL.md +3 -3
  117. package/harness/bundles/java/codebuddy/harness-run/SKILL.md +1 -1
  118. package/harness/bundles/java/codebuddy/harness-run/protocols.md +3 -3
  119. package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
  120. package/harness/bundles/java/codebuddy/harness-submit/checklist.md +8 -2
  121. package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +1 -1
  122. package/harness/bundles/java/codebuddy/harness-test/SKILL.md +1 -1
  123. package/harness/bundles/java/codebuddy/scripts/harness_deploy.py +22 -3
  124. package/harness/bundles/java/codebuddy/scripts/harness_preflight.py +50 -29
  125. package/harness/bundles/java/codex/.harness-build.json +1 -1
  126. package/harness/bundles/java/codex/README.md +2 -2
  127. package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
  128. package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
  129. package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
  130. package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +1 -1
  131. package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
  132. package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
  133. package/harness/bundles/java/codex/harness-plan/SKILL.md +7 -5
  134. package/harness/bundles/java/codex/harness-plan/checklist.md +12 -17
  135. package/harness/bundles/java/codex/harness-plan/reference.md +7 -19
  136. package/harness/bundles/java/codex/harness-review/SKILL.md +2 -2
  137. package/harness/bundles/java/codex/harness-run/SKILL.md +1 -1
  138. package/harness/bundles/java/codex/harness-run/protocols.md +3 -3
  139. package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
  140. package/harness/bundles/java/codex/harness-submit/checklist.md +8 -2
  141. package/harness/bundles/java/codex/harness-sync/SKILL.md +1 -1
  142. package/harness/bundles/java/codex/harness-test/SKILL.md +1 -1
  143. package/harness/bundles/java/codex/scripts/harness_deploy.py +22 -3
  144. package/harness/bundles/java/codex/scripts/harness_preflight.py +50 -29
  145. package/harness/bundles/java/cursor/.harness-build.json +1 -1
  146. package/harness/bundles/java/cursor/README.md +2 -2
  147. package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
  148. package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
  149. package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
  150. package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +1 -1
  151. package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
  152. package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
  153. package/harness/bundles/java/cursor/harness-plan/SKILL.md +7 -5
  154. package/harness/bundles/java/cursor/harness-plan/checklist.md +12 -17
  155. package/harness/bundles/java/cursor/harness-plan/reference.md +7 -19
  156. package/harness/bundles/java/cursor/harness-review/SKILL.md +2 -2
  157. package/harness/bundles/java/cursor/harness-run/SKILL.md +1 -1
  158. package/harness/bundles/java/cursor/harness-run/protocols.md +3 -3
  159. package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
  160. package/harness/bundles/java/cursor/harness-submit/checklist.md +8 -2
  161. package/harness/bundles/java/cursor/harness-sync/SKILL.md +1 -1
  162. package/harness/bundles/java/cursor/harness-test/SKILL.md +1 -1
  163. package/harness/bundles/java/cursor/scripts/harness_deploy.py +22 -3
  164. package/harness/bundles/java/cursor/scripts/harness_preflight.py +50 -29
  165. package/harness/manifests/general/claude-code.json +22 -22
  166. package/harness/manifests/general/codebuddy.json +22 -22
  167. package/harness/manifests/general/codex.json +19 -19
  168. package/harness/manifests/general/cursor.json +19 -19
  169. package/harness/manifests/java/claude-code.json +24 -24
  170. package/harness/manifests/java/codebuddy.json +24 -24
  171. package/harness/manifests/java/codex.json +21 -21
  172. package/harness/manifests/java/cursor.json +21 -21
  173. package/hunter-workflow-family.json +2 -2
  174. package/package.json +1 -1
@@ -374,12 +374,14 @@ def _resolve_agents_root(skills_root: Path, agents_root: Path | None) -> tuple[P
374
374
  return (skills_root / "agents").resolve(), None
375
375
 
376
376
 
377
- def _read_host_capabilities(skills_root: Path) -> set[str]:
377
+ def _read_host_capabilities(skills_root: Path) -> tuple[set[str], bool]:
378
378
  """Read agent capabilities declared by the host adapter (retro §5.3).
379
379
 
380
380
  Adapter installs may declare available agent roles in
381
381
  `meta/runtime.json` under `agentCapabilities` (list of role names).
382
- Returns an empty set if the file or field is absent.
382
+ Returns ``(capabilities, manifest_present)``. ``manifest_present`` is true
383
+ only when a readable capability list exists; an unrelated runtime.json
384
+ must not turn an unknown host into a hard "agent missing" failure.
383
385
  """
384
386
  # runtime.json lives in the change's meta/ dir, but agent capabilities are
385
387
  # project-level. Check the adapter's runtime.json at the project root.
@@ -398,8 +400,8 @@ def _read_host_capabilities(skills_root: Path) -> set[str]:
398
400
  continue
399
401
  caps = data.get("agentCapabilities")
400
402
  if isinstance(caps, list):
401
- return {str(c) for c in caps if isinstance(c, str)}
402
- return set()
403
+ return {str(c) for c in caps if isinstance(c, str)}, True
404
+ return set(), False
403
405
 
404
406
 
405
407
  def cmd_check_agents(
@@ -420,7 +422,7 @@ def cmd_check_agents(
420
422
  }
421
423
 
422
424
  resolved_agents_root, _ = _resolve_agents_root(skills_root, agents_root)
423
- host_capabilities = _read_host_capabilities(skills_root)
425
+ host_capabilities, capability_manifest_present = _read_host_capabilities(skills_root)
424
426
  host_callable = agent_name in host_capabilities
425
427
 
426
428
  # Three independent fields (retro §5.3):
@@ -437,32 +439,37 @@ def cmd_check_agents(
437
439
  agent_path = resolved_agents_root / filename
438
440
  definition_present = agent_path.is_file()
439
441
 
440
- # If no local definition and host doesn't declare the role, we can't
441
- # determine usability. Distinguish "host says no" from "unknown".
442
+ # Codex/Cursor bundles intentionally do not install fixed harness-* agent
443
+ # definitions. Missing host capabilities therefore select the normal
444
+ # inline path instead of reporting UNKNOWN/"subagent unavailable".
442
445
  if not definition_present and not host_callable:
443
- # Check if this adapter is known to not support custom agents
444
446
  adapter_name = skills_root.parent.name
445
447
  if adapter_name in (".agents", ".cursor"):
446
- # Codex/Cursor: may support via host manifest. If runtime.json
447
- # has agentCapabilities but this role isn't listed, it's a
448
- # genuine "not available". If no agentCapabilities field at all,
449
- # we can't know — return UNKNOWN.
450
- runtime_path = skills_root.parent / "runtime.json"
451
- if not runtime_path.is_file():
452
- return {
453
- "ok": True,
454
- "action": "check-agents",
455
- "agent": agent_name,
456
- "usable": False,
457
- "definitionPresent": False,
458
- "hostCallable": False,
459
- "toolContractValid": False,
460
- "reasonCode": "UNKNOWN",
461
- "reason": (
462
- "no local agent definition and no host capability manifest; "
463
- "cannot determine agent availability"
464
- ),
465
- }
448
+ reason_code = (
449
+ "HOST_CAPABILITY_NOT_DECLARED"
450
+ if capability_manifest_present
451
+ else "INLINE_BY_ADAPTER"
452
+ )
453
+ return {
454
+ "ok": True,
455
+ "action": "check-agents",
456
+ "agent": agent_name,
457
+ "usable": False,
458
+ "executionMode": "inline",
459
+ "fallbackPolicy": "inline-no-retry",
460
+ "definitionPresent": False,
461
+ "hostCallable": False,
462
+ "toolContractValid": False,
463
+ "capabilityManifestPresent": capability_manifest_present,
464
+ "reasonCode": reason_code,
465
+ "reason": (
466
+ "host capability manifest does not declare this fixed agent; "
467
+ "use the normal inline path"
468
+ if capability_manifest_present
469
+ else "adapter uses inline execution unless the host explicitly "
470
+ "declares a callable agent capability"
471
+ ),
472
+ }
466
473
  return {
467
474
  "ok": False,
468
475
  "action": "check-agents",
@@ -470,9 +477,12 @@ def cmd_check_agents(
470
477
  "path": str(agent_path) if agent_path else None,
471
478
  "agentsRoot": str(resolved_agents_root) if resolved_agents_root else None,
472
479
  "usable": False,
480
+ "executionMode": "unavailable",
481
+ "fallbackPolicy": "inline-no-retry",
473
482
  "definitionPresent": False,
474
483
  "hostCallable": False,
475
484
  "toolContractValid": False,
485
+ "capabilityManifestPresent": capability_manifest_present,
476
486
  "reasonCode": "AGENT_DEFINITION_NOT_FOUND",
477
487
  "reason": f"agent file not found and host does not declare role: {agent_name}",
478
488
  }
@@ -488,9 +498,13 @@ def cmd_check_agents(
488
498
  "agent": agent_name,
489
499
  "path": str(agent_path),
490
500
  "usable": False,
501
+ "executionMode": "unavailable",
502
+ "fallbackPolicy": "inline-no-retry",
491
503
  "definitionPresent": True,
492
504
  "hostCallable": host_callable,
493
505
  "toolContractValid": False,
506
+ "capabilityManifestPresent": capability_manifest_present,
507
+ "reasonCode": "AGENT_DEFINITION_UNREADABLE",
494
508
  "reason": f"cannot read agent file: {exc}",
495
509
  }
496
510
 
@@ -502,9 +516,13 @@ def cmd_check_agents(
502
516
  "agent": agent_name,
503
517
  "path": str(agent_path),
504
518
  "usable": False,
519
+ "executionMode": "unavailable",
520
+ "fallbackPolicy": "inline-no-retry",
505
521
  "definitionPresent": True,
506
522
  "hostCallable": host_callable,
507
523
  "toolContractValid": False,
524
+ "capabilityManifestPresent": capability_manifest_present,
525
+ "reasonCode": "AGENT_DEFINITION_INVALID",
508
526
  "reason": f"frontmatter parse failed: {err or 'unknown'}",
509
527
  }
510
528
 
@@ -525,7 +543,7 @@ def cmd_check_agents(
525
543
  name_field = meta.get("name") if meta else None
526
544
  tools_field = meta.get("tools") if meta else None
527
545
 
528
- reason_code = "READY" if usable else "AGENT_DEFINITION_NOT_FOUND"
546
+ reason_code = "READY" if usable else "TOOL_CONTRACT_INVALID"
529
547
  if not definition_present and host_callable:
530
548
  reason_code = "DEFINITION_NOT_FOUND_HOST_CAPABLE"
531
549
 
@@ -536,9 +554,12 @@ def cmd_check_agents(
536
554
  "path": str(agent_path) if agent_path else None,
537
555
  "agentsRoot": str(resolved_agents_root) if resolved_agents_root else None,
538
556
  "usable": usable,
557
+ "executionMode": "delegated" if usable else "unavailable",
558
+ "fallbackPolicy": "inline-no-retry",
539
559
  "definitionPresent": definition_present,
540
560
  "hostCallable": host_callable,
541
561
  "toolContractValid": tool_contract_valid,
562
+ "capabilityManifestPresent": capability_manifest_present,
542
563
  "reasonCode": reason_code,
543
564
  "reason": (
544
565
  "agent available; "
@@ -2,24 +2,24 @@
2
2
  "schema_version": 2,
3
3
  "profile": "general",
4
4
  "adapter": "claude-code",
5
- "bundle_version": "0.2.17",
5
+ "bundle_version": "0.2.18",
6
6
  "generator": "harness_deploy.py",
7
7
  "files": [
8
8
  {
9
9
  "path": ".harness-build.json",
10
- "sha256": "c98f26983913009f3f8c9775f935dcd0a9703c6981914cb9f7dadcfa4b20942b"
10
+ "sha256": "070b97715007ad2f4b037c18788f7a9b637958516899b3ed466ba7bd21dd02ef"
11
11
  },
12
12
  {
13
13
  "path": "agents/harness-evaluator.md",
14
- "sha256": "bbbda894d504353e20fc726342b99b01598a25c35fff19cc6579986b72155589"
14
+ "sha256": "980c0ba0ecb9f36fa3d97ad1db72d21cf1fe0d38a901df77571827925bc6eede"
15
15
  },
16
16
  {
17
17
  "path": "agents/harness-explorer.md",
18
- "sha256": "2ecc1b7dde81a654b8a7a17eea40ea7274ef303a52089edaad9b10adf2cf79af"
18
+ "sha256": "e0fa812d2874e52c24c88dacbec0aeb9a1fc9a83272c43d642300e95d5e40380"
19
19
  },
20
20
  {
21
21
  "path": "agents/harness-reviewer.md",
22
- "sha256": "1be3f5d283d1cca0a54cce8b2f93f46fdf7f7ae3d6eecfa01c9b8d4e6958d3c7"
22
+ "sha256": "c6cb491f0a78fc48aa5fe257b68e14a2f68c3d886460362b31f3a984c5b46b1b"
23
23
  },
24
24
  {
25
25
  "path": "CONTEXT.md",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  {
49
49
  "path": "harness-archive/SKILL.md",
50
- "sha256": "c338fe8ca50093810206d172dfb8105b487e57b1c6315b16e7ae2bdc1c142682"
50
+ "sha256": "58be756e182d8f11bfd054688652630f865ac80f1d95279dde1a78978b1ad00e"
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": "5dee320bee18bad368c3a9118356723e0de93aeacef5e4d47a6186a8f45bc515"
70
+ "sha256": "4a1c3c8b63816a916aaa3f1fdaff277b801e0ada62213ddd3880cf82faf3f3e5"
71
71
  },
72
72
  {
73
73
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -131,15 +131,15 @@
131
131
  },
132
132
  {
133
133
  "path": "harness-knowledge-ingest/SKILL.md",
134
- "sha256": "218482cf4d500d509c96f1e69fc6e7949ce45d05baab57ddf59e17a4ffdafdc3"
134
+ "sha256": "1914e2b03a87ca4d07bdd239167447f62948a6cffd35f5b1f657b7abc9e11bcc"
135
135
  },
136
136
  {
137
137
  "path": "harness-knowledge-query/SKILL.md",
138
- "sha256": "4a8f5831d1139d52b4993ee62a4a264b2c38a8b2754d800caf56c81d46d273e9"
138
+ "sha256": "ac795354943b5c3f250fec7d9ac834cb950c1d7389b6bd32eaac935f955a1206"
139
139
  },
140
140
  {
141
141
  "path": "harness-plan/checklist.md",
142
- "sha256": "60802b67d0184e76e745df483ca7244f399793a6eda6c2e5031b9cba865ce03b"
142
+ "sha256": "a0c4027926be071880ca45fd59e7bc917dc7ee30601913e65345898183b92b50"
143
143
  },
144
144
  {
145
145
  "path": "harness-plan/protocols.md",
@@ -147,11 +147,11 @@
147
147
  },
148
148
  {
149
149
  "path": "harness-plan/reference.md",
150
- "sha256": "9a2a2a33ccaa6bd39fed4d8803b5a246a2c029a9e3266091754801a133272219"
150
+ "sha256": "63bb9f931b4c1a5231f3688544297a86a89a1b431a438cf4ae161af9792d9955"
151
151
  },
152
152
  {
153
153
  "path": "harness-plan/SKILL.md",
154
- "sha256": "fc18843c9b35b4928884a81a50eed6a09bb186686183491ade062c6e8a46ea85"
154
+ "sha256": "06b8bdd33b29d22a1d2eac9f14955fcf46b98269c12f6bd87c229eeedac19bb3"
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": "0f122b78e96a7157f5288ede262c86b396928b1fed665feeebd33b3cc134578d"
170
+ "sha256": "2206a2cf8ed1cb26eac6c5335ada5194510ffef4bef2b60e565fa162a5c03385"
171
171
  },
172
172
  {
173
173
  "path": "harness-run/checklist.md",
@@ -175,7 +175,7 @@
175
175
  },
176
176
  {
177
177
  "path": "harness-run/protocols.md",
178
- "sha256": "47b2bb139eeac2703850149bd8730c9a895c45fe28ebf670ede31ac309f034ac"
178
+ "sha256": "b02fd6de8c25e0946d89ee7fe9cb8f8aaac73255ecbba6fa7584abb4954469e5"
179
179
  },
180
180
  {
181
181
  "path": "harness-run/reference.md",
@@ -183,11 +183,11 @@
183
183
  },
184
184
  {
185
185
  "path": "harness-run/SKILL.md",
186
- "sha256": "6b9aa2493184ceefae162cb5c6745a8a52af95c290f36b0c2a74dae707aafe55"
186
+ "sha256": "358c4d9429033b34a1393caa96371c831ef44aa9a0dfe1fd186ff7c03f19da17"
187
187
  },
188
188
  {
189
189
  "path": "harness-submit/checklist.md",
190
- "sha256": "7a0773ff7b5247cb74e449d654217e5a7c55992c3a32cd1e0ea2b808b8f3e6ab"
190
+ "sha256": "1b15bd801a49daa609e29ef1b3ce085671add27d1c7b450dabaafa55b61867ac"
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": "b01f6ccb9f40834337d1bf280648196b6acc852e3a6d97d1dc31db272f164431"
198
+ "sha256": "a69eaf057b21b8753ee87a72b23686a6bff64c731a5d135dc054c2870a55bcdd"
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": "a89114b48bc1e8adf6272ac280463a70ac6f2348d4f786e9db45ab2e520bbfa8"
206
+ "sha256": "c97fd997a3c30ac7f8480904c5a9915d5b8de16e930abad1c288a8b22ffcdb3c"
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": "a357df30dcf0b6814094e54b8792c084a534f9d6a89d13af94554cab1359d871"
230
+ "sha256": "6055fbab7eb24cc69f8ef60a07f8fabe6c18bc87a8de7fec8cc6912af1d0a6df"
231
231
  },
232
232
  {
233
233
  "path": "protocols/archive-report-protocol.md",
@@ -267,7 +267,7 @@
267
267
  },
268
268
  {
269
269
  "path": "README.md",
270
- "sha256": "9edb4d313701f7317805dedb1b1e7e61aa986bed1e5e4266b257eb880abb33e0"
270
+ "sha256": "0b2cd9f95c49abdc3b250219b7f885fce3a78248cccc859f1f186d862af1f201"
271
271
  },
272
272
  {
273
273
  "path": "scripts/harness_apidoc.py",
@@ -287,7 +287,7 @@
287
287
  },
288
288
  {
289
289
  "path": "scripts/harness_deploy.py",
290
- "sha256": "48a95b696cd4df411cc206b80b16b436018e7648bd2daa55f110ceee2e403271"
290
+ "sha256": "c10045fc86f2ac87d6ba60b5bcd31e9698d306a2d94eccfcff4a623cf817bf5c"
291
291
  },
292
292
  {
293
293
  "path": "scripts/harness_environment.py",
@@ -327,7 +327,7 @@
327
327
  },
328
328
  {
329
329
  "path": "scripts/harness_preflight.py",
330
- "sha256": "ee9859b06abd14d002fac68cf0045270532df24ea5c24ca62db852ec7cf0d10b"
330
+ "sha256": "ce1d3ddb0f81e33172f8dddbeb66c7d8407ac3f6742b56f139d5fc406f9973bb"
331
331
  },
332
332
  {
333
333
  "path": "scripts/harness_profile.py",
@@ -2,24 +2,24 @@
2
2
  "schema_version": 2,
3
3
  "profile": "general",
4
4
  "adapter": "codebuddy",
5
- "bundle_version": "0.2.17",
5
+ "bundle_version": "0.2.18",
6
6
  "generator": "harness_deploy.py",
7
7
  "files": [
8
8
  {
9
9
  "path": ".harness-build.json",
10
- "sha256": "4f77fa8bd006fd0fdd7908a85ed3ab08cc42336530b7c0acec902dfaf04fe4b5"
10
+ "sha256": "d3764b837599144cea43e950b4e375b7651eeadf6c7a2137ed2679982fefbfa4"
11
11
  },
12
12
  {
13
13
  "path": "agents/harness-evaluator.md",
14
- "sha256": "a9b0c437ac9ef7a14813dd0612f1f95f634875ba7b918798aa48f13d42f544ff"
14
+ "sha256": "f6b48e2d7a37d4091ea69b02d7563b81ed3a9122cff6a91f079aa29d095c19cc"
15
15
  },
16
16
  {
17
17
  "path": "agents/harness-explorer.md",
18
- "sha256": "8a0b498b947704b1e33a8a107b487f3536ebe0d209de2a720b522656fe89d988"
18
+ "sha256": "1fccdea0e0b8f49270d5de1d37d1fce2fe3f840a7446d49bee4c8cb0a3f97de8"
19
19
  },
20
20
  {
21
21
  "path": "agents/harness-reviewer.md",
22
- "sha256": "1902cddc09687446274718241f1ef3daafcd940d808d2a1b345e3c9f15610e6d"
22
+ "sha256": "8a7a7161b7adbb1f046a0072a9b382f834b775a1542aacba06987dfe6cd3dcbe"
23
23
  },
24
24
  {
25
25
  "path": "CONTEXT.md",
@@ -47,7 +47,7 @@
47
47
  },
48
48
  {
49
49
  "path": "harness-archive/SKILL.md",
50
- "sha256": "82fbb51a48a6decf8f3a609dd0fe7fa8f277916f5290d0e63b6332be3fb37d32"
50
+ "sha256": "b9feb3bdb1bf3bc4c7762e9bc2ebee884a700ec0fcb2007630e4eb80c19a18ff"
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": "5a89969e2c0ba42a170e76013b85821d7b89fa48e535c5ee9b8ba76dbec35f80"
70
+ "sha256": "e8b17f2a0a3f83cad228722647a97fcd6b12624ea567318feb86643d21974b35"
71
71
  },
72
72
  {
73
73
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -131,15 +131,15 @@
131
131
  },
132
132
  {
133
133
  "path": "harness-knowledge-ingest/SKILL.md",
134
- "sha256": "2dc48b59404b65f2782118be02387514734462e15e6e21b838bfbb193c9e7cc8"
134
+ "sha256": "86598f1ace8c45d06989ab5d6dabf16b2259ebdd5dbe1bc6e4e4e3799a6a5bd6"
135
135
  },
136
136
  {
137
137
  "path": "harness-knowledge-query/SKILL.md",
138
- "sha256": "2e814c25299cea39122f2cac62f7e50f1c2f37202966794b548da8cac3205ab9"
138
+ "sha256": "b34a06f1ad39b71853c1f238b0a78bb1353306bd99b0a66e97f6855ed625e03b"
139
139
  },
140
140
  {
141
141
  "path": "harness-plan/checklist.md",
142
- "sha256": "60802b67d0184e76e745df483ca7244f399793a6eda6c2e5031b9cba865ce03b"
142
+ "sha256": "a0c4027926be071880ca45fd59e7bc917dc7ee30601913e65345898183b92b50"
143
143
  },
144
144
  {
145
145
  "path": "harness-plan/protocols.md",
@@ -147,11 +147,11 @@
147
147
  },
148
148
  {
149
149
  "path": "harness-plan/reference.md",
150
- "sha256": "9a2a2a33ccaa6bd39fed4d8803b5a246a2c029a9e3266091754801a133272219"
150
+ "sha256": "63bb9f931b4c1a5231f3688544297a86a89a1b431a438cf4ae161af9792d9955"
151
151
  },
152
152
  {
153
153
  "path": "harness-plan/SKILL.md",
154
- "sha256": "e069f5d17bb7d12379ead2f8f173a7ee02fed14adb0f4073ce5490723e6103c0"
154
+ "sha256": "2df2222c560a079db4e378fd1a1d6b27e3d050b385d603953455b922d3ab61f0"
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": "f4c5daa620edbc85002e3f928f26dff0566f9ab658ddc222d31ae49a04f1af4f"
170
+ "sha256": "d7ae6400a05ebd046f5396c0ddde9bbba153c32f206eec245f91bfcb13851554"
171
171
  },
172
172
  {
173
173
  "path": "harness-run/checklist.md",
@@ -175,7 +175,7 @@
175
175
  },
176
176
  {
177
177
  "path": "harness-run/protocols.md",
178
- "sha256": "47b2bb139eeac2703850149bd8730c9a895c45fe28ebf670ede31ac309f034ac"
178
+ "sha256": "b02fd6de8c25e0946d89ee7fe9cb8f8aaac73255ecbba6fa7584abb4954469e5"
179
179
  },
180
180
  {
181
181
  "path": "harness-run/reference.md",
@@ -183,11 +183,11 @@
183
183
  },
184
184
  {
185
185
  "path": "harness-run/SKILL.md",
186
- "sha256": "12b6ad3aa12ff74fc717ad7b86c3d15eef097f704d2e8e71e248107f6d157f67"
186
+ "sha256": "0dc98c35f1289570fd7073c6b5c65e55e8b781a206d4927c19f6371414d6665e"
187
187
  },
188
188
  {
189
189
  "path": "harness-submit/checklist.md",
190
- "sha256": "7a0773ff7b5247cb74e449d654217e5a7c55992c3a32cd1e0ea2b808b8f3e6ab"
190
+ "sha256": "1b15bd801a49daa609e29ef1b3ce085671add27d1c7b450dabaafa55b61867ac"
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": "7bcf1e2dd0494563f9398f5332855949ecdc1f257208357db00c7b64feba2790"
198
+ "sha256": "0487f0dc5ba028794d0f25136d2e78d9ba002e16b6be80942f6d8c347c22df69"
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": "989524c66ec8aadf822747071b1d9226abad2984fc5d0e0e308bc7db7c83d345"
206
+ "sha256": "2d03ee8159682575fed2daf30f6dcac98f3558832cde911584a3f714c32e36c1"
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": "42317aa4805d5e756b7d007ae8deeaeef93fe334cbdcbb3335d87a1e0ccfe33c"
230
+ "sha256": "a0173681e1f57e315aa75fd47cca906f0026845d9688699fb0ccfbd91af923bf"
231
231
  },
232
232
  {
233
233
  "path": "protocols/archive-report-protocol.md",
@@ -267,7 +267,7 @@
267
267
  },
268
268
  {
269
269
  "path": "README.md",
270
- "sha256": "9edb4d313701f7317805dedb1b1e7e61aa986bed1e5e4266b257eb880abb33e0"
270
+ "sha256": "0b2cd9f95c49abdc3b250219b7f885fce3a78248cccc859f1f186d862af1f201"
271
271
  },
272
272
  {
273
273
  "path": "scripts/harness_apidoc.py",
@@ -287,7 +287,7 @@
287
287
  },
288
288
  {
289
289
  "path": "scripts/harness_deploy.py",
290
- "sha256": "48a95b696cd4df411cc206b80b16b436018e7648bd2daa55f110ceee2e403271"
290
+ "sha256": "c10045fc86f2ac87d6ba60b5bcd31e9698d306a2d94eccfcff4a623cf817bf5c"
291
291
  },
292
292
  {
293
293
  "path": "scripts/harness_environment.py",
@@ -327,7 +327,7 @@
327
327
  },
328
328
  {
329
329
  "path": "scripts/harness_preflight.py",
330
- "sha256": "ee9859b06abd14d002fac68cf0045270532df24ea5c24ca62db852ec7cf0d10b"
330
+ "sha256": "ce1d3ddb0f81e33172f8dddbeb66c7d8407ac3f6742b56f139d5fc406f9973bb"
331
331
  },
332
332
  {
333
333
  "path": "scripts/harness_profile.py",
@@ -2,12 +2,12 @@
2
2
  "schema_version": 2,
3
3
  "profile": "general",
4
4
  "adapter": "codex",
5
- "bundle_version": "0.2.17",
5
+ "bundle_version": "0.2.18",
6
6
  "generator": "harness_deploy.py",
7
7
  "files": [
8
8
  {
9
9
  "path": ".harness-build.json",
10
- "sha256": "e13e1180395a39e94f5f22b4f4a426f2777eb15e2c7aea26881c94fd7ea00129"
10
+ "sha256": "a44e365be768f39e3718125f69ffb11eec7bc592d4d9aa3c5f3ab00c568bc81b"
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": "969a36169570eee72ebfcee8c7bcc4f2c99a6f0a61837d857002811c76747ad6"
38
+ "sha256": "11ea88f2356c05245c44bedd9325f419c6dd3bb884811a6c67c6ab1bf1ec7791"
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": "0cd354ab45fcfae7525a0daf81fe4565d0a297ab8f31efab53766cf0d28c5b25"
58
+ "sha256": "f6780358cae6c256473834de145486f2421f6656c6114951f7b68a693599d3a0"
59
59
  },
60
60
  {
61
61
  "path": "harness-codebase-map/templates/ARCHITECTURE.md",
@@ -119,15 +119,15 @@
119
119
  },
120
120
  {
121
121
  "path": "harness-knowledge-ingest/SKILL.md",
122
- "sha256": "0d913e7b62cc1e903d94f283011fa6c3f4f248283103743b310ce43206d5ccf2"
122
+ "sha256": "9cf0e4b7aa74978a202b21839567a10459ec75577e65e8b622ae896ac83bb269"
123
123
  },
124
124
  {
125
125
  "path": "harness-knowledge-query/SKILL.md",
126
- "sha256": "fdc12a340ff197e8ac723f51912ab45eb1e46c2e85698a0f2abd89f7d9cbfc29"
126
+ "sha256": "c151fdf2c03c03e937d1b3e348426fb4050f8b6bd48a897594f13590222438c0"
127
127
  },
128
128
  {
129
129
  "path": "harness-plan/checklist.md",
130
- "sha256": "60802b67d0184e76e745df483ca7244f399793a6eda6c2e5031b9cba865ce03b"
130
+ "sha256": "a0c4027926be071880ca45fd59e7bc917dc7ee30601913e65345898183b92b50"
131
131
  },
132
132
  {
133
133
  "path": "harness-plan/protocols.md",
@@ -135,11 +135,11 @@
135
135
  },
136
136
  {
137
137
  "path": "harness-plan/reference.md",
138
- "sha256": "9a2a2a33ccaa6bd39fed4d8803b5a246a2c029a9e3266091754801a133272219"
138
+ "sha256": "63bb9f931b4c1a5231f3688544297a86a89a1b431a438cf4ae161af9792d9955"
139
139
  },
140
140
  {
141
141
  "path": "harness-plan/SKILL.md",
142
- "sha256": "11b553bcd124c3c388940bac7cb820296728f4b4c55938b573693aa006271efe"
142
+ "sha256": "05cbca5a0a1f022bf4de2b864b088cf89224659ae4554e4f89e44620e2c0e394"
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": "e81dfd8f3fc12e542f33fcbfc09b0f00f26ea880fca1471a63536bf397e35167"
158
+ "sha256": "ac73922ea03101480b71117f7323a2ddae5ce906765d0df5445d767eab17ff49"
159
159
  },
160
160
  {
161
161
  "path": "harness-run/checklist.md",
@@ -163,7 +163,7 @@
163
163
  },
164
164
  {
165
165
  "path": "harness-run/protocols.md",
166
- "sha256": "47b2bb139eeac2703850149bd8730c9a895c45fe28ebf670ede31ac309f034ac"
166
+ "sha256": "b02fd6de8c25e0946d89ee7fe9cb8f8aaac73255ecbba6fa7584abb4954469e5"
167
167
  },
168
168
  {
169
169
  "path": "harness-run/reference.md",
@@ -171,11 +171,11 @@
171
171
  },
172
172
  {
173
173
  "path": "harness-run/SKILL.md",
174
- "sha256": "aa69dd7ff7946ab9b24e0475c57f0233889d124230f2e646795b231208d3a967"
174
+ "sha256": "9ec8bd4b5ab6de3b101fea1b6442e03b7b896684c29bc5faaa408472c81dc416"
175
175
  },
176
176
  {
177
177
  "path": "harness-submit/checklist.md",
178
- "sha256": "7a0773ff7b5247cb74e449d654217e5a7c55992c3a32cd1e0ea2b808b8f3e6ab"
178
+ "sha256": "1b15bd801a49daa609e29ef1b3ce085671add27d1c7b450dabaafa55b61867ac"
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": "060075e1044ef0e91cf0f5f399f969f3b03dee4d54d0d4e0f5d4f76de0afeb2c"
186
+ "sha256": "88a2cac05e0b092f9382f541af198e41c208fc0eb81e7ffc0ac7a2226b5b4f98"
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": "fd85292c7b6443c8166f2e722c79a5b0bffe95983b9beefadef680cb59a960e4"
194
+ "sha256": "39062a6523fa9a81d176b69bac61130ffe51c28d38572d4d13e52fba7f2823a2"
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": "aef38110df66137edcebb4d87cbe8bb1e8e5ae2406b4b1dc8f8b7bd4281a53d3"
218
+ "sha256": "91801f47a5db5c926d89e2618c008649f4f1a47624e926f8ed25851f2ee1ea2c"
219
219
  },
220
220
  {
221
221
  "path": "protocols/archive-report-protocol.md",
@@ -255,7 +255,7 @@
255
255
  },
256
256
  {
257
257
  "path": "README.md",
258
- "sha256": "9edb4d313701f7317805dedb1b1e7e61aa986bed1e5e4266b257eb880abb33e0"
258
+ "sha256": "0b2cd9f95c49abdc3b250219b7f885fce3a78248cccc859f1f186d862af1f201"
259
259
  },
260
260
  {
261
261
  "path": "scripts/harness_apidoc.py",
@@ -275,7 +275,7 @@
275
275
  },
276
276
  {
277
277
  "path": "scripts/harness_deploy.py",
278
- "sha256": "48a95b696cd4df411cc206b80b16b436018e7648bd2daa55f110ceee2e403271"
278
+ "sha256": "c10045fc86f2ac87d6ba60b5bcd31e9698d306a2d94eccfcff4a623cf817bf5c"
279
279
  },
280
280
  {
281
281
  "path": "scripts/harness_environment.py",
@@ -315,7 +315,7 @@
315
315
  },
316
316
  {
317
317
  "path": "scripts/harness_preflight.py",
318
- "sha256": "ee9859b06abd14d002fac68cf0045270532df24ea5c24ca62db852ec7cf0d10b"
318
+ "sha256": "ce1d3ddb0f81e33172f8dddbeb66c7d8407ac3f6742b56f139d5fc406f9973bb"
319
319
  },
320
320
  {
321
321
  "path": "scripts/harness_profile.py",