harness-everything 0.47.0 → 0.47.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/.github/workflows/ci.yml +12 -0
  4. package/CHANGELOG.md +18 -0
  5. package/benchmarks/issue290-pilot/README.md +199 -0
  6. package/benchmarks/issue290-pilot/analyze.py +299 -0
  7. package/benchmarks/issue290-pilot/analyze.test.py +146 -0
  8. package/benchmarks/issue290-pilot/check.py +19 -0
  9. package/benchmarks/issue290-pilot/evidence/archive.json +7 -0
  10. package/benchmarks/issue290-pilot/evidence/group-summary.json +684 -0
  11. package/benchmarks/issue290-pilot/evidence/inventory.json +3728 -0
  12. package/benchmarks/issue290-pilot/evidence/ledger.json +4644 -0
  13. package/benchmarks/issue290-pilot/evidence/replay/pairs.json +482 -0
  14. package/benchmarks/issue290-pilot/evidence/replay/provenance.json +24 -0
  15. package/benchmarks/issue290-pilot/evidence/replay/tables.md +37 -0
  16. package/benchmarks/issue290-pilot/evidence.tar.gz +0 -0
  17. package/benchmarks/issue290-pilot/export.py +110 -0
  18. package/benchmarks/issue290-pilot/export.test.py +65 -0
  19. package/benchmarks/issue290-pilot/fable-supplement.py +55 -0
  20. package/benchmarks/issue290-pilot/fixture.test.py +28 -0
  21. package/benchmarks/issue290-pilot/fixtures/polyglot/instructions.md +19 -0
  22. package/benchmarks/issue290-pilot/fixtures/polyglot/package.json +29 -0
  23. package/benchmarks/issue290-pilot/fixtures/polyglot/simple-linked-list.js +44 -0
  24. package/benchmarks/issue290-pilot/fixtures/polyglot/simple-linked-list.spec.js +131 -0
  25. package/benchmarks/issue290-pilot/fixtures/quixbugs/LICENSE +7 -0
  26. package/benchmarks/issue290-pilot/fixtures/quixbugs/cases.json +7 -0
  27. package/benchmarks/issue290-pilot/fixtures/quixbugs/find_in_sorted.py +31 -0
  28. package/benchmarks/issue290-pilot/fixtures/quixbugs/test_find_in_sorted.py +15 -0
  29. package/benchmarks/issue290-pilot/frozen-documents.json +41 -0
  30. package/benchmarks/issue290-pilot/grader.cjs +43 -0
  31. package/benchmarks/issue290-pilot/grader.test.cjs +10 -0
  32. package/benchmarks/issue290-pilot/hook.test.cjs +27 -0
  33. package/benchmarks/issue290-pilot/host-hook.cjs +35 -0
  34. package/benchmarks/issue290-pilot/metrics.test.py +131 -0
  35. package/benchmarks/issue290-pilot/preflight/amendment.md +32 -0
  36. package/benchmarks/issue290-pilot/preflight/environment.json +15 -0
  37. package/benchmarks/issue290-pilot/preflight/fable-amendment.md +20 -0
  38. package/benchmarks/issue290-pilot/preflight/fable-frozen-files.json +4 -0
  39. package/benchmarks/issue290-pilot/preflight/fable-infrastructure-amendment.md +27 -0
  40. package/benchmarks/issue290-pilot/preflight/fable-retry-frozen-files.json +4 -0
  41. package/benchmarks/issue290-pilot/preflight/fable-supplement-v1.py +47 -0
  42. package/benchmarks/issue290-pilot/preflight/frozen-files.json +18 -0
  43. package/benchmarks/issue290-pilot/preflight/graders.json +67 -0
  44. package/benchmarks/issue290-pilot/pricing-assumptions.json +29 -0
  45. package/benchmarks/issue290-pilot/protocol.json +32 -0
  46. package/benchmarks/issue290-pilot/read_metrics.py +166 -0
  47. package/benchmarks/issue290-pilot/replay.py +167 -0
  48. package/benchmarks/issue290-pilot/reporting.py +82 -0
  49. package/benchmarks/issue290-pilot/run.py +262 -0
  50. package/benchmarks/issue290-pilot/sources.json +10 -0
  51. package/benchmarks/issue290-pilot/verification/analyzer-tests.log +5 -0
  52. package/benchmarks/issue290-pilot/verification/final-gates.json +58 -0
  53. package/benchmarks/issue290-pilot/verification/fixture-tests.log +5 -0
  54. package/benchmarks/issue290-pilot/verification/gates.json +58 -0
  55. package/benchmarks/issue290-pilot/verification/npm-audit.json +84 -0
  56. package/benchmarks/issue290-pilot/verification/offline-correction.json +59 -0
  57. package/benchmarks/issue290-pilot/verification/post-report/helper-tests.log +22 -0
  58. package/benchmarks/issue290-pilot/verification/post-report/test-consistency.log +626 -0
  59. package/benchmarks/issue290-pilot/verification/post-report/test-references.log +6 -0
  60. package/benchmarks/issue290-pilot/verification/post-report/waza-tokens.log +710 -0
  61. package/benchmarks/issue290-pilot/verification/test-collision.log +28 -0
  62. package/benchmarks/issue290-pilot/verification/test-consistency.log +28 -0
  63. package/benchmarks/issue290-pilot/verification/test-docs-capabilities.log +131 -0
  64. package/benchmarks/issue290-pilot/verification/test-mechanism.log +1829 -0
  65. package/benchmarks/issue290-pilot/verification/test-mutations.log +16 -0
  66. package/benchmarks/issue290-pilot/verification/test-platform-compatibility.log +9 -0
  67. package/benchmarks/issue290-pilot/verification/test-plugin-openai.log +6 -0
  68. package/benchmarks/issue290-pilot/verification/test-plugin-submission.log +5 -0
  69. package/benchmarks/issue290-pilot/verification/test-references.log +6 -0
  70. package/benchmarks/issue290-pilot/verification/test-release.log +59 -0
  71. package/benchmarks/issue290-pilot/verification/test-repo-contract.log +5 -0
  72. package/benchmarks/issue290-pilot/verification/test-routing-invariants.log +785 -0
  73. package/benchmarks/issue290-pilot/verification/test-routing-skills.log +28 -0
  74. package/benchmarks/issue290-pilot/verification/test.log +3373 -0
  75. package/benchmarks/issue290-pilot/verification/verification-report.md +76 -0
  76. package/benchmarks/issue290-pilot/verification/waza-tokens.log +710 -0
  77. package/benchmarks/issue290-pilot/verification/with-dependencies/gates.json +26 -0
  78. package/benchmarks/issue290-pilot/verification/with-dependencies/test-collision.log +8 -0
  79. package/benchmarks/issue290-pilot/verification/with-dependencies/test-consistency.log +626 -0
  80. package/benchmarks/issue290-pilot/verification/with-dependencies/test-mechanism.log +1693 -0
  81. package/benchmarks/issue290-pilot/verification/with-dependencies/test-release.log +38 -0
  82. package/benchmarks/issue290-pilot/verification/with-dependencies/test-routing-skills.log +44 -0
  83. package/benchmarks/issue290-pilot/verification/with-dependencies/test.log +3253 -0
  84. package/ci/mechanism-379-self-evolve-workspace.test.js +151 -0
  85. package/ci/mechanism-383-doc-glob-line-terminators.test.js +131 -0
  86. package/docs/document-lifecycle.md +1 -1
  87. package/docs/platform-capabilities.md +4 -0
  88. package/harness-everything/SKILL.md +1 -1
  89. package/harness-everything/scripts/doc-check.js +1 -1
  90. package/harness-everything/scripts/doc-lifecycle.js +2 -2
  91. package/harness-everything/scripts/doc-obligations.js +2 -2
  92. package/hooks/scripts/lib/doc-reconciliation-core.js +2 -2
  93. package/hooks/scripts/lib/doc-reconciliation-provider.js +1 -1
  94. package/opencode-plugin/plugin.json +1 -1
  95. package/package.json +1 -1
  96. package/plugins/harness-everything/.codex-plugin/plugin.json +1 -1
  97. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-core.js +2 -2
  98. package/plugins/harness-everything/hooks/scripts/lib/doc-reconciliation-provider.js +1 -1
  99. package/plugins/harness-everything/plugin.json +1 -1
  100. package/plugins/harness-everything/skills/harness-everything/SKILL.md +1 -1
  101. package/plugins/harness-everything/skills/harness-everything/scripts/doc-check.js +1 -1
  102. package/plugins/harness-everything/skills/harness-everything/scripts/doc-lifecycle.js +2 -2
  103. package/plugins/harness-everything/skills/harness-everything/scripts/doc-obligations.js +2 -2
  104. package/plugins/harness-everything/skills/self-evolve/SKILL.md +1 -1
  105. package/plugins/harness-everything/skills/self-evolve/references/memory-resolution.md +11 -0
  106. package/plugins/harness-everything/skills/self-evolve/scripts/lesson-candidate.js +9 -12
  107. package/plugins/harness-everything/skills/self-evolve/scripts/persist-memory.js +1 -14
  108. package/plugins/harness-everything/skills/self-evolve/scripts/register-dynamic-skill.js +5 -9
  109. package/plugins/harness-everything/skills/self-evolve/scripts/workspace-helper.js +98 -0
  110. package/sbom.cdx.json +7 -7
  111. package/self-evolve/SKILL.md +1 -1
  112. package/self-evolve/references/memory-resolution.md +11 -0
  113. package/self-evolve/scripts/lesson-candidate.js +9 -12
  114. package/self-evolve/scripts/persist-memory.js +1 -14
  115. package/self-evolve/scripts/register-dynamic-skill.js +5 -9
  116. package/self-evolve/scripts/workspace-helper.js +98 -0
