@hunter-harness/workflow-harness 0.2.28 → 0.2.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/harness/bundles/general/claude-code/.harness-build.json +1 -1
- package/harness/bundles/general/claude-code/contracts/workflow-policy.json +34 -2
- package/harness/bundles/general/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/general/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/claude-code/harness-sync/SKILL.md +28 -51
- package/harness/bundles/general/claude-code/harness-sync/reference.md +89 -142
- package/harness/bundles/general/claude-code/harness-test/SKILL.md +26 -2
- package/harness/bundles/general/claude-code/harness-test/checklist.md +15 -0
- package/harness/bundles/general/claude-code/harness-test/reference.md +28 -4
- package/harness/bundles/general/claude-code/scripts/harness_change.py +189 -0
- package/harness/bundles/general/claude-code/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/general/claude-code/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/general/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/general/codebuddy/contracts/workflow-policy.json +34 -2
- package/harness/bundles/general/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/general/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codebuddy/harness-sync/SKILL.md +30 -51
- package/harness/bundles/general/codebuddy/harness-sync/reference.md +89 -142
- package/harness/bundles/general/codebuddy/harness-test/SKILL.md +26 -2
- package/harness/bundles/general/codebuddy/harness-test/checklist.md +15 -0
- package/harness/bundles/general/codebuddy/harness-test/reference.md +28 -4
- package/harness/bundles/general/codebuddy/scripts/harness_change.py +189 -0
- package/harness/bundles/general/codebuddy/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/general/codebuddy/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/general/codex/.harness-build.json +1 -1
- package/harness/bundles/general/codex/contracts/workflow-policy.json +34 -2
- package/harness/bundles/general/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/general/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/codex/harness-sync/SKILL.md +30 -51
- package/harness/bundles/general/codex/harness-sync/reference.md +89 -142
- package/harness/bundles/general/codex/harness-test/SKILL.md +26 -2
- package/harness/bundles/general/codex/harness-test/checklist.md +15 -0
- package/harness/bundles/general/codex/harness-test/reference.md +28 -4
- package/harness/bundles/general/codex/scripts/harness_change.py +189 -0
- package/harness/bundles/general/codex/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/general/codex/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/general/cursor/.harness-build.json +1 -1
- package/harness/bundles/general/cursor/contracts/workflow-policy.json +34 -2
- package/harness/bundles/general/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/general/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-plan/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-review/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/general/cursor/harness-sync/SKILL.md +30 -51
- package/harness/bundles/general/cursor/harness-sync/reference.md +89 -142
- package/harness/bundles/general/cursor/harness-test/SKILL.md +26 -2
- package/harness/bundles/general/cursor/harness-test/checklist.md +15 -0
- package/harness/bundles/general/cursor/harness-test/reference.md +28 -4
- package/harness/bundles/general/cursor/scripts/harness_change.py +189 -0
- package/harness/bundles/general/cursor/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/general/cursor/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/java/claude-code/.harness-build.json +1 -1
- package/harness/bundles/java/claude-code/contracts/workflow-policy.json +34 -2
- package/harness/bundles/java/claude-code/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/java/claude-code/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/claude-code/harness-sync/SKILL.md +28 -51
- package/harness/bundles/java/claude-code/harness-sync/reference.md +89 -142
- package/harness/bundles/java/claude-code/harness-test/SKILL.md +26 -2
- package/harness/bundles/java/claude-code/scripts/harness_change.py +189 -0
- package/harness/bundles/java/claude-code/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/java/claude-code/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/java/codebuddy/.harness-build.json +1 -1
- package/harness/bundles/java/codebuddy/contracts/workflow-policy.json +34 -2
- package/harness/bundles/java/codebuddy/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/java/codebuddy/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codebuddy/harness-sync/SKILL.md +30 -51
- package/harness/bundles/java/codebuddy/harness-sync/reference.md +89 -142
- package/harness/bundles/java/codebuddy/harness-test/SKILL.md +26 -2
- package/harness/bundles/java/codebuddy/scripts/harness_change.py +189 -0
- package/harness/bundles/java/codebuddy/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/java/codebuddy/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/java/codex/.harness-build.json +1 -1
- package/harness/bundles/java/codex/contracts/workflow-policy.json +34 -2
- package/harness/bundles/java/codex/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/java/codex/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/codex/harness-sync/SKILL.md +30 -51
- package/harness/bundles/java/codex/harness-sync/reference.md +89 -142
- package/harness/bundles/java/codex/harness-test/SKILL.md +26 -2
- package/harness/bundles/java/codex/scripts/harness_change.py +189 -0
- package/harness/bundles/java/codex/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/java/codex/scripts/harness_workflow_policy.py +87 -0
- package/harness/bundles/java/cursor/.harness-build.json +1 -1
- package/harness/bundles/java/cursor/contracts/workflow-policy.json +34 -2
- package/harness/bundles/java/cursor/harness-apidoc/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-archive/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-codebase-map/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-knowledge-ingest/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-knowledge-ingest/scripts/harness_knowledge.py +323 -32
- package/harness/bundles/java/cursor/harness-knowledge-query/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-package/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-plan/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-review/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-run/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-submit/SKILL.md +1 -1
- package/harness/bundles/java/cursor/harness-sync/SKILL.md +30 -51
- package/harness/bundles/java/cursor/harness-sync/reference.md +89 -142
- package/harness/bundles/java/cursor/harness-test/SKILL.md +26 -2
- package/harness/bundles/java/cursor/scripts/harness_change.py +189 -0
- package/harness/bundles/java/cursor/scripts/harness_test_runner.py +974 -0
- package/harness/bundles/java/cursor/scripts/harness_workflow_policy.py +87 -0
- package/harness/manifests/general/claude-code.json +32 -19
- package/harness/manifests/general/codebuddy.json +32 -19
- package/harness/manifests/general/codex.json +32 -19
- package/harness/manifests/general/cursor.json +32 -19
- package/harness/manifests/java/claude-code.json +32 -19
- package/harness/manifests/java/codebuddy.json +32 -19
- package/harness/manifests/java/codex.json +32 -19
- package/harness/manifests/java/cursor.json +32 -19
- package/hunter-workflow-family.json +18 -2
- package/package.json +1 -1
|
@@ -15,6 +15,7 @@ POLICY_REL = Path("harness") / "contracts" / "workflow-policy.json"
|
|
|
15
15
|
TOP_LEVEL_KEYS = frozenset(
|
|
16
16
|
{
|
|
17
17
|
"schemaVersion",
|
|
18
|
+
"testExecution",
|
|
18
19
|
"riskTiers",
|
|
19
20
|
"skills",
|
|
20
21
|
"requiredArtifacts",
|
|
@@ -62,6 +63,27 @@ CHECKPOINT_RULE_KEYS = frozenset(
|
|
|
62
63
|
"reviewerTool",
|
|
63
64
|
}
|
|
64
65
|
)
|
|
66
|
+
TEST_EXECUTION_KEYS = frozenset(
|
|
67
|
+
{
|
|
68
|
+
"runner",
|
|
69
|
+
"defaultProfile",
|
|
70
|
+
"maxWorkers",
|
|
71
|
+
"singleInstance",
|
|
72
|
+
"processTreeCleanup",
|
|
73
|
+
"detachedProcessPreflight",
|
|
74
|
+
"confirmationFlag",
|
|
75
|
+
"confirmationRequiredProfiles",
|
|
76
|
+
"resourceIntensiveModules",
|
|
77
|
+
"profiles",
|
|
78
|
+
}
|
|
79
|
+
)
|
|
80
|
+
TEST_EXECUTION_PROFILE_KEYS = frozenset(
|
|
81
|
+
{
|
|
82
|
+
"description",
|
|
83
|
+
"includesResourceIntensive",
|
|
84
|
+
"moduleTimeoutSeconds",
|
|
85
|
+
}
|
|
86
|
+
)
|
|
65
87
|
|
|
66
88
|
|
|
67
89
|
class PolicyValidationError(ValueError):
|
|
@@ -94,6 +116,71 @@ def validate_policy(data: Any) -> dict[str, Any]:
|
|
|
94
116
|
if data["schemaVersion"] != 1:
|
|
95
117
|
raise PolicyValidationError("unsupported schemaVersion")
|
|
96
118
|
|
|
119
|
+
test_execution = data["testExecution"]
|
|
120
|
+
_require_type(test_execution, dict, "testExecution")
|
|
121
|
+
_reject_unknown(test_execution, TEST_EXECUTION_KEYS, "testExecution")
|
|
122
|
+
for key in ("runner", "defaultProfile", "confirmationFlag"):
|
|
123
|
+
_require_type(test_execution[key], str, f"testExecution.{key}")
|
|
124
|
+
max_workers = test_execution["maxWorkers"]
|
|
125
|
+
_require_type(max_workers, int, "testExecution.maxWorkers")
|
|
126
|
+
if isinstance(max_workers, bool) or max_workers < 1 or max_workers > 2:
|
|
127
|
+
raise PolicyValidationError("testExecution.maxWorkers must be 1 or 2")
|
|
128
|
+
for key in (
|
|
129
|
+
"singleInstance",
|
|
130
|
+
"processTreeCleanup",
|
|
131
|
+
"detachedProcessPreflight",
|
|
132
|
+
):
|
|
133
|
+
_require_type(test_execution[key], bool, f"testExecution.{key}")
|
|
134
|
+
if not test_execution[key]:
|
|
135
|
+
raise PolicyValidationError(f"testExecution.{key} must be true")
|
|
136
|
+
for key in ("confirmationRequiredProfiles", "resourceIntensiveModules"):
|
|
137
|
+
values = test_execution[key]
|
|
138
|
+
_require_type(values, list, f"testExecution.{key}")
|
|
139
|
+
if any(not isinstance(item, str) or not item for item in values):
|
|
140
|
+
raise PolicyValidationError(
|
|
141
|
+
f"testExecution.{key} must contain non-empty strings"
|
|
142
|
+
)
|
|
143
|
+
|
|
144
|
+
execution_profiles = test_execution["profiles"]
|
|
145
|
+
_require_type(execution_profiles, dict, "testExecution.profiles")
|
|
146
|
+
required_profile_names = {"safe", "system", "full"}
|
|
147
|
+
if set(execution_profiles) != required_profile_names:
|
|
148
|
+
raise PolicyValidationError(
|
|
149
|
+
"testExecution.profiles must define exactly safe, system, and full"
|
|
150
|
+
)
|
|
151
|
+
if test_execution["defaultProfile"] != "safe":
|
|
152
|
+
raise PolicyValidationError("testExecution.defaultProfile must be safe")
|
|
153
|
+
confirmation_profiles = set(test_execution["confirmationRequiredProfiles"])
|
|
154
|
+
if not {"system", "full"}.issubset(confirmation_profiles):
|
|
155
|
+
raise PolicyValidationError(
|
|
156
|
+
"testExecution confirmation must cover system and full"
|
|
157
|
+
)
|
|
158
|
+
for profile_name, profile in execution_profiles.items():
|
|
159
|
+
path = f"testExecution.profiles.{profile_name}"
|
|
160
|
+
_require_type(profile, dict, path)
|
|
161
|
+
_reject_unknown(profile, TEST_EXECUTION_PROFILE_KEYS, path)
|
|
162
|
+
_require_type(profile["description"], str, f"{path}.description")
|
|
163
|
+
_require_type(
|
|
164
|
+
profile["includesResourceIntensive"],
|
|
165
|
+
bool,
|
|
166
|
+
f"{path}.includesResourceIntensive",
|
|
167
|
+
)
|
|
168
|
+
timeout = profile["moduleTimeoutSeconds"]
|
|
169
|
+
_require_type(timeout, int, f"{path}.moduleTimeoutSeconds")
|
|
170
|
+
if isinstance(timeout, bool) or timeout <= 0:
|
|
171
|
+
raise PolicyValidationError(
|
|
172
|
+
f"{path}.moduleTimeoutSeconds must be a positive integer"
|
|
173
|
+
)
|
|
174
|
+
if execution_profiles["safe"]["includesResourceIntensive"]:
|
|
175
|
+
raise PolicyValidationError(
|
|
176
|
+
"testExecution.profiles.safe must exclude resource-intensive tests"
|
|
177
|
+
)
|
|
178
|
+
for profile_name in ("system", "full"):
|
|
179
|
+
if not execution_profiles[profile_name]["includesResourceIntensive"]:
|
|
180
|
+
raise PolicyValidationError(
|
|
181
|
+
f"testExecution.profiles.{profile_name} must include resource-intensive tests"
|
|
182
|
+
)
|
|
183
|
+
|
|
97
184
|
risk_tiers = data["riskTiers"]
|
|
98
185
|
_require_type(risk_tiers, dict, "riskTiers")
|
|
99
186
|
for tier_name, tier in risk_tiers.items():
|
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "claude-code",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.22",
|
|
6
|
+
"requires": {
|
|
7
|
+
"minimumCliVersion": "0.2.32",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"sync@1",
|
|
10
|
+
"rules-sync@1",
|
|
11
|
+
"rules-review@1",
|
|
12
|
+
"knowledge-sync@2"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
6
15
|
"generator": "harness_deploy.py",
|
|
7
16
|
"files": [
|
|
8
17
|
{
|
|
9
18
|
"path": ".harness-build.json",
|
|
10
|
-
"sha256": "
|
|
19
|
+
"sha256": "4f645a6ea2dbc12bfeacc4e7fa280eb5c7d94fae89f2d1a14fdeb36dc6b136ef"
|
|
11
20
|
},
|
|
12
21
|
{
|
|
13
22
|
"path": "agents/harness-evaluator.md",
|
|
@@ -31,7 +40,7 @@
|
|
|
31
40
|
},
|
|
32
41
|
{
|
|
33
42
|
"path": "contracts/workflow-policy.json",
|
|
34
|
-
"sha256": "
|
|
43
|
+
"sha256": "92574af8d7252527be8cd2871675fc02ab7c3df95a72dab93228f6f884844971"
|
|
35
44
|
},
|
|
36
45
|
{
|
|
37
46
|
"path": "harness-archive/checklist.md",
|
|
@@ -47,7 +56,7 @@
|
|
|
47
56
|
},
|
|
48
57
|
{
|
|
49
58
|
"path": "harness-archive/SKILL.md",
|
|
50
|
-
"sha256": "
|
|
59
|
+
"sha256": "5e3600f67b1bc14b0f62e8aec014028177a7e5330589022d39c15333b27a5131"
|
|
51
60
|
},
|
|
52
61
|
{
|
|
53
62
|
"path": "harness-archive/templates/render-summary.mjs",
|
|
@@ -67,7 +76,7 @@
|
|
|
67
76
|
},
|
|
68
77
|
{
|
|
69
78
|
"path": "harness-codebase-map/SKILL.md",
|
|
70
|
-
"sha256": "
|
|
79
|
+
"sha256": "362596e8436d7eccae9c9d3266de955de03c33d67daf398d2e54e7c2d3779466"
|
|
71
80
|
},
|
|
72
81
|
{
|
|
73
82
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -127,15 +136,15 @@
|
|
|
127
136
|
},
|
|
128
137
|
{
|
|
129
138
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge.py",
|
|
130
|
-
"sha256": "
|
|
139
|
+
"sha256": "f312b778909d1710068aab0b58f22ac709796e0827882121810957e17041bf0c"
|
|
131
140
|
},
|
|
132
141
|
{
|
|
133
142
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
134
|
-
"sha256": "
|
|
143
|
+
"sha256": "2089e3deb019f18e5fe8e9a43a1a1b7b3dfc5c75fe4a341a063e83b5343266df"
|
|
135
144
|
},
|
|
136
145
|
{
|
|
137
146
|
"path": "harness-knowledge-query/SKILL.md",
|
|
138
|
-
"sha256": "
|
|
147
|
+
"sha256": "86489e25387f04f0018266fe944d27a49ad1df56561131d06ff5aa90961d66fe"
|
|
139
148
|
},
|
|
140
149
|
{
|
|
141
150
|
"path": "harness-plan/checklist.md",
|
|
@@ -151,7 +160,7 @@
|
|
|
151
160
|
},
|
|
152
161
|
{
|
|
153
162
|
"path": "harness-plan/SKILL.md",
|
|
154
|
-
"sha256": "
|
|
163
|
+
"sha256": "58f3d47c78720b0886cce6dc537985126a347d3ca66004e4d9fceecacc03864d"
|
|
155
164
|
},
|
|
156
165
|
{
|
|
157
166
|
"path": "harness-review/checklist.md",
|
|
@@ -167,7 +176,7 @@
|
|
|
167
176
|
},
|
|
168
177
|
{
|
|
169
178
|
"path": "harness-review/SKILL.md",
|
|
170
|
-
"sha256": "
|
|
179
|
+
"sha256": "4e72843c9b2a4b72f5ebf9a082c5d00acc10434a6d34726a471cfd773d37dfe2"
|
|
171
180
|
},
|
|
172
181
|
{
|
|
173
182
|
"path": "harness-run/checklist.md",
|
|
@@ -183,7 +192,7 @@
|
|
|
183
192
|
},
|
|
184
193
|
{
|
|
185
194
|
"path": "harness-run/SKILL.md",
|
|
186
|
-
"sha256": "
|
|
195
|
+
"sha256": "da3edf8bb7f8f911969d565e81a3795094cb73ad77fc10731042f7b08ab5b91d"
|
|
187
196
|
},
|
|
188
197
|
{
|
|
189
198
|
"path": "harness-submit/checklist.md",
|
|
@@ -195,19 +204,19 @@
|
|
|
195
204
|
},
|
|
196
205
|
{
|
|
197
206
|
"path": "harness-submit/SKILL.md",
|
|
198
|
-
"sha256": "
|
|
207
|
+
"sha256": "049ea0adebc605ddf8d6633a0e353810f0cbf1e01dcf80522b269cc4d19825b0"
|
|
199
208
|
},
|
|
200
209
|
{
|
|
201
210
|
"path": "harness-sync/reference.md",
|
|
202
|
-
"sha256": "
|
|
211
|
+
"sha256": "9d0be464bd32b14d9b0199988c46d44c83ef1e887dbbd4b85d640ee256818cd4"
|
|
203
212
|
},
|
|
204
213
|
{
|
|
205
214
|
"path": "harness-sync/SKILL.md",
|
|
206
|
-
"sha256": "
|
|
215
|
+
"sha256": "97443b68b5965487bdc2baa1a2c49456dbff350ed6a084d3c58ceaa1dd66e2bd"
|
|
207
216
|
},
|
|
208
217
|
{
|
|
209
218
|
"path": "harness-test/checklist.md",
|
|
210
|
-
"sha256": "
|
|
219
|
+
"sha256": "f974457a7aa094e1fbdb7d3039b0e8f3cacb777638603366e63a0aaf9a514aad"
|
|
211
220
|
},
|
|
212
221
|
{
|
|
213
222
|
"path": "harness-test/pitfalls-java.md",
|
|
@@ -219,7 +228,7 @@
|
|
|
219
228
|
},
|
|
220
229
|
{
|
|
221
230
|
"path": "harness-test/reference.md",
|
|
222
|
-
"sha256": "
|
|
231
|
+
"sha256": "b7cbfc91cff9ed7fef7b9cbee79f81e8cc588ffd956b531570eabef98ad24125"
|
|
223
232
|
},
|
|
224
233
|
{
|
|
225
234
|
"path": "harness-test/scripts/runtime-helpers.mjs",
|
|
@@ -227,7 +236,7 @@
|
|
|
227
236
|
},
|
|
228
237
|
{
|
|
229
238
|
"path": "harness-test/SKILL.md",
|
|
230
|
-
"sha256": "
|
|
239
|
+
"sha256": "a659416aae12417c37a61bc97a370fa84cb302082535e893b09e64ee407e7ea8"
|
|
231
240
|
},
|
|
232
241
|
{
|
|
233
242
|
"path": "protocols/archive-report-protocol.md",
|
|
@@ -279,7 +288,7 @@
|
|
|
279
288
|
},
|
|
280
289
|
{
|
|
281
290
|
"path": "scripts/harness_change.py",
|
|
282
|
-
"sha256": "
|
|
291
|
+
"sha256": "0283a881b61c35ae9b66ed988ff180f06ad7c1c13d4e5837a8926d543e4e9958"
|
|
283
292
|
},
|
|
284
293
|
{
|
|
285
294
|
"path": "scripts/harness_check_gate.py",
|
|
@@ -365,9 +374,13 @@
|
|
|
365
374
|
"path": "scripts/harness_test_guard.py",
|
|
366
375
|
"sha256": "426fd0002f643fc4b473f04f0c1164330de8a0c622cde7e07aad78d6a5e64df5"
|
|
367
376
|
},
|
|
377
|
+
{
|
|
378
|
+
"path": "scripts/harness_test_runner.py",
|
|
379
|
+
"sha256": "ba8b8b5628728593a1bcdab464b80b2a90536a909c0ce7df6a832f8ab16f08d1"
|
|
380
|
+
},
|
|
368
381
|
{
|
|
369
382
|
"path": "scripts/harness_workflow_policy.py",
|
|
370
|
-
"sha256": "
|
|
383
|
+
"sha256": "3c05971bccef2422217f88bf0d0a2e346248e46964474f20d383b95acec185da"
|
|
371
384
|
}
|
|
372
385
|
]
|
|
373
386
|
}
|
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "codebuddy",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.22",
|
|
6
|
+
"requires": {
|
|
7
|
+
"minimumCliVersion": "0.2.32",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"sync@1",
|
|
10
|
+
"rules-sync@1",
|
|
11
|
+
"rules-review@1",
|
|
12
|
+
"knowledge-sync@2"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
6
15
|
"generator": "harness_deploy.py",
|
|
7
16
|
"files": [
|
|
8
17
|
{
|
|
9
18
|
"path": ".harness-build.json",
|
|
10
|
-
"sha256": "
|
|
19
|
+
"sha256": "1b1edf412736eb2e37c385f5accc1a023b7cca55e2ecd06720c351e2f73f0310"
|
|
11
20
|
},
|
|
12
21
|
{
|
|
13
22
|
"path": "agents/harness-evaluator.md",
|
|
@@ -31,7 +40,7 @@
|
|
|
31
40
|
},
|
|
32
41
|
{
|
|
33
42
|
"path": "contracts/workflow-policy.json",
|
|
34
|
-
"sha256": "
|
|
43
|
+
"sha256": "92574af8d7252527be8cd2871675fc02ab7c3df95a72dab93228f6f884844971"
|
|
35
44
|
},
|
|
36
45
|
{
|
|
37
46
|
"path": "harness-archive/checklist.md",
|
|
@@ -47,7 +56,7 @@
|
|
|
47
56
|
},
|
|
48
57
|
{
|
|
49
58
|
"path": "harness-archive/SKILL.md",
|
|
50
|
-
"sha256": "
|
|
59
|
+
"sha256": "ecfe6d01d7738c46ae9a917d15217bf36f8ce80a4ac1b5a25b86ee2a5f705fc8"
|
|
51
60
|
},
|
|
52
61
|
{
|
|
53
62
|
"path": "harness-archive/templates/render-summary.mjs",
|
|
@@ -67,7 +76,7 @@
|
|
|
67
76
|
},
|
|
68
77
|
{
|
|
69
78
|
"path": "harness-codebase-map/SKILL.md",
|
|
70
|
-
"sha256": "
|
|
79
|
+
"sha256": "f65bdad16aa2678a7f05d19377c1ab8f683d1eeaaa5b3e25e6ace8e9be1cb9f4"
|
|
71
80
|
},
|
|
72
81
|
{
|
|
73
82
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -127,15 +136,15 @@
|
|
|
127
136
|
},
|
|
128
137
|
{
|
|
129
138
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge.py",
|
|
130
|
-
"sha256": "
|
|
139
|
+
"sha256": "f312b778909d1710068aab0b58f22ac709796e0827882121810957e17041bf0c"
|
|
131
140
|
},
|
|
132
141
|
{
|
|
133
142
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
134
|
-
"sha256": "
|
|
143
|
+
"sha256": "eafb9645f7759a1f3a4222f614648c4e4cab10f40e12025f4f86803958c18981"
|
|
135
144
|
},
|
|
136
145
|
{
|
|
137
146
|
"path": "harness-knowledge-query/SKILL.md",
|
|
138
|
-
"sha256": "
|
|
147
|
+
"sha256": "b77c9263979f2a7e6052a8fc3e8c65d04c3b3c437608fcb24465de51f007bee1"
|
|
139
148
|
},
|
|
140
149
|
{
|
|
141
150
|
"path": "harness-plan/checklist.md",
|
|
@@ -151,7 +160,7 @@
|
|
|
151
160
|
},
|
|
152
161
|
{
|
|
153
162
|
"path": "harness-plan/SKILL.md",
|
|
154
|
-
"sha256": "
|
|
163
|
+
"sha256": "cb7ff9fea1bd20e444874f74a7e4cc2ac1f3ff08a3c809d8a6e391fdc81673cc"
|
|
155
164
|
},
|
|
156
165
|
{
|
|
157
166
|
"path": "harness-review/checklist.md",
|
|
@@ -167,7 +176,7 @@
|
|
|
167
176
|
},
|
|
168
177
|
{
|
|
169
178
|
"path": "harness-review/SKILL.md",
|
|
170
|
-
"sha256": "
|
|
179
|
+
"sha256": "ee3074541db22e7c569b28e03ee3c3b7abc7580acaab1eb50b6a8a1bc69a4f9b"
|
|
171
180
|
},
|
|
172
181
|
{
|
|
173
182
|
"path": "harness-run/checklist.md",
|
|
@@ -183,7 +192,7 @@
|
|
|
183
192
|
},
|
|
184
193
|
{
|
|
185
194
|
"path": "harness-run/SKILL.md",
|
|
186
|
-
"sha256": "
|
|
195
|
+
"sha256": "441c14c2d496aea4cddd81dc3f731078424f987499ab76b9e96571bf9c692bf8"
|
|
187
196
|
},
|
|
188
197
|
{
|
|
189
198
|
"path": "harness-submit/checklist.md",
|
|
@@ -195,19 +204,19 @@
|
|
|
195
204
|
},
|
|
196
205
|
{
|
|
197
206
|
"path": "harness-submit/SKILL.md",
|
|
198
|
-
"sha256": "
|
|
207
|
+
"sha256": "79348493fa46cff6669c70270011e21c0aabaefa82e01fadc97ecdaea436618d"
|
|
199
208
|
},
|
|
200
209
|
{
|
|
201
210
|
"path": "harness-sync/reference.md",
|
|
202
|
-
"sha256": "
|
|
211
|
+
"sha256": "9d0be464bd32b14d9b0199988c46d44c83ef1e887dbbd4b85d640ee256818cd4"
|
|
203
212
|
},
|
|
204
213
|
{
|
|
205
214
|
"path": "harness-sync/SKILL.md",
|
|
206
|
-
"sha256": "
|
|
215
|
+
"sha256": "3979d0bf699119d0a66bb8f2ecfc68bffc0e7d77efc06b26040bca125221ea17"
|
|
207
216
|
},
|
|
208
217
|
{
|
|
209
218
|
"path": "harness-test/checklist.md",
|
|
210
|
-
"sha256": "
|
|
219
|
+
"sha256": "f974457a7aa094e1fbdb7d3039b0e8f3cacb777638603366e63a0aaf9a514aad"
|
|
211
220
|
},
|
|
212
221
|
{
|
|
213
222
|
"path": "harness-test/pitfalls-java.md",
|
|
@@ -219,7 +228,7 @@
|
|
|
219
228
|
},
|
|
220
229
|
{
|
|
221
230
|
"path": "harness-test/reference.md",
|
|
222
|
-
"sha256": "
|
|
231
|
+
"sha256": "b7cbfc91cff9ed7fef7b9cbee79f81e8cc588ffd956b531570eabef98ad24125"
|
|
223
232
|
},
|
|
224
233
|
{
|
|
225
234
|
"path": "harness-test/scripts/runtime-helpers.mjs",
|
|
@@ -227,7 +236,7 @@
|
|
|
227
236
|
},
|
|
228
237
|
{
|
|
229
238
|
"path": "harness-test/SKILL.md",
|
|
230
|
-
"sha256": "
|
|
239
|
+
"sha256": "364c727b2183b8f9cf1deb1343ba90533f3dd8bfaa4fb776caf4d116a5de16f4"
|
|
231
240
|
},
|
|
232
241
|
{
|
|
233
242
|
"path": "protocols/archive-report-protocol.md",
|
|
@@ -279,7 +288,7 @@
|
|
|
279
288
|
},
|
|
280
289
|
{
|
|
281
290
|
"path": "scripts/harness_change.py",
|
|
282
|
-
"sha256": "
|
|
291
|
+
"sha256": "0283a881b61c35ae9b66ed988ff180f06ad7c1c13d4e5837a8926d543e4e9958"
|
|
283
292
|
},
|
|
284
293
|
{
|
|
285
294
|
"path": "scripts/harness_check_gate.py",
|
|
@@ -365,9 +374,13 @@
|
|
|
365
374
|
"path": "scripts/harness_test_guard.py",
|
|
366
375
|
"sha256": "426fd0002f643fc4b473f04f0c1164330de8a0c622cde7e07aad78d6a5e64df5"
|
|
367
376
|
},
|
|
377
|
+
{
|
|
378
|
+
"path": "scripts/harness_test_runner.py",
|
|
379
|
+
"sha256": "ba8b8b5628728593a1bcdab464b80b2a90536a909c0ce7df6a832f8ab16f08d1"
|
|
380
|
+
},
|
|
368
381
|
{
|
|
369
382
|
"path": "scripts/harness_workflow_policy.py",
|
|
370
|
-
"sha256": "
|
|
383
|
+
"sha256": "3c05971bccef2422217f88bf0d0a2e346248e46964474f20d383b95acec185da"
|
|
371
384
|
}
|
|
372
385
|
]
|
|
373
386
|
}
|
|
@@ -2,12 +2,21 @@
|
|
|
2
2
|
"schema_version": 2,
|
|
3
3
|
"profile": "general",
|
|
4
4
|
"adapter": "codex",
|
|
5
|
-
"bundle_version": "0.2.
|
|
5
|
+
"bundle_version": "0.2.22",
|
|
6
|
+
"requires": {
|
|
7
|
+
"minimumCliVersion": "0.2.32",
|
|
8
|
+
"capabilities": [
|
|
9
|
+
"sync@1",
|
|
10
|
+
"rules-sync@1",
|
|
11
|
+
"rules-review@1",
|
|
12
|
+
"knowledge-sync@2"
|
|
13
|
+
]
|
|
14
|
+
},
|
|
6
15
|
"generator": "harness_deploy.py",
|
|
7
16
|
"files": [
|
|
8
17
|
{
|
|
9
18
|
"path": ".harness-build.json",
|
|
10
|
-
"sha256": "
|
|
19
|
+
"sha256": "854ab533dcdb5c46d82c75f95ad4bad67627cab1a908bb62b90c42b383c5f453"
|
|
11
20
|
},
|
|
12
21
|
{
|
|
13
22
|
"path": "CONTEXT.md",
|
|
@@ -19,7 +28,7 @@
|
|
|
19
28
|
},
|
|
20
29
|
{
|
|
21
30
|
"path": "contracts/workflow-policy.json",
|
|
22
|
-
"sha256": "
|
|
31
|
+
"sha256": "92574af8d7252527be8cd2871675fc02ab7c3df95a72dab93228f6f884844971"
|
|
23
32
|
},
|
|
24
33
|
{
|
|
25
34
|
"path": "harness-archive/checklist.md",
|
|
@@ -35,7 +44,7 @@
|
|
|
35
44
|
},
|
|
36
45
|
{
|
|
37
46
|
"path": "harness-archive/SKILL.md",
|
|
38
|
-
"sha256": "
|
|
47
|
+
"sha256": "88b0e7775d0949a2fd2eb071492427a41d174089fe09e23e2df788a61e98e429"
|
|
39
48
|
},
|
|
40
49
|
{
|
|
41
50
|
"path": "harness-archive/templates/render-summary.mjs",
|
|
@@ -55,7 +64,7 @@
|
|
|
55
64
|
},
|
|
56
65
|
{
|
|
57
66
|
"path": "harness-codebase-map/SKILL.md",
|
|
58
|
-
"sha256": "
|
|
67
|
+
"sha256": "73418d81f56874db063c92567f3fa8912e42bbf7f7ae63864988d8dd80269d76"
|
|
59
68
|
},
|
|
60
69
|
{
|
|
61
70
|
"path": "harness-codebase-map/templates/ARCHITECTURE.md",
|
|
@@ -115,15 +124,15 @@
|
|
|
115
124
|
},
|
|
116
125
|
{
|
|
117
126
|
"path": "harness-knowledge-ingest/scripts/harness_knowledge.py",
|
|
118
|
-
"sha256": "
|
|
127
|
+
"sha256": "f312b778909d1710068aab0b58f22ac709796e0827882121810957e17041bf0c"
|
|
119
128
|
},
|
|
120
129
|
{
|
|
121
130
|
"path": "harness-knowledge-ingest/SKILL.md",
|
|
122
|
-
"sha256": "
|
|
131
|
+
"sha256": "a5081476e1bd9299a833d8b68bdf41f8811f7657955406b04e951ce47fd8dbaf"
|
|
123
132
|
},
|
|
124
133
|
{
|
|
125
134
|
"path": "harness-knowledge-query/SKILL.md",
|
|
126
|
-
"sha256": "
|
|
135
|
+
"sha256": "af533fd20141c0f6db1368cd42447b05d5363fd253eb955dd60587cc32e432b8"
|
|
127
136
|
},
|
|
128
137
|
{
|
|
129
138
|
"path": "harness-plan/checklist.md",
|
|
@@ -139,7 +148,7 @@
|
|
|
139
148
|
},
|
|
140
149
|
{
|
|
141
150
|
"path": "harness-plan/SKILL.md",
|
|
142
|
-
"sha256": "
|
|
151
|
+
"sha256": "bc1f31fda7139bcf8f8673c6e85231225affe2f628aa68e0852b09c1bad5afcb"
|
|
143
152
|
},
|
|
144
153
|
{
|
|
145
154
|
"path": "harness-review/checklist.md",
|
|
@@ -155,7 +164,7 @@
|
|
|
155
164
|
},
|
|
156
165
|
{
|
|
157
166
|
"path": "harness-review/SKILL.md",
|
|
158
|
-
"sha256": "
|
|
167
|
+
"sha256": "5d454356e9c73e2e38ffcb1bf090a13f8a457e8c0b68d278b2c877faa613c21b"
|
|
159
168
|
},
|
|
160
169
|
{
|
|
161
170
|
"path": "harness-run/checklist.md",
|
|
@@ -171,7 +180,7 @@
|
|
|
171
180
|
},
|
|
172
181
|
{
|
|
173
182
|
"path": "harness-run/SKILL.md",
|
|
174
|
-
"sha256": "
|
|
183
|
+
"sha256": "bab195e3a861441c993721e414dd9ed056be77afc959da0a8c3b9e6d1ee7ab40"
|
|
175
184
|
},
|
|
176
185
|
{
|
|
177
186
|
"path": "harness-submit/checklist.md",
|
|
@@ -183,19 +192,19 @@
|
|
|
183
192
|
},
|
|
184
193
|
{
|
|
185
194
|
"path": "harness-submit/SKILL.md",
|
|
186
|
-
"sha256": "
|
|
195
|
+
"sha256": "db71b6586246ae6c9381bdb97195d390bfdf5cccd14ebc4286c8bf9c1b088b14"
|
|
187
196
|
},
|
|
188
197
|
{
|
|
189
198
|
"path": "harness-sync/reference.md",
|
|
190
|
-
"sha256": "
|
|
199
|
+
"sha256": "9d0be464bd32b14d9b0199988c46d44c83ef1e887dbbd4b85d640ee256818cd4"
|
|
191
200
|
},
|
|
192
201
|
{
|
|
193
202
|
"path": "harness-sync/SKILL.md",
|
|
194
|
-
"sha256": "
|
|
203
|
+
"sha256": "6e69c550c106f176cea7d9bc852c93b18e0da507933021fefe161a84aaa6aaa7"
|
|
195
204
|
},
|
|
196
205
|
{
|
|
197
206
|
"path": "harness-test/checklist.md",
|
|
198
|
-
"sha256": "
|
|
207
|
+
"sha256": "f974457a7aa094e1fbdb7d3039b0e8f3cacb777638603366e63a0aaf9a514aad"
|
|
199
208
|
},
|
|
200
209
|
{
|
|
201
210
|
"path": "harness-test/pitfalls-java.md",
|
|
@@ -207,7 +216,7 @@
|
|
|
207
216
|
},
|
|
208
217
|
{
|
|
209
218
|
"path": "harness-test/reference.md",
|
|
210
|
-
"sha256": "
|
|
219
|
+
"sha256": "b7cbfc91cff9ed7fef7b9cbee79f81e8cc588ffd956b531570eabef98ad24125"
|
|
211
220
|
},
|
|
212
221
|
{
|
|
213
222
|
"path": "harness-test/scripts/runtime-helpers.mjs",
|
|
@@ -215,7 +224,7 @@
|
|
|
215
224
|
},
|
|
216
225
|
{
|
|
217
226
|
"path": "harness-test/SKILL.md",
|
|
218
|
-
"sha256": "
|
|
227
|
+
"sha256": "55624805dfdf59f344dcece0e06fa97bc47bbc214ced8ff19be6d0851e2ac4d8"
|
|
219
228
|
},
|
|
220
229
|
{
|
|
221
230
|
"path": "protocols/archive-report-protocol.md",
|
|
@@ -267,7 +276,7 @@
|
|
|
267
276
|
},
|
|
268
277
|
{
|
|
269
278
|
"path": "scripts/harness_change.py",
|
|
270
|
-
"sha256": "
|
|
279
|
+
"sha256": "0283a881b61c35ae9b66ed988ff180f06ad7c1c13d4e5837a8926d543e4e9958"
|
|
271
280
|
},
|
|
272
281
|
{
|
|
273
282
|
"path": "scripts/harness_check_gate.py",
|
|
@@ -353,9 +362,13 @@
|
|
|
353
362
|
"path": "scripts/harness_test_guard.py",
|
|
354
363
|
"sha256": "426fd0002f643fc4b473f04f0c1164330de8a0c622cde7e07aad78d6a5e64df5"
|
|
355
364
|
},
|
|
365
|
+
{
|
|
366
|
+
"path": "scripts/harness_test_runner.py",
|
|
367
|
+
"sha256": "ba8b8b5628728593a1bcdab464b80b2a90536a909c0ce7df6a832f8ab16f08d1"
|
|
368
|
+
},
|
|
356
369
|
{
|
|
357
370
|
"path": "scripts/harness_workflow_policy.py",
|
|
358
|
-
"sha256": "
|
|
371
|
+
"sha256": "3c05971bccef2422217f88bf0d0a2e346248e46964474f20d383b95acec185da"
|
|
359
372
|
}
|
|
360
373
|
]
|
|
361
374
|
}
|