@zhivex-ai/harness 1.0.0-rc.7 → 1.0.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.
Files changed (170) hide show
  1. package/CHANGELOG.md +190 -0
  2. package/README.md +47 -62
  3. package/ROADMAP.md +15 -6
  4. package/SECURITY.md +1 -1
  5. package/benchmarks/README.md +48 -0
  6. package/benchmarks/baselines/context-navigation-2026-09-09.json +94 -0
  7. package/benchmarks/baselines/efficiency-2026-09-08.json +233 -0
  8. package/benchmarks/baselines/external-final-2026-09-08.json +588 -0
  9. package/benchmarks/baselines/external-intermediate-2026-09-08.json +116 -0
  10. package/benchmarks/baselines/external-matched-openai-2026-09-08.json +1922 -0
  11. package/benchmarks/baselines/external-matched-qwen-2026-09-08.json +1706 -0
  12. package/benchmarks/baselines/external-pilot-2026-09-08.json +439 -0
  13. package/benchmarks/baselines/external-qwen-flash-2026-09-08.json +1570 -0
  14. package/benchmarks/baselines/external-qwen-remediation-2026-09-09.json +1509 -0
  15. package/benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json +2509 -0
  16. package/benchmarks/baselines/external-sdk-upgrade-2026-09-08.json +564 -0
  17. package/benchmarks/baselines/external-verifier-recovery-2026-09-09.json +794 -0
  18. package/benchmarks/baselines/full-harness-review-2026-09-10.json +134 -0
  19. package/benchmarks/baselines/harness-audit-2026-09-09.json +136 -0
  20. package/benchmarks/baselines/harness-remediation-2026-09-09.json +160 -0
  21. package/benchmarks/baselines/oci-remediation-2026-09-10.json +535 -0
  22. package/benchmarks/baselines/rc14-holdout-2026-09-10.json +854 -0
  23. package/benchmarks/baselines/repair-architecture-audit-2026-09-09.json +75 -0
  24. package/benchmarks/baselines/time-to-safe-fix-live-expanded-2026-08-21.json +186 -0
  25. package/benchmarks/baselines/time-to-safe-fix-live-smoke-2026-08-21.json +186 -0
  26. package/contracts/public-api.json +25 -0
  27. package/contracts/security-controls.json +3 -2
  28. package/contracts/stable-api-signatures.json +58 -54
  29. package/dist/bounded-reads.d.ts +4 -0
  30. package/dist/change-envelope.d.ts +4 -4
  31. package/dist/cli-options.d.ts +2 -1
  32. package/dist/cli-profiles.d.ts +39 -0
  33. package/dist/cli-stream.d.ts +40 -40
  34. package/dist/cli.d.ts +38 -35
  35. package/dist/cli.js +6556 -4030
  36. package/dist/compaction.d.ts +12 -0
  37. package/dist/config.d.ts +6 -1
  38. package/dist/console-context.d.ts +26 -0
  39. package/dist/console-input.d.ts +28 -0
  40. package/dist/context-engineering.d.ts +5 -5
  41. package/dist/context-metrics.d.ts +11 -0
  42. package/dist/edit-contracts.d.ts +2 -2
  43. package/dist/execution-environment.d.ts +9 -5
  44. package/dist/harness.d.ts +52 -18
  45. package/dist/hostile-repository-demo.js +2942 -1088
  46. package/dist/index.d.ts +3 -3
  47. package/dist/index.js +4316 -2435
  48. package/dist/json-contracts.d.ts +292 -236
  49. package/dist/model-budget.d.ts +61 -0
  50. package/dist/operations.d.ts +82 -20
  51. package/dist/orchestration.d.ts +1 -0
  52. package/dist/providers.d.ts +5 -2
  53. package/dist/repair-controller.d.ts +72 -0
  54. package/dist/repair-progress.d.ts +40 -0
  55. package/dist/repair-verifier.d.ts +6 -0
  56. package/dist/replacement-edits.d.ts +9 -0
  57. package/dist/routing.d.ts +1 -1
  58. package/dist/run-interruption.d.ts +4 -0
  59. package/dist/runtime-checkpoints.d.ts +7 -0
  60. package/dist/runtime-diagnostics.d.ts +63 -0
  61. package/dist/runtime-policy.d.ts +36 -0
  62. package/dist/sessions.d.ts +1 -1
  63. package/dist/state-backup.d.ts +2 -2
  64. package/dist/task-memory.d.ts +36 -0
  65. package/dist/terminal-markdown.d.ts +12 -0
  66. package/dist/time-to-safe-fix.d.ts +19 -19
  67. package/dist/tool-registry.d.ts +4 -0
  68. package/dist/verify-historical-migrations.js +6987 -5140
  69. package/dist/workspace-mutation-lock.d.ts +5 -0
  70. package/dist/workspace.d.ts +39 -4
  71. package/dist/zhx.js +6556 -4030
  72. package/docs/CLI.md +89 -3
  73. package/docs/CONTEXT_ENGINEERING.md +160 -0
  74. package/docs/EXECUTION_ENVIRONMENTS.md +21 -0
  75. package/docs/EXTENSIBILITY.md +2 -2
  76. package/docs/GA_READINESS.md +13 -7
  77. package/docs/LIVE_CERTIFICATION.md +12 -2
  78. package/docs/RC13_SECURITY_REVIEW.md +28 -0
  79. package/docs/RC14_DELEGATED_SECURITY_DECISION.md +80 -0
  80. package/docs/RC14_SECURITY_REVIEW.md +40 -0
  81. package/docs/README.md +33 -0
  82. package/docs/RELEASE.md +4 -2
  83. package/docs/REPOSITORY_EDITING.md +47 -0
  84. package/docs/SECURITY_REVIEW_EVIDENCE.md +5 -3
  85. package/docs/THREAT_MODEL.md +3 -3
  86. package/docs/TIME_TO_SAFE_FIX.md +4 -4
  87. package/docs/ga-readiness.json +147 -16
  88. package/docs/reports/EFFICIENCY_REVIEW.md +156 -0
  89. package/docs/reports/EXTERNAL_COMPARISON.md +434 -0
  90. package/docs/reports/FULL_HARNESS_REVIEW_2026-09-10.md +200 -0
  91. package/docs/reports/GA_BUDGET_REMEDIATION_2026-09-19.md +38 -0
  92. package/docs/reports/GA_REPAIR_RECOVERY_2026-09-19.md +700 -0
  93. package/docs/reports/GA_VALIDATION_2026-09-19.md +111 -0
  94. package/docs/reports/HARNESS_ARCHITECTURE_REVIEW_2026-09-09.md +202 -0
  95. package/docs/reports/HARNESS_AUDIT_2026-09-09.md +306 -0
  96. package/docs/reports/HARNESS_REMEDIATION_2026-09-09.md +74 -0
  97. package/docs/reports/HARNESS_REMEDIATION_2026-09-10.md +90 -0
  98. package/docs/reports/MODEL_COMPARISON_2026-09-09.md +184 -0
  99. package/docs/reports/QWEN_REMEDIATION_COMPARISON_2026-09-09.md +142 -0
  100. package/docs/reports/RC14_VALIDATION_2026-09-10.md +45 -0
  101. package/docs/reports/README.md +26 -0
  102. package/docs/reports/evidence/ga-budget-remediation-2026-09-19.json +133 -0
  103. package/docs/reports/evidence/ga-catalog-ablation-2026-09-19.json +699 -0
  104. package/docs/reports/evidence/ga-catalog-ablation-plan-2026-09-19.json +40 -0
  105. package/docs/reports/evidence/ga-catalog-observed-2026-09-19.json +985 -0
  106. package/docs/reports/evidence/ga-catalog-observed-plan-2026-09-19.json +28 -0
  107. package/docs/reports/evidence/ga-catalog-observed-status-2026-09-19.json +15 -0
  108. package/docs/reports/evidence/ga-complete-local-check-2026-09-19.json +47 -0
  109. package/docs/reports/evidence/ga-completion-reminder-2026-09-19.json +22 -0
  110. package/docs/reports/evidence/ga-fresh-cohort-plan-2026-09-19.json +54 -0
  111. package/docs/reports/evidence/ga-fresh-cohort-preparation-2026-09-19.json +242 -0
  112. package/docs/reports/evidence/ga-fresh-cohort-result-2026-09-19.json +4318 -0
  113. package/docs/reports/evidence/ga-local-validation-followup-2026-09-19.json +66 -0
  114. package/docs/reports/evidence/ga-node-consumers-2026-09-19.json +31 -0
  115. package/docs/reports/evidence/ga-package-content-validation-2026-09-19.json +22 -0
  116. package/docs/reports/evidence/ga-plan-completion-2026-09-19.json +39 -0
  117. package/docs/reports/evidence/ga-plan-reserve-2026-09-19.json +573 -0
  118. package/docs/reports/evidence/ga-plan-reserve-plan-2026-09-19.json +24 -0
  119. package/docs/reports/evidence/ga-plan-transition-2026-09-19.json +19 -0
  120. package/docs/reports/evidence/ga-private-verifier-plan-2026-09-19.json +24 -0
  121. package/docs/reports/evidence/ga-private-verifier-root-cause-2026-09-19.json +41 -0
  122. package/docs/reports/evidence/ga-published-sdk-2026-09-19.json +35 -0
  123. package/docs/reports/evidence/ga-python-checkout-imports-2026-09-19.json +95 -0
  124. package/docs/reports/evidence/ga-python-origin-delivery-2026-09-19.json +211 -0
  125. package/docs/reports/evidence/ga-python-origin-delivery-plan-2026-09-19.json +27 -0
  126. package/docs/reports/evidence/ga-qwen-patched-package-2026-09-19.json +1092 -0
  127. package/docs/reports/evidence/ga-qwen-patched-package-plan-2026-09-19.json +18 -0
  128. package/docs/reports/evidence/ga-qwen-published-2026-09-19.json +571 -0
  129. package/docs/reports/evidence/ga-qwen-published-plan-2026-09-19.json +18 -0
  130. package/docs/reports/evidence/ga-qwen-tool-choice-2026-09-19.json +85 -0
  131. package/docs/reports/evidence/ga-qwen-tool-choice-patched-2026-09-19.json +85 -0
  132. package/docs/reports/evidence/ga-recovery-development-2026-09-19.json +1066 -0
  133. package/docs/reports/evidence/ga-recovery-graded-development-2026-09-19.json +1313 -0
  134. package/docs/reports/evidence/ga-recovery-graded-v2-2026-09-19.json +1151 -0
  135. package/docs/reports/evidence/ga-recovery-v3-2026-09-19.json +3943 -0
  136. package/docs/reports/evidence/ga-recovery-v4-2026-09-19.json +1055 -0
  137. package/docs/reports/evidence/ga-recovery-v5-2026-09-19.json +1245 -0
  138. package/docs/reports/evidence/ga-recovery-v6-2026-09-19.json +699 -0
  139. package/docs/reports/evidence/ga-recovery-v7-2026-09-19.json +854 -0
  140. package/docs/reports/evidence/ga-recovery-v8-2026-09-19.json +596 -0
  141. package/docs/reports/evidence/ga-required-delivery-2026-09-19.json +25 -0
  142. package/docs/reports/evidence/ga-required-delivery-live-2026-09-19.json +1337 -0
  143. package/docs/reports/evidence/ga-required-delivery-live-plan-2026-09-19.json +25 -0
  144. package/docs/reports/evidence/ga-retained-candidate-grading-2026-09-19.json +30 -0
  145. package/docs/reports/evidence/ga-tool-selection-live-2026-09-19.json +559 -0
  146. package/docs/reports/evidence/ga-tool-selection-live-plan-2026-09-19.json +28 -0
  147. package/docs/reports/evidence/ga-tool-selection-recovery-2026-09-19.json +27 -0
  148. package/docs/reports/evidence/ga-validation-2026-09-19.json +236 -0
  149. package/docs/reports/evidence/ga-verifier-discovery-live-2026-09-19.json +1369 -0
  150. package/docs/reports/evidence/ga-verifier-discovery-plan-2026-09-19.json +29 -0
  151. package/docs/reports/evidence/ga-verifier-failure-identification-2026-09-19.json +30 -0
  152. package/docs/reports/evidence/ga-verifier-feedback-2026-09-19.json +65 -0
  153. package/docs/reports/evidence/ga-verifier-hints-live-2026-09-19.json +1297 -0
  154. package/docs/reports/evidence/ga-verifier-hints-plan-2026-09-19.json +27 -0
  155. package/docs/reports/evidence/ga-work-boundary-context-analysis-2026-09-19.json +113 -0
  156. package/docs/reports/evidence/ga-work-boundary-live-2026-09-19.json +301 -0
  157. package/docs/reports/evidence/ga-work-boundary-live-plan-2026-09-19.json +84 -0
  158. package/docs/reports/evidence/ga-work-budget-planning-2026-09-19.json +32 -0
  159. package/docs/reports/evidence/ga-working-context-2026-09-19.json +22 -0
  160. package/docs/reports/evidence/rc14-delegated-security-review-2026-09-20.json +81 -0
  161. package/docs/reports/evidence/rc14-ga-gate-2026-09-20.json +18 -0
  162. package/docs/reports/evidence/rc14-representative-2026-09-20.json +509 -0
  163. package/docs/reports/evidence/rc14-security-regressions-2026-09-20.json +64 -0
  164. package/docs/reports/evidence/security-current-2026-09-19.json +91 -0
  165. package/docs/reports/evidence/security-remediation-2026-09-19.json +97 -0
  166. package/evaluations/repair-controller-experiment.json +24 -0
  167. package/evaluations/representative-assembly-matrix.json +63 -0
  168. package/evaluations/representative-matrix.json +2219 -2
  169. package/fixtures/contracts/v1/init.json +19 -0
  170. package/package.json +25 -16