@@ -0,0 +1,76 @@
1
+ # Verification report: issue #290 pilot report
2
+
3
+ Based on [verification-loop/templates/verification-report.template.md](../../../verification-loop/templates/verification-report.template.md). Scope: report, sanitized evidence archive, two helper fixes (#313, #314), and a sanitizer update. No production skill, router, hook, package, or distribution manifest changed. No model call was made during verification.
4
+
5
+ ```
6
+ VERIFICATION REPORT
7
+ ==================
8
+
9
+ Build: NOT_APPLICABLE (no build artifact). Syntax checks PASS:
10
+ py_compile (analyze.py, run.py, export.py, fable-supplement.py,
11
+ analyze.test.py, fixture.test.py); node --check (grader.cjs,
12
+ host-hook.cjs, hook.test.cjs).
13
+ Types: NOT_APPLICABLE (no typed source changed).
14
+ Lint: NOT_RUN (no lint gate covers benchmarks/issue290-pilot).
15
+ Tests: PASS
16
+ - Repo gates (14/14, exit 0): verification/final-gates.json.
17
+ Run on Node 24.14.1 after `npm ci --ignore-scripts`, before the
18
+ report and the sanitizer changes. No gate reads
19
+ benchmarks/issue290-pilot (checked by grep); the three gates below
20
+ were re-run after those changes.
21
+ - Post-report re-run (exit 0): test:consistency, test:references,
22
+ `waza tokens check` (verification/post-report/).
23
+ - Helpers (verification/post-report/helper-tests.log):
24
+ analyze.test.py 4/4 OK; fixture.test.py 1/1 OK; hook.test.cjs PASS.
25
+ Security: PASS for the evidence scan. Sanitized archive and committed logs show
26
+ no home path, username, host name, email address, or credential-shaped
27
+ string. Retained public metadata: skill frontmatter `author:` and the
28
+ public GitHub owner name. One truncated path fragment (`/Users/d`)
29
+ carries no identifying content. npm audit baseline (fast-uri
30
+ dev-dependency advisories, #309) is unchanged and not fixed here.
31
+ Diff: See the changed-file list in the PR body.
32
+ Contract: NOT_APPLICABLE. Runtime REQ/ADR lineage does not apply: report and
33
+ tooling only, with no production contract change. Experiment
34
+ provenance was checked: frozen-file hashes
35
+ (preflight/frozen-files.json, fable-frozen-files.json,
36
+ fable-retry-frozen-files.json), the independent Polyglot reference
37
+ hash (65c1189d…350eb, re-graded 23/23; skeleton 0/23), and the QuixBugs
38
+ upstream reference hash. The contract-integrity-audit wrapper was not
39
+ run: it requires trace.json, which this report-only change does not
40
+ produce.
41
+ The evidence archive was re-extracted into a fresh directory:
42
+ 621/621 exported hashes and 621/621 raw hashes match; no extra or
43
+ missing files.
44
+
45
+ Overall: READY for draft PR review, as a pilot report.
46
+ NOT READY for any formal efficacy, quality, or benefit claim
47
+ (2 repeats per cell; artifact pass is not semantic completion).
48
+ ```
49
+
50
+ ## Evidence layer proven
51
+
52
+ - **Package:** not applicable. No package or manifest changed.
53
+ - **Deterministic mechanism:** the helper tests above, plus the repo gates. The fixture test asserts that Claude launch settings exist in the linked checkout before any model launch (#314).
54
+ - **Live host:** the real Codex CLI 0.162.1 and Claude CLI 2.1.299 ran the canonical router through their native UserPromptSubmit hook in the preflight and formal episodes (router attribution retained per episode). Full-plugin parity is not shown. Child dispatch and usage for the Luna true-Fable runs is partly unobservable (#315).
55
+ - **Behavior:** 40 retained attempts (32 formal and supplement model episodes, 4 preflight, 4 pre-model infrastructure). Two repeats per cell. Descriptive only.
56
+
57
+ ## Budget compliance (deviation)
58
+
59
+ - Wall time: 5,260.8 s across the 32 model episodes, under the 7,200 s aggregate budget.
60
+ - Output tokens: the runner's `usage.output_tokens` (including thinking) sums to at least 508,416 across the 32 model episodes. The 500,000 aggregate cap was exceeded by at least 8,416 in the final Claude retry episode, which started at 485,478. Disclosed in the README. No further model calls.
61
+
62
+ ## Issues to fix (not in this PR)
63
+
64
+ 1. #308: Haiku lookup adds prose outside the JSON-only output.
65
+ 2. #309: `fast-uri` dev-dependency advisories (baseline recorded; no dependency change here).
66
+ 3. #310: `workflow-disposition --help` exits 2.
67
+ 4. #311: loaded TDD steps skip the required quality report and gate.
68
+ 5. #312: staged linked-list repair invents a head-contract conflict (an actual nested `Element` bug).
69
+ 6. #315: Codex private-rollout subagent dispatch and usage accounting gap.
70
+ 7. #316: blocked Fable recovery reminder versus plan rejection.
71
+ 8. #317: stale legacy contract path (`execution-phases.md:32` versus `CONTRACT-FORMAT.md:66`).
72
+ 9. #318: analyzer TDD flag matches `tdd:quality` text inside binding evidence (filed in this run).
73
+ 10. Analyzer field semantics: `required_bindings_unresolved` counts pending step placeholders as unresolved. Documented in the README; the field is not used as a headline.
74
+ 11. Runner budget check: the aggregate output cap is checked before each episode, so the final episode can overshoot. Document or change before any further run.
75
+
76
+ Fixed in this PR, with regression tests: #313 (scalar controller output in the analyzer) and #314 (missing Claude hook settings for the linked fixture).