harness-everything 0.30.9 → 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 +34 -0
- 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/live-host/codex-2026-10-13/README.md +55 -0
- package/benchmarks/results/live-host/codex-2026-10-13/observation-records.json +88 -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/doc-capability-consistency.test.js +11 -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-2al-codex-hooks-compat.test.js +19 -0
- package/ci/mechanism-2am-observations-session-import.test.js +221 -0
- package/ci/mechanism-2an-workflow-obligations.test.js +352 -3
- package/ci/mechanism-2ao-plugin-sync.test.js +129 -4
- package/ci/mechanism-2aq-fable-stage-bindings.test.js +168 -0
- package/ci/mechanism-2ar-binding-resolution.test.js +211 -0
- package/ci/mechanism-2w-platform-compatibility.test.js +12 -0
- package/ci/mechanism-34-observations.test.js +64 -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 +14 -12
- package/docs/platform-compatibility.json +5 -5
- package/docs/routing.md +16 -17
- package/docs/system-one-observations.md +36 -9
- 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/observations.js +88 -12
- 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/observations.js +88 -12
- 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/codex-hooks-compat.js +39 -14
- package/scripts/lib/advisory-text.js +2 -2
- package/scripts/lib/generated-skills.js +78 -0
- package/scripts/plugin-sync.js +100 -29
- package/scripts/system-one-observations-export.js +29 -2
- package/scripts/system-one-observations-import-codex-sessions.js +307 -0
- package/scripts/system-one-observations-review.js +11 -1
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"pr": "https://github.com/dyphn1/Harness-everything/pull/303",
|
|
4
|
+
"evidenceCommit": "788ea75b7ab69af678734c87ef3cba920b0b892f",
|
|
5
|
+
"finalSourceTree": "8f6c2c942d3f6c1af6ca4332b8ba1f2529b5cc95",
|
|
6
|
+
"directGateTreeBeforeFixtureCorrection": "09ff1e72d936ce56d58b1cbde6ae44cd6486fd39",
|
|
7
|
+
"transformations": [
|
|
8
|
+
"Replace local workspace, temporary-directory and user-home paths with placeholders.",
|
|
9
|
+
"Normalize text to UTF-8 without BOM and LF.",
|
|
10
|
+
"Reformat JSON without changing non-path values.",
|
|
11
|
+
"Remove trailing spaces/tabs and blank EOF lines from captured .log files; preserve content and internal blank lines."
|
|
12
|
+
],
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"path": "regression/red.log",
|
|
16
|
+
"source": "harness-issue303-binding-declarations-red.log",
|
|
17
|
+
"phase": "binding-regression",
|
|
18
|
+
"originalSha256": "78c0227964222e3f4b3704de301ce761b89252c554911ffa4192c83ff4dde5cd",
|
|
19
|
+
"publishedSha256": "e7b6aedaafbd3b20a7f8758505bf462903e4cb1a887e7e5edf8f7b44f1a2d569",
|
|
20
|
+
"publishedBytes": 16487
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"path": "regression/workflow-obligations-green.log",
|
|
24
|
+
"source": "harness-issue303-workflow-obligations-green.log",
|
|
25
|
+
"phase": "binding-regression",
|
|
26
|
+
"originalSha256": "635ad4681e12ccbd01322dea194b19bd308c39ea2789a0839ed6f91409e3e953",
|
|
27
|
+
"publishedSha256": "e804227295dda359d12e0b22d4639dc901ccec5e8d1d2682e8a3a4e404f5caa0",
|
|
28
|
+
"publishedBytes": 17663
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "regression/binding-resolution-green.log",
|
|
32
|
+
"source": "harness-issue303-binding-resolution-green.log",
|
|
33
|
+
"phase": "binding-regression",
|
|
34
|
+
"originalSha256": "f3afd23d462c3d09a1ce6c0cb303c1d8046894554d7d5431fd6798896e9c517c",
|
|
35
|
+
"publishedSha256": "1262bf223f24fc087c7080e38f16a7eb942fbe1d2dd5a0f6138cdc4a37ba237c",
|
|
36
|
+
"publishedBytes": 2274
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"path": "regression/determinism.json",
|
|
40
|
+
"source": "harness-issue303-green-determinism.json",
|
|
41
|
+
"phase": "binding-regression",
|
|
42
|
+
"originalSha256": "c407cd7ddc541bc79b146d690a2fb86e1f36d1fc316534c9e61b4fe8aa2705af",
|
|
43
|
+
"publishedSha256": "ebceb1eb1f88d065652455174d40b6e7594a93b142959eff719ce75b4bdf9e52",
|
|
44
|
+
"publishedBytes": 5802
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
"path": "regression/quality-evidence.json",
|
|
48
|
+
"source": "harness-issue303-quality-evidence.json",
|
|
49
|
+
"phase": "binding-regression",
|
|
50
|
+
"originalSha256": "f98a0d9a2adeda084fa7512efa2e94694f9ea3f932e3bfa6dbc90235c0ce9b67",
|
|
51
|
+
"publishedSha256": "f98a0d9a2adeda084fa7512efa2e94694f9ea3f932e3bfa6dbc90235c0ce9b67",
|
|
52
|
+
"publishedBytes": 11383
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"path": "regression/quality-report.json",
|
|
56
|
+
"source": "harness-issue303-quality-report.json",
|
|
57
|
+
"phase": "binding-regression",
|
|
58
|
+
"originalSha256": "edd05382031c1097ad4b1302561abfd1507581f4e559d735452e318c9d8458ef",
|
|
59
|
+
"publishedSha256": "edd05382031c1097ad4b1302561abfd1507581f4e559d735452e318c9d8458ef",
|
|
60
|
+
"publishedBytes": 21802
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"path": "regression/untyped-fable-probe.json",
|
|
64
|
+
"source": "harness-pr303-final-contracts/untyped-fable-probe.json",
|
|
65
|
+
"phase": "integrated-before-fixture-fix",
|
|
66
|
+
"originalSha256": "fafbc548813273fe5f6bbdba86b078927eb9d29a7d245544dca59928c16f2ddf",
|
|
67
|
+
"publishedSha256": "fafbc548813273fe5f6bbdba86b078927eb9d29a7d245544dca59928c16f2ddf",
|
|
68
|
+
"publishedBytes": 582
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"path": "gates/heavy/summary.json",
|
|
72
|
+
"source": "harness-pr303-final-heavy/summary.json",
|
|
73
|
+
"phase": "retrospective-summary",
|
|
74
|
+
"originalSha256": "2a48f951783e9e21f44e4ce63ce1bce4aeaf5806cbcd27b10d1d84497309d00e",
|
|
75
|
+
"publishedSha256": "3b93ba86170f2a4dccaf577f77f4af6b033bf4dc5c86e93dedab957aa2c41c22",
|
|
76
|
+
"publishedBytes": 2482
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"path": "gates/heavy/test.log",
|
|
80
|
+
"source": "harness-pr303-final-heavy/test.log",
|
|
81
|
+
"phase": "integrated-before-fixture-fix",
|
|
82
|
+
"originalSha256": "398be165bc6e92a05f0cb1bab1f5f3d52f28e396f05b8fd281f27db35138394b",
|
|
83
|
+
"publishedSha256": "d2465e5a2ebe82a3c0d6b49d1c182a6f80dfa39b08122dd9a75d3af4dde4dfc6",
|
|
84
|
+
"publishedBytes": 210986
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"path": "gates/heavy/test-mutations.log",
|
|
88
|
+
"source": "harness-pr303-final-heavy/test-mutations.log",
|
|
89
|
+
"phase": "integrated-before-fixture-fix",
|
|
90
|
+
"originalSha256": "d3ed04bfeddddf7352962e031af16e7a0b618b935572f5742b2e380ac254773b",
|
|
91
|
+
"publishedSha256": "f8d5df88e573774362c9f6e0e1f3636b4bf5a81e507edfb0b0209c6d740d3ca2",
|
|
92
|
+
"publishedBytes": 1257
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"path": "gates/heavy/test-mechanism.log",
|
|
96
|
+
"source": "harness-pr303-final-heavy/test-mechanism.log",
|
|
97
|
+
"phase": "integrated-before-fixture-fix",
|
|
98
|
+
"originalSha256": "42328b18e6bc982a0ca86e8088b6daa876d66b7fc9cd471fcbddf7505ca69444",
|
|
99
|
+
"publishedSha256": "6d581d6b1a9a00b9f13097869ea240ed5fc71fd791fddae1414b3601ae97fce1",
|
|
100
|
+
"publishedBytes": 106226
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"path": "gates/contracts/summary.json",
|
|
104
|
+
"source": "harness-pr303-final-contracts/summary.json",
|
|
105
|
+
"phase": "integrated-before-fixture-fix",
|
|
106
|
+
"originalSha256": "e2f28f2c615dc676ec5f16dc250ca1f0108d40c799ab86a5d530b2a6ebfa0c06",
|
|
107
|
+
"publishedSha256": "595de9a32a8760d4cfbd39cbed34b0b8cec32912d0d8748fa039d9f7cdebf99a",
|
|
108
|
+
"publishedBytes": 1526
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "gates/contracts/test-consistency.log",
|
|
112
|
+
"source": "harness-pr303-final-contracts/test-consistency.log",
|
|
113
|
+
"phase": "integrated-before-fixture-fix",
|
|
114
|
+
"originalSha256": "60d50d37d5d28fa438840a1703cf4308442d4aa9aa924ae69ddb1e747ff2e8b3",
|
|
115
|
+
"publishedSha256": "a8fd3443667656958ffd05f3a46961e6b0ec919dd466b75e46f3b704bb8aac29",
|
|
116
|
+
"publishedBytes": 37174
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"path": "gates/contracts/test-repo-contract.log",
|
|
120
|
+
"source": "harness-pr303-final-contracts/test-repo-contract.log",
|
|
121
|
+
"phase": "integrated-before-fixture-fix",
|
|
122
|
+
"originalSha256": "839adc8ba7de1780d5efefaddb6ac555c663ecc4f46e8f75ad9a290088a2423a",
|
|
123
|
+
"publishedSha256": "3918c1d02ee865c7f46867381baabc98832372cc7e9c7fda3bc3c9b3c3f975ca",
|
|
124
|
+
"publishedBytes": 217
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"path": "gates/contracts/test-docs-capabilities.log",
|
|
128
|
+
"source": "harness-pr303-final-contracts/test-docs-capabilities.log",
|
|
129
|
+
"phase": "integrated-before-fixture-fix",
|
|
130
|
+
"originalSha256": "fdbfcca3eede1b4734bad899b5f8b6a5df6956139b63d2250252027bb044a581",
|
|
131
|
+
"publishedSha256": "f752740c5256c6f9729b6119840b4652b7e43223c14246825d3e2bef7cf97573",
|
|
132
|
+
"publishedBytes": 7537
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"path": "gates/contracts/test-references.log",
|
|
136
|
+
"source": "harness-pr303-final-contracts/test-references.log",
|
|
137
|
+
"phase": "integrated-before-fixture-fix",
|
|
138
|
+
"originalSha256": "dbfb35c40feb197bb54a9e2f1be0fbf85556720933ad546b8b0c6de133e83a49",
|
|
139
|
+
"publishedSha256": "ee4acf640ef00c738bb66af6c3346cc801d8299b0f5ece341c72aa81f8cfec53",
|
|
140
|
+
"publishedBytes": 161
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
"path": "gates/contracts/test-release.log",
|
|
144
|
+
"source": "harness-pr303-final-contracts/test-release.log",
|
|
145
|
+
"phase": "integrated-before-fixture-fix",
|
|
146
|
+
"originalSha256": "bad510bab76026d6aa6a351b9d4ef6515cb7c83eca6ed0a9c5f770f31a65c3fa",
|
|
147
|
+
"publishedSha256": "a57b5323608ecff2c4b6153b1d4137cfa6cbb667e15cd026bc551b0e7c378fcc",
|
|
148
|
+
"publishedBytes": 5689
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"path": "gates/contracts/test-collision.log",
|
|
152
|
+
"source": "harness-pr303-final-contracts/test-collision.log",
|
|
153
|
+
"phase": "integrated-before-fixture-fix",
|
|
154
|
+
"originalSha256": "fcfb23c788b50a92616b3dc70f77e90dadf523c2cb0e25016d449e5b02f9eb97",
|
|
155
|
+
"publishedSha256": "8a3a3124837242bbea274e15ab8f61abfabf71e8134ca29d1203b9d53b237846",
|
|
156
|
+
"publishedBytes": 167
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"path": "gates/contracts/test-routing-skills.log",
|
|
160
|
+
"source": "harness-pr303-final-contracts/test-routing-skills.log",
|
|
161
|
+
"phase": "integrated-before-fixture-fix",
|
|
162
|
+
"originalSha256": "bab15b187538c592cca1606254381fc946a539b1d197158fa3ea6b7a0439e061",
|
|
163
|
+
"publishedSha256": "8b4ac739b39aadb63c3c9396506af487ffc3cb11da66ef02ac8f27f81f205be3",
|
|
164
|
+
"publishedBytes": 3920
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"path": "gates/contracts/test-routing-invariants.log",
|
|
168
|
+
"source": "harness-pr303-final-contracts/test-routing-invariants.log",
|
|
169
|
+
"phase": "integrated-before-fixture-fix",
|
|
170
|
+
"originalSha256": "8de9a89b9a31a89705a26b7fade7ee0c20eafd21de5a070b7ccee65691c2653a",
|
|
171
|
+
"publishedSha256": "db568983fc9d5e4863b35559d12d11e16c7f5513f9bd622199c27549a81aaca0",
|
|
172
|
+
"publishedBytes": 56231
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"path": "gates/contracts/test-plugin-openai.log",
|
|
176
|
+
"source": "harness-pr303-final-contracts/test-plugin-openai.log",
|
|
177
|
+
"phase": "integrated-before-fixture-fix",
|
|
178
|
+
"originalSha256": "f8a46befdf3f63c15369fe2225d32615404aeaa06c56ffd5a08aeb9b618e9fc2",
|
|
179
|
+
"publishedSha256": "bf0c601214aae1268445bc1971fcdb8f43fb10150974c1c1673d416485e854c6",
|
|
180
|
+
"publishedBytes": 303
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
"path": "gates/contracts/test-plugin-submission.log",
|
|
184
|
+
"source": "harness-pr303-final-contracts/test-plugin-submission.log",
|
|
185
|
+
"phase": "integrated-before-fixture-fix",
|
|
186
|
+
"originalSha256": "6b0d61ed007ba77cfdbaa9662aeb706859646a3c5ad315d15a9562604677caea",
|
|
187
|
+
"publishedSha256": "81b3d8dbd7f0e325a9c29139fc39f24064667f8ee2492ddd9742b687256cc8b8",
|
|
188
|
+
"publishedBytes": 201
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
"path": "gates/contracts/test-platform-compatibility.log",
|
|
192
|
+
"source": "harness-pr303-final-contracts/test-platform-compatibility.log",
|
|
193
|
+
"phase": "integrated-before-fixture-fix",
|
|
194
|
+
"originalSha256": "8ce621c56b4cee6ab6bfddf1c6e635df33c8e10e825bf5a0f36a84691ea3a0dd",
|
|
195
|
+
"publishedSha256": "59eb50fe70cb0c06fba3cfd6b3b5ca51e748c96bd1bc07a2e77b24d3e14789ee",
|
|
196
|
+
"publishedBytes": 441
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"path": "gates/final-fast/summary.json",
|
|
200
|
+
"source": "harness-pr303-final-tree-8f6c2c-fast-gates/summary.json",
|
|
201
|
+
"phase": "final-source-tree",
|
|
202
|
+
"originalSha256": "464614ddac7bc29b9e52768440739e16d407daf6bc33b50814b8dc7271b38bf9",
|
|
203
|
+
"publishedSha256": "eb30209c2200896a903e884719506c74ae4dbe96e1a5b13e5683a2d9d54e3be1",
|
|
204
|
+
"publishedBytes": 287
|
|
205
|
+
},
|
|
206
|
+
{
|
|
207
|
+
"path": "gates/final-fast/test-consistency.log",
|
|
208
|
+
"source": "harness-pr303-final-tree-8f6c2c-fast-gates/test-consistency.log",
|
|
209
|
+
"phase": "final-source-tree",
|
|
210
|
+
"originalSha256": "60d50d37d5d28fa438840a1703cf4308442d4aa9aa924ae69ddb1e747ff2e8b3",
|
|
211
|
+
"publishedSha256": "a8fd3443667656958ffd05f3a46961e6b0ec919dd466b75e46f3b704bb8aac29",
|
|
212
|
+
"publishedBytes": 37174
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"path": "gates/final-fast/test-release.log",
|
|
216
|
+
"source": "harness-pr303-final-tree-8f6c2c-fast-gates/test-release.log",
|
|
217
|
+
"phase": "final-source-tree",
|
|
218
|
+
"originalSha256": "61bf9aefab0a5771e504c39b5e52bb2d376477cecd901a73749e3649df14e55b",
|
|
219
|
+
"publishedSha256": "c79fa6631771e6526824ca8e63a43d8b4dfd2963846f93909f658d595e7d8482",
|
|
220
|
+
"publishedBytes": 5689
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
"path": "verification/verify-gate-final.json",
|
|
224
|
+
"source": "harness-pr303-final-heavy/verify-gate-final.json",
|
|
225
|
+
"phase": "final-source-tree",
|
|
226
|
+
"originalSha256": "fb3ec5635eb654d30865b249d1fdbeddfac46ab2bbdf9960f93ebf969278c748",
|
|
227
|
+
"publishedSha256": "c804853a12adb2afafacb02982f219ea120edd2dd6c535a03f39530300d4adcf",
|
|
228
|
+
"publishedBytes": 1060
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"path": "verification/nested-test.stdout.log",
|
|
232
|
+
"source": "harness-pr303-final-heavy/nested-test.stdout.log",
|
|
233
|
+
"phase": "final-source-tree",
|
|
234
|
+
"originalSha256": "dc082a18a7e50ebd13fdafc08bf51ba2611d347eb3f2d18413713df83b93245b",
|
|
235
|
+
"publishedSha256": "688b8795350357e41ea462e7bdd34713e6347db9acf8b4dcbcef1a265358db47",
|
|
236
|
+
"publishedBytes": 203407
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
"path": "verification/nested-test.stderr.log",
|
|
240
|
+
"source": "harness-pr303-final-heavy/nested-test.stderr.log",
|
|
241
|
+
"phase": "final-source-tree",
|
|
242
|
+
"originalSha256": "73c6deb966cc324ebc3981c55f038fe30916348f42301ce74985229fdd3043fa",
|
|
243
|
+
"publishedSha256": "8a4ccc0f6bfa773e698462abf23341997c5c1df0907fdea6f995fe4e0df4bccf",
|
|
244
|
+
"publishedBytes": 7307
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"path": "verification/nested-test.meta.json",
|
|
248
|
+
"source": "harness-pr303-final-heavy/nested-test.meta.json",
|
|
249
|
+
"phase": "final-source-tree",
|
|
250
|
+
"originalSha256": "fe53bff2e58cce5b9418aee485a5f8cc573d8ff92527f102b7640b821f1c170e",
|
|
251
|
+
"publishedSha256": "819d51c45b93d81f5543eaf47c65ed45898909881a5435fda4c07b782c9a9f7d",
|
|
252
|
+
"publishedBytes": 117
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"path": "verification/mechanism-35-clean-env-fixed.log",
|
|
256
|
+
"source": "harness-pr303-final-heavy/mechanism-35-clean-env-fixed.log",
|
|
257
|
+
"phase": "final-source-tree",
|
|
258
|
+
"originalSha256": "ba0174d76e6eca4fb951940d85de886e3c101df6cac39e4f40c8830a57476511",
|
|
259
|
+
"publishedSha256": "38cda46cb6a065fb164850f6b2193a4c90e516e6621f1480cd9f913a84490718",
|
|
260
|
+
"publishedBytes": 137
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"path": "verification/mechanism-35-inherited-flag-fixed.log",
|
|
264
|
+
"source": "harness-pr303-final-heavy/mechanism-35-inherited-flag-fixed.log",
|
|
265
|
+
"phase": "final-source-tree",
|
|
266
|
+
"originalSha256": "ba0174d76e6eca4fb951940d85de886e3c101df6cac39e4f40c8830a57476511",
|
|
267
|
+
"publishedSha256": "38cda46cb6a065fb164850f6b2193a4c90e516e6621f1480cd9f913a84490718",
|
|
268
|
+
"publishedBytes": 137
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"path": "diagnostics/verify-gate.json",
|
|
272
|
+
"source": "harness-pr303-final-heavy/verify-gate.json",
|
|
273
|
+
"phase": "failed-attempt-or-reproduction",
|
|
274
|
+
"originalSha256": "8208c5b685e0eb3af8452179682496dc14732ca01e4dadc04ab17a28b35ac5f5",
|
|
275
|
+
"publishedSha256": "41417f0a170d6ef180bc79ce35a7e2f8e5f59bf5f0b5955025224a7a5fa5d9e9",
|
|
276
|
+
"publishedBytes": 980
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
"path": "diagnostics/verify-gate-captured.json",
|
|
280
|
+
"source": "harness-pr303-final-heavy/verify-gate-captured.json",
|
|
281
|
+
"phase": "failed-attempt-or-reproduction",
|
|
282
|
+
"originalSha256": "ec7cfc0eb2cd4e2ce7b63a100cf83fb9a32b30810ff1fd84969f1f54024c1972",
|
|
283
|
+
"publishedSha256": "2a3c29b132ae411caa927347879b5fd3c7b247165c7b80b015a81ad51ecb68de",
|
|
284
|
+
"publishedBytes": 980
|
|
285
|
+
},
|
|
286
|
+
{
|
|
287
|
+
"path": "diagnostics/verify-gate-diagnosis.md",
|
|
288
|
+
"source": "harness-pr303-final-heavy/verify-gate-diagnosis.md",
|
|
289
|
+
"phase": "failed-attempt-or-reproduction",
|
|
290
|
+
"originalSha256": "449f2322c15e2dac0f5cdcc02b9b2f7d15edca183bff62837c3c756d617e185a",
|
|
291
|
+
"publishedSha256": "bcb5d6c172c62a20def96ff97b5940c9b09b999fe0e4533bda60800be0b465d0",
|
|
292
|
+
"publishedBytes": 1160
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"path": "diagnostics/mechanism-35-inherited-flag.log",
|
|
296
|
+
"source": "harness-pr303-final-heavy/mechanism-35-inherited-flag.log",
|
|
297
|
+
"phase": "failed-attempt-or-reproduction",
|
|
298
|
+
"originalSha256": "c3f5495879af612d0b65bfc1facfe7dba581f147a97831e5d4645404e216d2c9",
|
|
299
|
+
"publishedSha256": "3ec341a19b76402d895cabcd6c6a27489cfc1c7778c18e3e7fbdf0c89b3bb50a",
|
|
300
|
+
"publishedBytes": 1223
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"path": "diagnostics/mechanism-35-clean-env.log",
|
|
304
|
+
"source": "harness-pr303-final-heavy/mechanism-35-clean-env.log",
|
|
305
|
+
"phase": "failed-attempt-or-reproduction",
|
|
306
|
+
"originalSha256": "ba0174d76e6eca4fb951940d85de886e3c101df6cac39e4f40c8830a57476511",
|
|
307
|
+
"publishedSha256": "38cda46cb6a065fb164850f6b2193a4c90e516e6621f1480cd9f913a84490718",
|
|
308
|
+
"publishedBytes": 137
|
|
309
|
+
},
|
|
310
|
+
{
|
|
311
|
+
"path": "ci/run.json",
|
|
312
|
+
"source": "harness-pr303-ci-run.json",
|
|
313
|
+
"phase": "github-ci",
|
|
314
|
+
"originalSha256": "b3854ccd23605bf6111c6473e648fe996105bd253392ed9e660f92850f818556",
|
|
315
|
+
"publishedSha256": "6a5b71ddb76d3509ab7cdc6597edf936acd3bb0e27a1495091788e3aa20523a0",
|
|
316
|
+
"publishedBytes": 43222
|
|
317
|
+
}
|
|
318
|
+
]
|
|
319
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
=== PR #303 binding resolution ===
|
|
2
|
+
PASS Tier 2 route persists for declared-path coverage
|
|
3
|
+
PASS plan with a missing declared path is still recorded
|
|
4
|
+
PASS a declared path with no file is recorded as missing, not available
|
|
5
|
+
PASS a declared path that exists resolves to its readable file
|
|
6
|
+
PASS workflow starts with a visible missing binding
|
|
7
|
+
PASS a missing required binding cannot be marked loaded
|
|
8
|
+
PASS the failed load leaves the required binding visibly unavailable
|
|
9
|
+
PASS the step cannot pass while its required binding is unresolved
|
|
10
|
+
PASS an existing optional binding can be loaded
|
|
11
|
+
PASS repository/Claude plugin layout resolves tdd/SKILL.md at the package root
|
|
12
|
+
PASS Codex plugin package ships the binding resolver
|
|
13
|
+
PASS Codex plugin layout resolves tdd/SKILL.md under its skills/ root
|
|
14
|
+
PASS a path absent from workspace and package roots is missing
|
|
15
|
+
PASS fixture precondition: Harness ships docs/architecture.md
|
|
16
|
+
PASS a missing workspace reference does not resolve to the Harness package copy
|
|
17
|
+
PASS a skill id naming its own SKILL.md still resolves from the package
|
|
18
|
+
PASS a registered id at an unregistered path is treated as a workspace reference
|
|
19
|
+
PASS Tier 2 route persists in a client workspace
|
|
20
|
+
PASS client plan declares a workspace reference that collides with a Harness file
|
|
21
|
+
PASS step flow records the colliding workspace reference as missing
|
|
22
|
+
PASS client workflow starts
|
|
23
|
+
PASS step flow cannot load the Harness copy as the workspace reference
|
|
24
|
+
PASS stage flow records the colliding workspace reference as missing
|
|
25
|
+
PASS router runs against a workspace with a generated-skill manifest
|
|
26
|
+
PASS matching self-evolved skill surfaces as a metadata-only id
|
|
27
|
+
PASS router does not disclose the generated skill path or text
|
|
28
|
+
PASS unrelated prompts do not surface the generated skill
|
|
29
|
+
PASS Tier 2 route persists in the generated-skill workspace
|
|
30
|
+
PASS a step can declare the generated skill id as a binding
|
|
31
|
+
PASS the generated binding is not disclosed before its step is active
|
|
32
|
+
PASS built-in TDD binding resolves from the package root outside the Harness repo
|
|
33
|
+
PASS the generated binding becomes available with its SKILL.md once its step is active
|
|
34
|
+
PASS the active generated binding can be loaded
|
|
35
|
+
|
|
36
|
+
PASS: PR #303 binding resolution (0 failures)
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"generatedBy": "harness-issue303-green-determinism.js",
|
|
3
|
+
"cwd": "<workspace>",
|
|
4
|
+
"scenarios": [
|
|
5
|
+
{
|
|
6
|
+
"id": "typed-required-null",
|
|
7
|
+
"routeExit": 0,
|
|
8
|
+
"baselineSessionFileHashes": {
|
|
9
|
+
"workflow-obligations.json": "dbc03590ec7bbd9745cfd5aa45fd4f1757c827beb243e0c98149a272d3e2caa7",
|
|
10
|
+
"workflow-run.json": "5aa69cd0e787811f4b88bc3379d77ba85d403f5d8b298287d554ccce572f579c"
|
|
11
|
+
},
|
|
12
|
+
"runs": [
|
|
13
|
+
{
|
|
14
|
+
"id": "run-1",
|
|
15
|
+
"input": [
|
|
16
|
+
{
|
|
17
|
+
"id": "req-review",
|
|
18
|
+
"stepType": "review",
|
|
19
|
+
"summary": "Review the change",
|
|
20
|
+
"acceptance": "the change is reviewed",
|
|
21
|
+
"requiredBindings": null
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"id": "req-verify",
|
|
25
|
+
"stepType": "verification",
|
|
26
|
+
"summary": "Verify the change",
|
|
27
|
+
"acceptance": "objective evidence is recorded"
|
|
28
|
+
}
|
|
29
|
+
],
|
|
30
|
+
"exitStatus": 2,
|
|
31
|
+
"errorCategory": "validation-error",
|
|
32
|
+
"output": {
|
|
33
|
+
"stdout": "",
|
|
34
|
+
"stderr": "[Workflow Disposition] req-review.requiredBindings must be an array\n"
|
|
35
|
+
},
|
|
36
|
+
"sideEffects": {
|
|
37
|
+
"createdFiles": [],
|
|
38
|
+
"changedFiles": [],
|
|
39
|
+
"deletedFiles": [],
|
|
40
|
+
"persistentState": {
|
|
41
|
+
"sessionFilesEqualToBefore": true,
|
|
42
|
+
"sessionFileHashes": {
|
|
43
|
+
"workflow-obligations.json": "dbc03590ec7bbd9745cfd5aa45fd4f1757c827beb243e0c98149a272d3e2caa7",
|
|
44
|
+
"workflow-run.json": "5aa69cd0e787811f4b88bc3379d77ba85d403f5d8b298287d554ccce572f579c"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"events": [],
|
|
48
|
+
"logs": [],
|
|
49
|
+
"externalCalls": []
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "run-2",
|
|
54
|
+
"input": [
|
|
55
|
+
{
|
|
56
|
+
"id": "req-review",
|
|
57
|
+
"stepType": "review",
|
|
58
|
+
"summary": "Review the change",
|
|
59
|
+
"acceptance": "the change is reviewed",
|
|
60
|
+
"requiredBindings": null
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"id": "req-verify",
|
|
64
|
+
"stepType": "verification",
|
|
65
|
+
"summary": "Verify the change",
|
|
66
|
+
"acceptance": "objective evidence is recorded"
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
"exitStatus": 2,
|
|
70
|
+
"errorCategory": "validation-error",
|
|
71
|
+
"output": {
|
|
72
|
+
"stdout": "",
|
|
73
|
+
"stderr": "[Workflow Disposition] req-review.requiredBindings must be an array\n"
|
|
74
|
+
},
|
|
75
|
+
"sideEffects": {
|
|
76
|
+
"createdFiles": [],
|
|
77
|
+
"changedFiles": [],
|
|
78
|
+
"deletedFiles": [],
|
|
79
|
+
"persistentState": {
|
|
80
|
+
"sessionFilesEqualToBefore": true,
|
|
81
|
+
"sessionFileHashes": {
|
|
82
|
+
"workflow-obligations.json": "dbc03590ec7bbd9745cfd5aa45fd4f1757c827beb243e0c98149a272d3e2caa7",
|
|
83
|
+
"workflow-run.json": "5aa69cd0e787811f4b88bc3379d77ba85d403f5d8b298287d554ccce572f579c"
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
"events": [],
|
|
87
|
+
"logs": [],
|
|
88
|
+
"externalCalls": []
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"identical": true
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
"id": "untyped-optional-object",
|
|
96
|
+
"routeExit": 0,
|
|
97
|
+
"baselineSessionFileHashes": {
|
|
98
|
+
"workflow-obligations.json": "7241ba0c1664d3349285c55edeaf915171d30b4013af8390f0281a87210a32af",
|
|
99
|
+
"workflow-run.json": "c84c795cdc35d4b57eb064cb1ded7d932ee06fede4a987dda9463180a4d5a3a1"
|
|
100
|
+
},
|
|
101
|
+
"runs": [
|
|
102
|
+
{
|
|
103
|
+
"id": "run-1",
|
|
104
|
+
"input": [
|
|
105
|
+
{
|
|
106
|
+
"id": "req-review",
|
|
107
|
+
"summary": "Review the change",
|
|
108
|
+
"acceptance": "the change is reviewed",
|
|
109
|
+
"optionalBindings": {
|
|
110
|
+
"id": "ignored"
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"exitStatus": 2,
|
|
115
|
+
"errorCategory": "validation-error",
|
|
116
|
+
"output": {
|
|
117
|
+
"stdout": "",
|
|
118
|
+
"stderr": "[Workflow Disposition] req-review.optionalBindings must be an array\n"
|
|
119
|
+
},
|
|
120
|
+
"sideEffects": {
|
|
121
|
+
"createdFiles": [],
|
|
122
|
+
"changedFiles": [],
|
|
123
|
+
"deletedFiles": [],
|
|
124
|
+
"persistentState": {
|
|
125
|
+
"sessionFilesEqualToBefore": true,
|
|
126
|
+
"sessionFileHashes": {
|
|
127
|
+
"workflow-obligations.json": "7241ba0c1664d3349285c55edeaf915171d30b4013af8390f0281a87210a32af",
|
|
128
|
+
"workflow-run.json": "c84c795cdc35d4b57eb064cb1ded7d932ee06fede4a987dda9463180a4d5a3a1"
|
|
129
|
+
}
|
|
130
|
+
},
|
|
131
|
+
"events": [],
|
|
132
|
+
"logs": [],
|
|
133
|
+
"externalCalls": []
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"id": "run-2",
|
|
138
|
+
"input": [
|
|
139
|
+
{
|
|
140
|
+
"id": "req-review",
|
|
141
|
+
"summary": "Review the change",
|
|
142
|
+
"acceptance": "the change is reviewed",
|
|
143
|
+
"optionalBindings": {
|
|
144
|
+
"id": "ignored"
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
],
|
|
148
|
+
"exitStatus": 2,
|
|
149
|
+
"errorCategory": "validation-error",
|
|
150
|
+
"output": {
|
|
151
|
+
"stdout": "",
|
|
152
|
+
"stderr": "[Workflow Disposition] req-review.optionalBindings must be an array\n"
|
|
153
|
+
},
|
|
154
|
+
"sideEffects": {
|
|
155
|
+
"createdFiles": [],
|
|
156
|
+
"changedFiles": [],
|
|
157
|
+
"deletedFiles": [],
|
|
158
|
+
"persistentState": {
|
|
159
|
+
"sessionFilesEqualToBefore": true,
|
|
160
|
+
"sessionFileHashes": {
|
|
161
|
+
"workflow-obligations.json": "7241ba0c1664d3349285c55edeaf915171d30b4013af8390f0281a87210a32af",
|
|
162
|
+
"workflow-run.json": "c84c795cdc35d4b57eb064cb1ded7d932ee06fede4a987dda9463180a4d5a3a1"
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
"events": [],
|
|
166
|
+
"logs": [],
|
|
167
|
+
"externalCalls": []
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"identical": true
|
|
172
|
+
}
|
|
173
|
+
]
|
|
174
|
+
}
|