harness-everything 0.30.10 → 0.31.0
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/AGENTS.md +1 -1
- package/CHANGELOG.md +24 -4
- package/README.md +8 -9
- package/VERIFICATION.md +1 -1
- package/benchmarks/results/live-host/claude-2026-10-08-issue-297/README.md +27 -0
- package/benchmarks/results/pr-303-review-2026-10-13/README.md +81 -0
- package/benchmarks/results/pr-303-review-2026-10-13/ci/run.json +1330 -0
- package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/mechanism-35-clean-env.log +1 -0
- package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/mechanism-35-inherited-flag.log +34 -0
- package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/verify-gate-captured.json +46 -0
- package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/verify-gate-diagnosis.md +13 -0
- package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/verify-gate.json +46 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/summary.json +57 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-collision.log +8 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-consistency.log +624 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-docs-capabilities.log +131 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-platform-compatibility.log +9 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-plugin-openai.log +6 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-plugin-submission.log +5 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-references.log +6 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-release.log +73 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-repo-contract.log +5 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-routing-invariants.log +785 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/contracts/test-routing-skills.log +44 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/final-fast/summary.json +12 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/final-fast/test-consistency.log +624 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/final-fast/test-release.log +73 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/summary.json +79 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/test-mechanism.log +1737 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/test-mutations.log +16 -0
- package/benchmarks/results/pr-303-review-2026-10-13/gates/heavy/test.log +3297 -0
- package/benchmarks/results/pr-303-review-2026-10-13/manifest.json +319 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/binding-resolution-green.log +36 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/determinism.json +174 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/quality-evidence.json +314 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/quality-report.json +638 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/red.log +240 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/untyped-fable-probe.json +22 -0
- package/benchmarks/results/pr-303-review-2026-10-13/regression/workflow-obligations-green.log +254 -0
- package/benchmarks/results/pr-303-review-2026-10-13/verification/mechanism-35-clean-env-fixed.log +1 -0
- package/benchmarks/results/pr-303-review-2026-10-13/verification/mechanism-35-inherited-flag-fixed.log +1 -0
- package/benchmarks/results/pr-303-review-2026-10-13/verification/nested-test.meta.json +8 -0
- package/benchmarks/results/pr-303-review-2026-10-13/verification/nested-test.stderr.log +90 -0
- package/benchmarks/results/pr-303-review-2026-10-13/verification/nested-test.stdout.log +3186 -0
- package/benchmarks/results/pr-303-review-2026-10-13/verification/verify-gate-final.json +46 -0
- package/bin/cli.js +1 -1
- package/ci/invariant-routing.test.js +7 -4
- package/ci/mechanism-2ag-router-worktree-contract.test.js +2 -2
- package/ci/mechanism-2ai-workspace-fingerprint-batch.test.js +2 -1
- package/ci/mechanism-2an-workflow-obligations.test.js +352 -3
- package/ci/mechanism-2aq-fable-stage-bindings.test.js +168 -0
- package/ci/mechanism-2ar-binding-resolution.test.js +211 -0
- package/ci/mechanism-35-verification-contract.test.js +1 -1
- package/ci/mutation-check.js +2 -0
- package/ci/mutation-loader.js +4 -0
- package/ci/openai-plugin-package.test.js +7 -5
- package/ci/prompt-contract-regressions.test.js +7 -6
- package/ci/router-workflow-plan.test.js +109 -14
- package/ci/skill-routing-check.js +44 -15
- package/ci/workflow-plan-consumers.test.js +41 -1
- package/docs/architecture.md +10 -10
- package/docs/enforcement-locks.md +1 -1
- package/docs/mechanism-first-skill-mesh.md +12 -11
- package/docs/openai-plugin.md +1 -1
- package/docs/philosophy.md +7 -6
- package/docs/platform-capabilities.md +7 -5
- package/docs/routing.md +16 -17
- package/docs/system-one-observations.md +1 -1
- package/docs/system-one-routing.md +10 -7
- package/docs/system-one-suggestion-gates.md +5 -5
- package/docs/workflow-runtime.md +6 -2
- package/docs/workflows/harness-everything.md +14 -14
- package/evals/harness-everything/tasks/positive-tier1.yaml +1 -1
- package/evals/harness-everything/tasks/positive-tier2.yaml +1 -1
- package/evals/harness-everything/tasks/positive-tier3.yaml +1 -1
- package/fable-mode/CONTRACT-FORMAT.md +4 -1
- package/fable-mode/SKILL.md +6 -8
- package/fable-mode/agents/fable-orchestrator.md +10 -3
- package/fable-mode/execution-guardrails/SKILL.md +1 -1
- package/fable-mode/fable-haiku/SKILL.md +1 -1
- package/fable-mode/fable-opus/SKILL.md +1 -1
- package/fable-mode/fable-sonnet/SKILL.md +1 -1
- package/fable-mode/scripts/workflow-plan-consumer.js +101 -2
- package/harness-everything/SKILL.md +8 -7
- package/harness-everything/references/router-workflow-plan.md +11 -6
- package/harness-everything/references/triage-and-tiers.md +21 -23
- package/harness-everything/schemas/router-workflow-plan.schema.json +2 -0
- package/harness-everything/scripts/kernel-router-core.js +52 -55
- package/harness-everything/scripts/kernel-router.js +48 -5
- package/harness-everything/scripts/router-contract-core.js +7 -7
- package/harness-everything/scripts/router-contract.js +1 -3
- package/harness-everything/scripts/routing-keywords.json +417 -121
- package/harness-everything/scripts/tier-router.js +64 -113
- package/hooks/scripts/contract-test.js +29 -3
- package/hooks/scripts/lib/binding-resolver.js +76 -0
- package/hooks/scripts/lib/fable-contracts.js +1 -1
- package/hooks/scripts/lib/workflow-obligations.js +292 -7
- package/hooks/scripts/lib/workflow-runtime.js +8 -1
- package/hooks/scripts/workflow-disposition.js +116 -2
- package/opencode-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
- package/plugins/harness-everything/hooks/scripts/contract-test.js +29 -3
- package/plugins/harness-everything/hooks/scripts/lib/binding-resolver.js +76 -0
- package/plugins/harness-everything/hooks/scripts/lib/fable-contracts.js +1 -1
- package/plugins/harness-everything/hooks/scripts/lib/workflow-obligations.js +292 -7
- package/plugins/harness-everything/hooks/scripts/lib/workflow-runtime.js +8 -1
- package/plugins/harness-everything/hooks/scripts/workflow-disposition.js +116 -2
- package/plugins/harness-everything/plugin.json +1 -1
- package/plugins/harness-everything/scripts/lib/advisory-text.js +2 -2
- package/plugins/harness-everything/scripts/lib/generated-skills.js +78 -0
- package/plugins/harness-everything/skills/fable-mode/CONTRACT-FORMAT.md +4 -1
- package/plugins/harness-everything/skills/fable-mode/SKILL.md +6 -8
- package/plugins/harness-everything/skills/fable-mode/agents/fable-orchestrator.md +10 -3
- package/plugins/harness-everything/skills/fable-mode/execution-guardrails/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/fable-haiku/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/fable-opus/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/fable-sonnet/SKILL.md +1 -1
- package/plugins/harness-everything/skills/fable-mode/scripts/workflow-plan-consumer.js +101 -2
- package/plugins/harness-everything/skills/harness-everything/SKILL.md +8 -7
- package/plugins/harness-everything/skills/harness-everything/references/router-workflow-plan.md +11 -6
- package/plugins/harness-everything/skills/harness-everything/references/triage-and-tiers.md +21 -23
- package/plugins/harness-everything/skills/harness-everything/schemas/router-workflow-plan.schema.json +2 -0
- package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router-core.js +52 -55
- package/plugins/harness-everything/skills/harness-everything/scripts/kernel-router.js +48 -5
- package/plugins/harness-everything/skills/harness-everything/scripts/router-contract-core.js +7 -7
- package/plugins/harness-everything/skills/harness-everything/scripts/router-contract.js +1 -3
- package/plugins/harness-everything/skills/harness-everything/scripts/routing-keywords.json +417 -121
- package/plugins/harness-everything/skills/harness-everything/scripts/tier-router.js +64 -113
- package/sbom.cdx.json +7 -7
- package/scripts/lib/advisory-text.js +2 -2
- package/scripts/lib/generated-skills.js +78 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Issue #242 verification contract: taxonomy, discovery, execution safety, multi-root scope, hook recognition, and Stop evidence verified.
|
package/benchmarks/results/pr-303-review-2026-10-13/diagnostics/mechanism-35-inherited-flag.log
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
node.exe : node:assert:152
|
|
2
|
+
位於 線路:4 字元:1
|
|
3
|
+
+ & node ci/mechanism-35-verification-contract.test.js *> (Join-Path $o ...
|
|
4
|
+
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
5
|
+
+ CategoryInfo : NotSpecified: (node:assert:152:String) [], RemoteException
|
|
6
|
+
+ FullyQualifiedErrorId : NativeCommandError
|
|
7
|
+
|
|
8
|
+
throw new AssertionError(obj);
|
|
9
|
+
^
|
|
10
|
+
|
|
11
|
+
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
|
|
12
|
+
+ actual - expected
|
|
13
|
+
|
|
14
|
+
+ 'SKIPPED'
|
|
15
|
+
- 'UNCHECKED_NO_CHECKS'
|
|
16
|
+
|
|
17
|
+
at Object.<anonymous> (<workspace>\ci\mechanism-35-verification-contract.tes
|
|
18
|
+
t.js:90:10)
|
|
19
|
+
at Module._compile (node:internal/modules/cjs/loader:1871:14)
|
|
20
|
+
at Object..js (node:internal/modules/cjs/loader:2002:10)
|
|
21
|
+
at Module.load (node:internal/modules/cjs/loader:1594:32)
|
|
22
|
+
at Module._load (node:internal/modules/cjs/loader:1396:12)
|
|
23
|
+
at wrapModuleLoad (node:internal/modules/cjs/loader:255:19)
|
|
24
|
+
at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:154:5)
|
|
25
|
+
at node:internal/main/run_main_module:33:47 {
|
|
26
|
+
generatedMessage: true,
|
|
27
|
+
code: 'ERR_ASSERTION',
|
|
28
|
+
actual: 'SKIPPED',
|
|
29
|
+
expected: 'UNCHECKED_NO_CHECKS',
|
|
30
|
+
operator: 'strictEqual',
|
|
31
|
+
diff: 'simple'
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Node.js v24.18.0
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"status": "FAILED",
|
|
3
|
+
"reason": "check package-test exited 1",
|
|
4
|
+
"repoRoot": "<workspace>",
|
|
5
|
+
"roots": [
|
|
6
|
+
{
|
|
7
|
+
"path": "<workspace>",
|
|
8
|
+
"status": "FAILED",
|
|
9
|
+
"reason": "check package-test exited 1",
|
|
10
|
+
"checks": [
|
|
11
|
+
{
|
|
12
|
+
"id": "package-test",
|
|
13
|
+
"run": "npm run test",
|
|
14
|
+
"cwd": "<workspace>",
|
|
15
|
+
"source": "package-auto",
|
|
16
|
+
"exitCode": 1,
|
|
17
|
+
"durationMs": 230898
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"candidates": [
|
|
21
|
+
{
|
|
22
|
+
"source": "git-hook",
|
|
23
|
+
"run": "git commit (pre-commit hook configured)",
|
|
24
|
+
"cwd": "<workspace>"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"checks": [
|
|
30
|
+
{
|
|
31
|
+
"id": "package-test",
|
|
32
|
+
"run": "npm run test",
|
|
33
|
+
"cwd": "<workspace>",
|
|
34
|
+
"source": "package-auto",
|
|
35
|
+
"exitCode": 1,
|
|
36
|
+
"durationMs": 230898
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"candidates": [
|
|
40
|
+
{
|
|
41
|
+
"source": "git-hook",
|
|
42
|
+
"run": "git commit (pre-commit hook configured)",
|
|
43
|
+
"cwd": "<workspace>"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
STRUCTURED GATE FAILURE DIAGNOSIS
|
|
2
|
+
|
|
3
|
+
The nested `npm run test` ran with HARNESS_SKIP_PROJECT_CHECKS=1 because verify-gate.js executeCheck sets that environment variable for recursion protection.
|
|
4
|
+
|
|
5
|
+
Reproduction:
|
|
6
|
+
- `HARNESS_SKIP_PROJECT_CHECKS=1 node ci/mechanism-35-verification-contract.test.js` -> exit 1; first assertion in the taxonomy fixture received `SKIPPED`, expected `UNCHECKED_NO_CHECKS`.
|
|
7
|
+
- `node ci/mechanism-35-verification-contract.test.js` with the variable absent -> exit 0; suite printed its verification-contract success message.
|
|
8
|
+
|
|
9
|
+
Cause: mechanism-35's `run()` helper spreads `process.env`; `invokeGate()` passes `{}` by default, so the inherited recursion flag leaks into its empty-repo fixture. The test explicitly expects the empty fixture to run normally.
|
|
10
|
+
|
|
11
|
+
Minimal test-only correction proposal: in `invokeGate()`, set a default `HARNESS_SKIP_PROJECT_CHECKS: '0'` before spreading `options.env`, so explicit recursion-guard coverage can still pass `'1'`.
|
|
12
|
+
|
|
13
|
+
No source files changed. Other verify-gate references found in CI are path/documentation references; self-regression's verify smoke test explicitly sets and expects the recursion guard.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"status": "FAILED",
|
|
3
|
+
"reason": "check package-test exited 1",
|
|
4
|
+
"repoRoot": "<workspace>",
|
|
5
|
+
"roots": [
|
|
6
|
+
{
|
|
7
|
+
"path": "<workspace>",
|
|
8
|
+
"status": "FAILED",
|
|
9
|
+
"reason": "check package-test exited 1",
|
|
10
|
+
"checks": [
|
|
11
|
+
{
|
|
12
|
+
"id": "package-test",
|
|
13
|
+
"run": "npm run test",
|
|
14
|
+
"cwd": "<workspace>",
|
|
15
|
+
"source": "package-auto",
|
|
16
|
+
"exitCode": 1,
|
|
17
|
+
"durationMs": 240451
|
|
18
|
+
}
|
|
19
|
+
],
|
|
20
|
+
"candidates": [
|
|
21
|
+
{
|
|
22
|
+
"source": "git-hook",
|
|
23
|
+
"run": "git commit (pre-commit hook configured)",
|
|
24
|
+
"cwd": "<workspace>"
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
}
|
|
28
|
+
],
|
|
29
|
+
"checks": [
|
|
30
|
+
{
|
|
31
|
+
"id": "package-test",
|
|
32
|
+
"run": "npm run test",
|
|
33
|
+
"cwd": "<workspace>",
|
|
34
|
+
"source": "package-auto",
|
|
35
|
+
"exitCode": 1,
|
|
36
|
+
"durationMs": 240451
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"candidates": [
|
|
40
|
+
{
|
|
41
|
+
"source": "git-hook",
|
|
42
|
+
"run": "git commit (pre-commit hook configured)",
|
|
43
|
+
"cwd": "<workspace>"
|
|
44
|
+
}
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"gate": "test:consistency",
|
|
4
|
+
"exitCode": 0,
|
|
5
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-consistency.log"
|
|
6
|
+
},
|
|
7
|
+
{
|
|
8
|
+
"gate": "test:repo-contract",
|
|
9
|
+
"exitCode": 0,
|
|
10
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-repo-contract.log"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"gate": "test:docs:capabilities",
|
|
14
|
+
"exitCode": 0,
|
|
15
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-docs-capabilities.log"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"gate": "test:references",
|
|
19
|
+
"exitCode": 0,
|
|
20
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-references.log"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"gate": "test:release",
|
|
24
|
+
"exitCode": 0,
|
|
25
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-release.log"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"gate": "test:collision",
|
|
29
|
+
"exitCode": 0,
|
|
30
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-collision.log"
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"gate": "test:routing:skills",
|
|
34
|
+
"exitCode": 0,
|
|
35
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-routing-skills.log"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"gate": "test:routing:invariants",
|
|
39
|
+
"exitCode": 0,
|
|
40
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-routing-invariants.log"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"gate": "test:plugin:openai",
|
|
44
|
+
"exitCode": 0,
|
|
45
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-plugin-openai.log"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"gate": "test:plugin:submission",
|
|
49
|
+
"exitCode": 0,
|
|
50
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-plugin-submission.log"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"gate": "test:platform:compatibility",
|
|
54
|
+
"exitCode": 0,
|
|
55
|
+
"log": "<temp>\\harness-pr303-final-contracts\\test-platform-compatibility.log"
|
|
56
|
+
}
|
|
57
|
+
]
|