@@ -0,0 +1,233 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "kind": "local-efficiency-observation",
4
+ "date": "2026-09-08",
5
+ "baseCommit": "0a7b69dddaa70a54b6b5b4097691c8112d4d76eb",
6
+ "evidenceBoundary": "Uncommitted development measurements; three repetitions, non-flushed host cache, Bun runtime. Sequential before/after observations, not randomized paired trials or public agent capability results. No paid model calls.",
7
+ "comparisons": [
8
+ {
9
+ "name": "workspace",
10
+ "boundary": "Unmodified checkout versus bounded reads and freshness checks.",
11
+ "before": {
12
+ "reportSha256": "171c5583f40caa60cc2f8c82bc548625538c816b9903c6695725a0ed8ebac77e",
13
+ "fixture": {
14
+ "files": 10000,
15
+ "pageSize": 100
16
+ },
17
+ "methodology": {
18
+ "repetitions": 3,
19
+ "warmups": 0,
20
+ "workspaceIndexState": "cold-first-page-then-reused-within-repetition",
21
+ "hostFilesystemCache": "not-flushed",
22
+ "resultValidation": true
23
+ },
24
+ "statistics": {
25
+ "digestBoundAllPages": {
26
+ "samples": 3,
27
+ "successes": 3,
28
+ "failures": 0,
29
+ "minMs": 932.76,
30
+ "p50Ms": 970.63,
31
+ "maxMs": 1184.52
32
+ },
33
+ "threeIndependentSearches": {
34
+ "samples": 3,
35
+ "successes": 3,
36
+ "failures": 0,
37
+ "minMs": 1058.3,
38
+ "p50Ms": 1136.79,
39
+ "maxMs": 1195.78
40
+ },
41
+ "searchMany": {
42
+ "samples": 3,
43
+ "successes": 3,
44
+ "failures": 0,
45
+ "minMs": 910.8,
46
+ "p50Ms": 941.46,
47
+ "maxMs": 979.75
48
+ }
49
+ }
50
+ },
51
+ "after": {
52
+ "reportSha256": "c70bae665e81ed6870d4369d122a955fb140fac1dd760f612f8604d27eeef9b9",
53
+ "fixture": {
54
+ "files": 10000,
55
+ "pageSize": 100,
56
+ "directories": 1,
57
+ "minimumFileBytes": 0
58
+ },
59
+ "methodology": {
60
+ "repetitions": 3,
61
+ "warmups": 0,
62
+ "workspaceIndexState": "cold-first-page-then-reused-within-repetition",
63
+ "hostFilesystemCache": "not-flushed",
64
+ "resultValidation": true
65
+ },
66
+ "statistics": {
67
+ "digestBoundAllPages": {
68
+ "samples": 3,
69
+ "successes": 3,
70
+ "failures": 0,
71
+ "minMs": 242.82,
72
+ "p50Ms": 245.74,
73
+ "maxMs": 396.97
74
+ },
75
+ "threeIndependentSearches": {
76
+ "samples": 3,
77
+ "successes": 3,
78
+ "failures": 0,
79
+ "minMs": 474.12,
80
+ "p50Ms": 492.41,
81
+ "maxMs": 526.95
82
+ },
83
+ "searchMany": {
84
+ "samples": 3,
85
+ "successes": 3,
86
+ "failures": 0,
87
+ "minMs": 218.22,
88
+ "p50Ms": 232.24,
89
+ "maxMs": 237.24
90
+ }
91
+ }
92
+ }
93
+ },
94
+ {
95
+ "name": "nested-freshness",
96
+ "boundary": "Both sides use bounded content reads; after also batches index freshness checks.",
97
+ "before": {
98
+ "reportSha256": "4a7132678700753bdf6005770c6420c7d3e0fd483b5c70f10e5080687c55ed68",
99
+ "fixture": {
100
+ "files": 1000,
101
+ "pageSize": 100,
102
+ "directories": 100,
103
+ "minimumFileBytes": 4096
104
+ },
105
+ "methodology": {
106
+ "repetitions": 3,
107
+ "warmups": 0,
108
+ "workspaceIndexState": "cold-first-page-then-reused-within-repetition",
109
+ "hostFilesystemCache": "not-flushed",
110
+ "resultValidation": true
111
+ },
112
+ "statistics": {
113
+ "topologyAllPages": {
114
+ "samples": 3,
115
+ "successes": 3,
116
+ "failures": 0,
117
+ "minMs": 27.57,
118
+ "p50Ms": 27.61,
119
+ "maxMs": 33.75
120
+ }
121
+ }
122
+ },
123
+ "after": {
124
+ "reportSha256": "20bff97fb983a56e0729ec183b32764af093489911a84a4b99979b8c40e21036",
125
+ "fixture": {
126
+ "files": 1000,
127
+ "pageSize": 100,
128
+ "directories": 100,
129
+ "minimumFileBytes": 4096
130
+ },
131
+ "methodology": {
132
+ "repetitions": 3,
133
+ "warmups": 0,
134
+ "workspaceIndexState": "cold-first-page-then-reused-within-repetition",
135
+ "hostFilesystemCache": "not-flushed",
136
+ "resultValidation": true
137
+ },
138
+ "statistics": {
139
+ "topologyAllPages": {
140
+ "samples": 3,
141
+ "successes": 3,
142
+ "failures": 0,
143
+ "minMs": 10.13,
144
+ "p50Ms": 10.32,
145
+ "maxMs": 11.51
146
+ }
147
+ }
148
+ }
149
+ },
150
+ {
151
+ "name": "oci-snapshot",
152
+ "boundary": "Before already uses bounded content reads; after additionally batches snapshot construction and index freshness.",
153
+ "before": {
154
+ "reportSha256": "6db33e8a52442485111cca2ec96c6b304b61d639559c96873a53c38411398a8a",
155
+ "fixture": {
156
+ "files": 1001,
157
+ "commands": 1,
158
+ "commandsPerRepetition": 1,
159
+ "reusedNoOpCommandsPerRepetition": 0,
160
+ "batchCommandsPerRepetition": 1
161
+ },
162
+ "methodology": {
163
+ "repetitions": 3,
164
+ "warmups": 0,
165
+ "hostFilesystemCache": "not-flushed",
166
+ "resultValidation": true
167
+ },
168
+ "statistics": {
169
+ "sessionAcquire": {
170
+ "samples": 3,
171
+ "successes": 3,
172
+ "failures": 0,
173
+ "minMs": 383.97,
174
+ "p50Ms": 417.04,
175
+ "maxMs": 567.24
176
+ },
177
+ "completeScenario": {
178
+ "samples": 3,
179
+ "successes": 3,
180
+ "failures": 0,
181
+ "minMs": 2196.8,
182
+ "p50Ms": 2555.25,
183
+ "maxMs": 4134.44
184
+ }
185
+ },
186
+ "runtime": {
187
+ "name": "docker",
188
+ "version": "29.7.2",
189
+ "imageDigest": "sha256:3638d9a6fe4030bd716be989438248074489337ba3275657f93595428be4fc03"
190
+ }
191
+ },
192
+ "after": {
193
+ "reportSha256": "7267ae148ec503c2bb3029833e6e77119443709474344eb3126cd511faa4288d",
194
+ "fixture": {
195
+ "files": 1001,
196
+ "commands": 1,
197
+ "commandsPerRepetition": 1,
198
+ "reusedNoOpCommandsPerRepetition": 0,
199
+ "batchCommandsPerRepetition": 1
200
+ },
201
+ "methodology": {
202
+ "repetitions": 3,
203
+ "warmups": 0,
204
+ "hostFilesystemCache": "not-flushed",
205
+ "resultValidation": true
206
+ },
207
+ "statistics": {
208
+ "sessionAcquire": {
209
+ "samples": 3,
210
+ "successes": 3,
211
+ "failures": 0,
212
+ "minMs": 183.55,
213
+ "p50Ms": 193.16,
214
+ "maxMs": 195.77
215
+ },
216
+ "completeScenario": {
217
+ "samples": 3,
218
+ "successes": 3,
219
+ "failures": 0,
220
+ "minMs": 1770.2,
221
+ "p50Ms": 1844.69,
222
+ "maxMs": 2144.49
223
+ }
224
+ },
225
+ "runtime": {
226
+ "name": "docker",
227
+ "version": "29.7.2",
228
+ "imageDigest": "sha256:3638d9a6fe4030bd716be989438248074489337ba3275657f93595428be4fc03"
229
+ }
230
+ }
231
+ }
232
+ ]
233
+ }