harness-everything 0.35.0 → 0.36.1
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/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.github/workflows/ci.yml +2 -0
- package/AGENTS.md +3 -0
- package/CHANGELOG.md +44 -0
- package/ci/mechanism-335-baseline-evidence.test.js +2690 -0
- package/ci/mechanism-36-verify-timeout.test.js +534 -0
- package/ci/mechanism-37-portability-lint.test.js +71 -0
- package/ci/mechanism-38-verify-all.test.js +112 -0
- package/ci/mechanism-39-opencode-verify-outcomes.test.js +374 -0
- package/ci/portability-lint.js +288 -0
- package/docs/doc-evidence-baseline-binding.md +249 -0
- package/docs/document-lifecycle.md +2 -2
- package/docs/repository-contract.md +1 -1
- package/harness-everything/SKILL.md +1 -1
- package/harness-everything/scripts/doc-evidence.js +452 -19
- package/harness-everything/scripts/doc-obligations.js +32 -5
- package/opencode-plugin/README.md +33 -2
- package/opencode-plugin/hooks/verify.js +87 -11
- package/opencode-plugin/index.mjs +216 -25
- package/opencode-plugin/plugin.json +1 -1
- package/package.json +3 -1
- package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
- package/plugins/harness-everything/plugin.json +1 -1
- package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
- package/plugins/harness-everything/skills/harness-everything/scripts/doc-evidence.js +452 -19
- package/plugins/harness-everything/skills/harness-everything/scripts/doc-obligations.js +32 -5
- package/sbom.cdx.json +7 -7
- package/scripts/verify-all.js +314 -0
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"name": "harness-everything",
|
|
11
11
|
"source": "./",
|
|
12
12
|
"description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
|
|
13
|
-
"version": "0.
|
|
13
|
+
"version": "0.36.1",
|
|
14
14
|
"author": {
|
|
15
15
|
"name": "Miya Daniel"
|
|
16
16
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "harness-everything",
|
|
3
3
|
"description": "Harness OS: an orchestrated agent operating system — tier routing, circuit breaker guardrails, verification gates, WAL session memory, and self-evolving workspace rules.",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.36.1",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Miya Daniel"
|
|
7
7
|
},
|
package/.github/workflows/ci.yml
CHANGED
|
@@ -180,6 +180,8 @@ jobs:
|
|
|
180
180
|
run: npm run test:plugin:submission
|
|
181
181
|
- name: Platform compatibility matrix matches official-source and installer contracts
|
|
182
182
|
run: npm run test:platform:compatibility
|
|
183
|
+
- name: Test sources stay portable across the OS matrix
|
|
184
|
+
run: npm run test:portability
|
|
183
185
|
|
|
184
186
|
installer-e2e:
|
|
185
187
|
strategy:
|
package/AGENTS.md
CHANGED
|
@@ -65,8 +65,11 @@ npm run test:routing:invariants
|
|
|
65
65
|
npm run test:plugin:openai
|
|
66
66
|
npm run test:plugin:submission
|
|
67
67
|
npm run test:platform:compatibility
|
|
68
|
+
npm run test:portability
|
|
68
69
|
```
|
|
69
70
|
|
|
71
|
+
`npm run verify:all` runs this set in CI order and prints paste-ready evidence; every known gate stays in the report as PASS/FAIL/UNCHECKED with a reason. `-- --fast` runs the pre-push subset, `-- --clean` runs every gate in a fresh detached worktree of HEAD, and `-- --node22` adds the Node.js 22 execution smoke-test lane (Node 22 dependency-install compatibility stays UNCHECKED locally; CI's runtime-floor job owns it).
|
|
72
|
+
|
|
70
73
|
If waza is installed (`~/bin/waza`), also run:
|
|
71
74
|
|
|
72
75
|
```bash
|
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,41 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project are documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.36.1](https://github.com/dyphn1/Harness-everything/compare/v0.36.0...v0.36.1) (2026-10-20)
|
|
6
|
+
|
|
7
|
+
### Bug Fixes
|
|
8
|
+
|
|
9
|
+
* **doc-lifecycle:** bind baseline-annotated candidate evidence to captured snapshot ([9852f0c](https://github.com/dyphn1/Harness-everything/commit/9852f0ca5f6460b53d292f88e65663a621a6e5b8)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
10
|
+
* **doc-lifecycle:** bind deleted and renamed evidence to baseline ([8900c6e](https://github.com/dyphn1/Harness-everything/commit/8900c6eb452a8d0812b97498bf1c65ddc4bf40e3)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335) [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
11
|
+
* **doc-lifecycle:** capture mixed-scope candidate digests before binding ([bf34bde](https://github.com/dyphn1/Harness-everything/commit/bf34bdee56684f05b6e3a75aca467204b18eb606))
|
|
12
|
+
* **doc-lifecycle:** capture the validated per-path baseline digest once ([8c67129](https://github.com/dyphn1/Harness-everything/commit/8c67129c91079d0c148390feb8a55acebece89b7)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
13
|
+
* **doc-lifecycle:** carry validated baseline absence and rename destination snapshot ([4800a75](https://github.com/dyphn1/Harness-everything/commit/4800a75df8bdcb6a8e9f6b771c0a594386047d7e)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
14
|
+
* **doc-lifecycle:** close applicable-only absence and shared-destination gaps ([56f3094](https://github.com/dyphn1/Harness-everything/commit/56f3094203c766f1dfc08e5ae32a2ad48dc8bffb)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
15
|
+
* **doc-lifecycle:** defer candidate inventory prototype check to baseline obligations ([ef70db3](https://github.com/dyphn1/Harness-everything/commit/ef70db3e3a70e0b054400f844bb2d30ccda531a5))
|
|
16
|
+
* **doc-lifecycle:** gate destination snapshot on applicability and guard entry inspection ([4cdb97c](https://github.com/dyphn1/Harness-everything/commit/4cdb97c2a8b83bbb3b84a6febbcb434063e6a3c8)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
17
|
+
* **doc-lifecycle:** harden rename destination and malformed inventory evidence ([2882f02](https://github.com/dyphn1/Harness-everything/commit/2882f0279443a5f23064ca5f96de935bc1589dae))
|
|
18
|
+
* **doc-lifecycle:** key the baseline audit mirror on the validated path snapshot ([7217b3a](https://github.com/dyphn1/Harness-everything/commit/7217b3af60cb9b1420d8629877eaf40458b4793b)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
19
|
+
* **doc-lifecycle:** reject non-plain candidate inventories for baseline evidence ([e3cd088](https://github.com/dyphn1/Harness-everything/commit/e3cd0880a90130c612e1b63ceb79ac0f7a5517ba)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
20
|
+
* **doc-lifecycle:** reject unknown candidate inventories for baseline evidence ([2d8a501](https://github.com/dyphn1/Harness-everything/commit/2d8a501b0d3a8935e346bc88ea45535f040451c7)), closes [#335](https://github.com/dyphn1/Harness-everything/issues/335)
|
|
21
|
+
* **doc-lifecycle:** require own-key baseline evidence and scoped rename targets ([a464414](https://github.com/dyphn1/Harness-everything/commit/a464414a6f7cd15276c37130fca6f9499364ff97))
|
|
22
|
+
|
|
23
|
+
## [0.36.0](https://github.com/dyphn1/Harness-everything/compare/v0.35.0...v0.36.0) (2026-10-18)
|
|
24
|
+
|
|
25
|
+
### Features
|
|
26
|
+
|
|
27
|
+
* **verify:** add one-shot local gate runner and portability lint ([af1ef16](https://github.com/dyphn1/Harness-everything/commit/af1ef164c1f05e8779160f010cc20a1a122ea69e))
|
|
28
|
+
|
|
29
|
+
### Bug Fixes
|
|
30
|
+
|
|
31
|
+
* **opencode-plugin:** give idle verification a real budget instead of a 60s cap ([60973f0](https://github.com/dyphn1/Harness-everything/commit/60973f0afb5f5fdb450620aaff5ab5d5138f9976))
|
|
32
|
+
* **opencode-plugin:** keep both streams in signatures, timeout only on budget expiry ([fa65afe](https://github.com/dyphn1/Harness-everything/commit/fa65afe0bf358fa4f35a787227d31901cdee700a))
|
|
33
|
+
* **opencode-plugin:** keep Jest Console payload lines out of failure markers ([2e1f0bb](https://github.com/dyphn1/Harness-everything/commit/2e1f0bb0eeddcac9c4c77991040873d2b5f5ca23))
|
|
34
|
+
* **opencode-plugin:** rank test-level failure markers over suite-level context ([46811a1](https://github.com/dyphn1/Harness-everything/commit/46811a1389bda7fe9aa88f280d9d44a4cc3e98e5))
|
|
35
|
+
* **opencode:** recognize indented Mocha failure markers ([1041493](https://github.com/dyphn1/Harness-everything/commit/1041493eeea2f25030e0218d89e607a3f4e48bab))
|
|
36
|
+
* **opencode:** respect Jest Console indentation when parsing failure markers ([cd38f1e](https://github.com/dyphn1/Harness-everything/commit/cd38f1eba564025641c47776ea540c83629f2428))
|
|
37
|
+
* **verify:** classify verification outcomes and normalize breaker signatures ([e2ea651](https://github.com/dyphn1/Harness-everything/commit/e2ea6511ca3c400b8f94086a8496af20a8a1823b))
|
|
38
|
+
* **verify:** close portability-lint and verify-all review gaps ([05e2d8c](https://github.com/dyphn1/Harness-everything/commit/05e2d8ca0f4328426c60ffc4e66804358cd86941))
|
|
39
|
+
|
|
5
40
|
## [0.35.0](https://github.com/dyphn1/Harness-everything/compare/v0.34.0...v0.35.0) (2026-10-18)
|
|
6
41
|
|
|
7
42
|
### Features
|
|
@@ -26,6 +61,15 @@ All notable changes to this project are documented in this file.
|
|
|
26
61
|
* **doc-obligations:** reject PRD revision identities not chained to the base declaration
|
|
27
62
|
* **doc-obligations:** keep unrelated REQ-citing tests out of requirement-sync scope
|
|
28
63
|
* **doc-evidence:** keep unresolved requirement identities out of observed requirement-sync failures
|
|
64
|
+
* **doc-evidence:** bind deleted and renamed baseline paths to trusted per-path digest evidence while keeping candidate paths exact
|
|
65
|
+
* **doc-evidence:** reject absent, malformed, or non-plain-object top-level candidate inventories for baseline-only obligations while keeping explicit empty and null-prototype inventories valid
|
|
66
|
+
* **doc-evidence:** defer the candidate-inventory prototype check to applicable baseline-only obligations and treat a throwing prototype trap as unknown inventory, so unrelated obligations are never aborted
|
|
67
|
+
* **doc-evidence:** bind baseline-annotated mixed scopes and rename destinations to the captured candidate snapshot for evidence binding, the audit identity, and stale diagnostics, so a later-throwing or later-changing digest accessor cannot disagree with the digest that bound evidence
|
|
68
|
+
* **doc-evidence:** carry the metadata-validated rename destination digest and baseline-path source-absence proof through capture and binding, so a candidate inventory that answers consistently during validation is never re-inspected and cannot abort the check or drift the audit key
|
|
69
|
+
* **doc-evidence:** restrict the validated source-absence audit shortcut to applicable obligations and require every accepted entry sharing a rename destination to agree on the validated own digest, so inapplicable audit identity keeps the legacy read and contradictory shared-destination snapshots fail closed
|
|
70
|
+
* **doc-evidence:** gate the rename destination snapshot on applicability and guard baselinePaths entry inspection, so inapplicable audit identity reports the first legacy digest value and a throwing entry getter or descriptor trap fails the entry closed instead of escaping the checker
|
|
71
|
+
* **doc-evidence:** capture the validated per-path baseline digest during metadata and drive the audit mirror, stale-baseline diagnostics, and binding from that snapshot, so a stateful baseline getter cannot bind a record against a value it started returning only after validation and a throwing inspection is a metadata error instead of an escape
|
|
72
|
+
* **doc-evidence:** key the baseline audit mirror by the metadata-validated path snapshot instead of re-reading `baselinePaths[].path`, so a stateful path accessor read during validation can never make a passing result describe a different baseline identity
|
|
29
73
|
|
|
30
74
|
## [0.34.0](https://github.com/dyphn1/Harness-everything/compare/v0.33.0...v0.34.0) (2026-10-17)
|
|
31
75
|
|