@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
package/CHANGELOG.md CHANGED
@@ -4,6 +4,196 @@ All notable changes to Zhivex Harness are documented in this file.
4
4
 
5
5
  The project follows Semantic Versioning. During `0.x`, minor releases may change user-facing contracts when the change is documented with a migration note. Patch releases remain backwards compatible bug fixes.
6
6
 
7
+ ## Unreleased
8
+
9
+ ## 1.0.0 - 2026-09-20
10
+
11
+ ### GA promotion
12
+
13
+ - Promote the RC.14 runtime and dependency set without further runtime changes.
14
+ Stable API/CLI/schema contracts, supported Node runtimes and migration policies
15
+ are defined in the published stability and support documents.
16
+ - Bind readiness to the published RC evidence, including RC.14 protected live
17
+ certification and its complete 42-case Meta/Qwen/OpenAI representative matrix.
18
+ Gemini remains provisional and outside the GA-certified cohort.
19
+ - Complete the artifact-bound security assessment under the explicitly documented
20
+ RC.14-only delegated AI review exception. This is not an independent human audit.
21
+ Preserve all four resolved findings, residual risks and negative exploratory
22
+ SWE-bench results; no broad coding-accuracy claim is made.
23
+ - Existing paused approvals remain bound to their original artifact. Stable
24
+ publication and provenance require their own protected release workflow.
25
+
26
+ ## 1.0.0-rc.14 - 2026-09-20
27
+
28
+ ### GA validation remediation
29
+
30
+ - Serialize workspace mutations across processes and isolate OCI state by the
31
+ canonical workspace, state directory, user, tenant, namespace and run identity.
32
+ Reject legacy unscoped snapshots and require review of full replacement edits.
33
+ - Add opt-in `requireVerifiedDelivery` for repair runs. Preserve bounded planning,
34
+ unknown-tool recovery and closure reserve across checkpoints without granting
35
+ approvals or increasing total token limits. Older paused approvals must resume
36
+ with their original artifact because the runtime policy binding changed.
37
+ - Consume published Core 1.22.0, Agents 1.8.0, OpenAI 0.13.3, Qwen 0.14.4,
38
+ Gemini 0.12.1 and Meta 0.2.6. Preserve supported terminal-error usage and
39
+ complete Qwen terminal tool calls through the upstream adapter fixes.
40
+ - Capture evaluation candidates from the actual run scope and verify Python
41
+ imports against the candidate checkout. Preserve complete failed evaluation
42
+ evidence; local validation and development results do not constitute GA
43
+ certification or replace release-bound representative and security evidence.
44
+
45
+ ### Full harness review remediation (2026-09-10)
46
+
47
+ - Reserve local tool names before MCP assembly, including disabled builtins;
48
+ correlate complete SSE events by JSON-RPC request ID.
49
+ - Add a durable repair controller with automatic approved verification, bounded
50
+ verifier recovery, candidate receipts and fail-closed incomplete delivery.
51
+ - Predict full request context, protect closure allowance and retain transport
52
+ accounting across approval resumes; refuse unknown crash/interruption usage.
53
+ - Project bounded working memory; keep full tasks outside manual compacted
54
+ prompts; check every batched read against normalized repair scope.
55
+ - Expose sanitized durable runtime diagnostics and effective role manifests.
56
+ - Require strict typechecking of source, scripts and tests in CI. Publish public
57
+ baselines, exclude development audit programs, and validate internal Markdown
58
+ links against the immutable packed artifact.
59
+ - Refine OCI `acquire` return declarations to `HarnessExecutionSession` and add
60
+ optional inspection fields. Refresh reviewed Stable signatures; existing
61
+ exports and JSON readers remain supported. Runtime policy fingerprint changes
62
+ require older paused approvals to use their original artifact.
63
+
64
+ ### Audit remediation (2026-09-09)
65
+
66
+ - Guard terminal imports with cancellation, deadlines and renewed run leases;
67
+ preserve caller step limits and interrupt approval waits.
68
+ - Reject ancestor symlinks during descriptor-bound reads on macOS/Linux.
69
+ - Preserve full redacted task sources through compaction and expose `read_task`
70
+ and bounded `repair_plan` working memory.
71
+ - Bound search output with explicit coverage and exact-file continuation; persist
72
+ governed OCI mutation receipts across reacquisition.
73
+ - Share the opt-in `repair` profile across library, CLI and benchmark, including
74
+ durable exploration controls and bounded verifier/schema recovery.
75
+ - Capture and independently grade private candidate patches; retain sanitized
76
+ model/tool/approval/OCI timings, attempted tools and typed failure evidence.
77
+ - Compaction/profile binding changes intentionally reject older paused approvals;
78
+ retain the original artifact to finish or deny those runs.
79
+
80
+ ### Changed
81
+
82
+ - Upgrade published Core to 1.14.0 and Agents to 1.4.0. Enable SDK schema-error recovery in the native SWE-bench driver and preserve structured validation diagnostics; consumer tests cover correction, error limits and approval continuation.
83
+
84
+ - Add per-run native evaluation controls for repeated unchanged exploration and a closure phase at 70% of token allowance, plus sanitized per-component context character metrics. Preserve actual token ceilings and tool approvals.
85
+
86
+ - Preserve bounded file/digest/line references from batched search and read results through repeated compaction; deduplicate references and discard prior file locations when a new digest is observed. Advance the compaction binding to bounded-evidence-v3.
87
+
88
+ - Add opt-in bounded recovery from typed terminal OCI verifier failures, preserving fresh approvals, durable retry counts and strict handling of forced exits; validate OpenAI and Qwen against one frozen harness implementation.
89
+
90
+ - Support exact-file batched searches with descriptor-safe reads; cap rendered reads at 16,000 characters per slice and 32,000 aggregate characters per batch, flagging clipped long lines.
91
+ - Require verified patch import in the external evaluation, retain typed verifier outcomes, expose remaining model budget after half is consumed, and support matched Qwen Chat Completions evaluation.
92
+ - Upgrade Qwen to 0.11.4 to consume the upstream trailing streamed-usage fix; stop interrupted external runs without continuing into another case.
93
+
94
+ - Upgrade to published Core 1.13.0, Agents 1.3.1 and OpenAI 0.11.2; remove local compaction usage/history workarounds and verify the upstream fixes through installed-package consumer regressions.
95
+
96
+ - Publish configured OCI executables in command schemas and preserve recent user corrections through repeated compaction within the same summary budget.
97
+
98
+ - Correct duplicate streamed token accounting after compaction when complete step usage is available, retaining real budget enforcement and conservative handling of missing usage.
99
+ - Preserve large unchanged fixture files in bounded OCI snapshots and reject linked inventory paths; project synthetic summaries into valid Responses context.
100
+
101
+ - Add approval-gated exact replacements bound to file digests; preserve UTF-8 bytes and reject ambiguous or stale edits.
102
+ - Reduce default read slices to 120 lines and batched search results to 10 matches per query; preserve the original objective across SDK-formatted repeated compaction.
103
+ - Add a pinned external SWE-bench comparison, explicit pilot exclusions and partial sanitized failure telemetry.
104
+
105
+ - Preserve bounded conversation objectives, recent excerpts and typed check evidence during compaction; bind the new compaction strategy into durable harness identity. Resume older paused runs with their matching artifact.
106
+ - Batch independent workspace reads, searches, index freshness checks and initial OCI snapshot file copies while keeping tool execution, approvals and publication serialized.
107
+ - Add nested/file-size workspace benchmarks, continuity regressions and local efficiency observations. These are not competitive model evaluations.
108
+
109
+ ## 1.0.0-rc.13 - 2026-09-03
110
+
111
+ ### Added
112
+
113
+ - Add console command completion, previewed multiline drafts, active project-context inspection, and bounded digest-checked file attachments for the next task.
114
+ - Keep interactive sessions open after command/provider failures and pass Ctrl+C cancellation to active turns and review groups while preserving unresolved approval batches.
115
+ - Render terminal-safe model text and optionally colored diffs; discard unsolicited input lines instead of replaying them into approval prompts.
116
+ - Add `zhx init` with interactive terminal prompts and deterministic non-interactive flags, plus explicit `--profile <name>` selection for `run`, `chat`, `review`, and `doctor`.
117
+ - Store one provider/model pair per schema-versioned personal profile outside the repository with owner-only directories/files, descriptor-bound no-follow reads, strict size/link/permission checks, and no credential or authority-bearing fields.
118
+ - Add a versioned `init` JSON document and installed-tarball smoke coverage for initialization, profile reuse, precedence, permissions, and secret-free output.
119
+
120
+ ### Fixed
121
+
122
+ - Persist externally interrupted ordinary turns as cancelled after runtime cleanup, without replacing completed work, pending approvals, or genuine timeouts.
123
+ - Accept explicit null first-page cursors for listing/search tools, keeping opaque cursor validation for subsequent pages.
124
+ - Add bounded in-memory task history, Alt+Enter multiline input, and terminal-safe Markdown presentation.
125
+ - Treat a valid SQLite database created only by `sessions list` as an uninitialized operations store in `doctor`, while continuing to reject partially initialized or incompatible operational schemas.
126
+
127
+ ### Changed
128
+
129
+ - Preserve published RC.12 as immutable historical evidence. RC.13 is published to npm `next` with protected live certification, 42/42 representative cases, and independently verified SHA-512 integrity and SLSA provenance; its final human security review remains pending for GA.
130
+ - Keep profiles explicit rather than active-by-default. Precedence is CLI flags, selected profile, environment, then built-in defaults; `resume` never accepts a profile and continues to restore the original durable policy.
131
+
132
+ ### Migration from RC.12
133
+
134
+ No Harness configuration, run-store, session-store, change-envelope, or execution-policy migration is required. Existing invocations behave as before unless they opt into `zhx init` and `--profile`. Profiles contain only schema version, provider, and model; API keys remain environment-owned.
135
+
136
+ ## 1.0.0-rc.12 - 2026-09-02
137
+
138
+ ### Fixed
139
+
140
+ - Keep `git_diff` read-only even under hostile repository configuration: disable repository-controlled filesystem monitors, external diffs, text conversion, and submodule processing; discover changed paths with NUL-safe output; and render only paths permitted by the Harness hard-ignore and sensitive-name policy.
141
+ - Bind MCP configuration loading to one regular, single-link file descriptor with `O_NOFOLLOW`, a 1 MiB limit, canonical-parent containment, and inode continuity from initial inspection through the stable read.
142
+
143
+ ### Changed
144
+
145
+ - Expand the security-review inventory from mutation/execution tools to all 28 model-facing tool classes, including repository reads, inspection, skill loading, delegation, and dynamic MCP tools, with a regression that rejects future inventory drift.
146
+ - Require direct mitigation, regression evidence, residual risk, and passing status for every reviewed trust boundary and authority-bearing tool. Non-informational findings now require an owner, disposition, rationale, and HTTPS follow-up; critical/high findings cannot be accepted without mitigation.
147
+ - Preserve published RC.11 as immutable historical evidence while authorizing RC.12 as the new pending candidate required by HAR-HU-03 remediation. No RC.12 artifact, live certification, registry integrity, or provenance is claimed before the exact tag completes the protected workflow.
148
+
149
+ ## 1.0.0-rc.11 - 2026-09-02
150
+
151
+ ### Fixed
152
+
153
+ - Keep the governed Qwen representative driver on its certified Responses path instead of selecting Chat through an incompatible transport-level `maxTokens` option; the same output limit remains enforced by the Harness durable token guard before and after each provider step.
154
+
155
+ ### Changed
156
+
157
+ - Record the immutable, unpublished RC.10 attempt as failed after its exact tarball passed artifact binding: Meta completed 14/14 representative cases, Qwen completed 13/14, and an OpenAI account-funding issue surfaced as retryable HTTP 500 failures across live and representative gates; npm publication remained skipped.
158
+ - Record the protected RC.11 workflow's fail-closed first attempt, where one Qwen representative case returned `EXECUTION_FAILED`, Meta and OpenAI completed 14/14, Qwen completed 13/14, no unauthorized effects were observed, and npm publication remained skipped for that attempt.
159
+ - Publish the complete second RC.11 attempt to `next` only after every deterministic, exact-artifact, OCI, live-provider, and representative gate passed from scratch; Meta, Qwen, and OpenAI each completed 14/14, and the registry artifact passed exact SHA-512 integrity plus SLSA provenance verification.
160
+
161
+ ## 1.0.0-rc.10 - 2026-09-01
162
+
163
+ ### Fixed
164
+
165
+ - Isolate the non-release early-diagnostic fixture from release-bound environment variables, so the test remains hermetic when `bun test` runs inside the validation job while real incomplete diagnostic bindings continue to fail closed.
166
+ - Allow the immutable readiness ledger to record a deterministic pre-artifact failure with an explicit null artifact digest and `not-run` live certification instead of inventing an artifact identity.
167
+
168
+ ### Changed
169
+
170
+ - Record the immutable, unpublished RC.9 attempt as failed during deterministic validation before packing: one environment-sensitive test failed, no release tarball was created, every live/representative gate was skipped, and npm publication was not dispatched.
171
+ - Extend the representative release matrices through `v1.0.0-rc.10`; RC.10 remains pending until its distinct commit and annotated tag complete the full protected workflow.
172
+
173
+ ## 1.0.0-rc.9 - 2026-09-01
174
+
175
+ ### Fixed
176
+
177
+ - Build `dist/` before the manual tag-bound live-certification workflow packs and inspects the candidate, preventing a source-only tarball from failing artifact binding before OCI and provider gates can run.
178
+
179
+ ### Changed
180
+
181
+ - Record the immutable, unpublished RC.8 attempt as failed at artifact binding: exact-tag readiness passed, but OCI and every provider gate were skipped, no diagnostic artifact was produced, and npm publication was not dispatched.
182
+ - Extend the representative release matrices through `v1.0.0-rc.9`; RC.9 remains pending until its exact tag completes protected certification.
183
+
184
+ ## 1.0.0-rc.8 - 2026-09-01
185
+
186
+ ### Fixed
187
+
188
+ - Complete HAR-HU-01 release diagnostics without relaying child stdout/stderr: every live gate now persists only strict sanitized outcomes identified by provider or phase, and the final summary remains fail-closed.
189
+ - Record a missing provider credential as that provider's configuration failure so the remaining selected providers still execute, and include OCI image preload as an independent diagnostic gate instead of short-circuiting the matrix.
190
+
191
+ ### Changed
192
+
193
+ - Refresh the coordinated Zhivex dependency set to the current published versions verified for this candidate: `@zhivex-ai/core@1.11.0`, `@zhivex-ai/qwen@0.11.1`, and `@zhivex-ai/gemini@0.11.0`, while retaining current Agents `1.3.0`, Meta `0.2.2`, OpenAI `0.10.0`, exact package pins, and one Core override across every adapter.
194
+ - Keep the Harness Qwen tool-call-ID normalizer as a defense-in-depth boundary while adopting the adapter's current missing/placeholder-ID normalization, Responses continuation correlation, and Bun realtime frame-limit correction.
195
+ - Authorize `v1.0.0-rc.8` in the representative evaluation matrices and record it as pending. No live-provider, representative-repository, release-artifact, registry, or provenance result is claimed before the exact candidate completes those gates.
196
+
7
197
  ## 1.0.0-rc.7 - 2026-08-25
8
198
 
9
199
  ### Fixed
package/README.md CHANGED
@@ -13,7 +13,7 @@ Zhivex Harness runs coding agents against real repositories with conflict-safe e
13
13
 
14
14
  The model provides capability. The harness controls what it may inspect, execute, change, resume, and prove. Every provider uses the same bounded tool and approval contract.
15
15
 
16
- Version `0.11.1` is the current public npm release and `latest` distribution tag. Its annotated tag, exact registry integrity, SLSA provenance, and release-bound Meta/Qwen/OpenAI certification are recorded in the [repository release status](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json). Publication remains fail-closed on deterministic, installed-package, real-OCI, base-provider, orchestration, routing, and model-directed execution gates. The planned 1.0 promotion is tracked by the [machine-checked readiness gate](./docs/GA_READINESS.md), [API stability policy](./docs/STABILITY.md), [support matrix](./docs/SUPPORT_MATRIX.md), and [threat model](./docs/THREAT_MODEL.md). See [ROADMAP.md](./ROADMAP.md), [CHANGELOG.md](./CHANGELOG.md), [public repository security](./docs/PUBLIC_SECURITY.md), the [change-envelope guide](./docs/CHANGE_ENVELOPES.md), the [CLI contract](./docs/CLI.md), the [context-engineering guide](./docs/CONTEXT_ENGINEERING.md), the [extensibility guide](./docs/EXTENSIBILITY.md), and the [durable-operations guide](./docs/DURABLE_OPERATIONS.md).
16
+ Version `1.0.0` is the current source release candidate for stable publication; it is not yet published. The latest public stable release remains `0.11.1`, and `1.0.0-rc.14` is published on `next`. RC.14 passed protected live certification and 42/42 representative cases; its security review is complete under the explicit [user-delegated AI exception](./docs/RC14_DELEGATED_SECURITY_DECISION.md), not an independent human audit. The [repository release status](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json) records the pending stable candidate. Stable publication requires its own deterministic, installed-package, OCI, live-provider and representative gates and verified provenance. See the [readiness gate](./docs/GA_READINESS.md), [API stability policy](./docs/STABILITY.md), [support matrix](./docs/SUPPORT_MATRIX.md), [threat model](./docs/THREAT_MODEL.md), [roadmap](./ROADMAP.md) and [changelog](./CHANGELOG.md).
17
17
 
18
18
  ## Why Zhivex Harness
19
19
 
@@ -40,63 +40,17 @@ bun run demo:hostile
40
40
 
41
41
  The expected result is a schema-versioned JSON proof with `secretExcluded`, `networkDenied`, `exactlyOnceJournal`, and `staleHostImportBlocked` all set to `true`. Pass `--keep` to retain the disposable workspace for inspection. The complete scenario and evidence limits are documented in [docs/HOSTILE_REPOSITORY_DEMO.md](./docs/HOSTILE_REPOSITORY_DEMO.md).
42
42
 
43
- ## What 0.11 changes
44
-
45
- - adds a dependency-free terminal presentation layer with redacted activity, complete approval cards, and durable `y`/`n`/`v`/`q` decisions;
46
- - lets recovered chat sessions inspect and resolve their current approval with `/pending`, `/approve`, and `/deny` after restoring the exact persisted provider, routing, context, and OCI policy;
47
- - loads bounded `AGENTS.md`, project context, rules, and progressively disclosed skills while binding their digests into durable compatibility;
48
- - adds trusted application lifecycle hooks with versioned identities, bounded events, timeouts, and redacted failures; and
49
- - exposes exact-script shell syntax only through explicit `--execution oci --oci-shell ask`, preserving denied network and the separate host-import approval.
50
-
51
- ## What 0.10 changed
52
-
53
- - makes Node.js `>=22.13.0` the primary public CLI and library runtime while retaining Bun-compatible imports and Bun-managed contributor workflows;
54
- - replaces `bun:sqlite` and `Bun.spawn` with `node:sqlite` and argv-only `node:child_process` boundaries without changing the durable SQLite file format;
55
- - detects npm, pnpm, Yarn, or Bun from a pinned `packageManager` field or an unambiguous lockfile, defaults to npm, and rejects implicit pre/post lifecycle hooks that were not reviewed;
56
- - moves the default enforced environment to `node:24-bookworm-slim`, executes its controller as Node ESM, and keeps custom Bun images available through explicit configuration; and
57
- - adds Node-built CLI/library and installed-artifact smokes while retaining Bun compatibility coverage.
58
-
59
- ## What 0.9 changed
60
-
61
- - reuses a freshness-checked topology index across file-list and search pages while reading current file bytes for every digest;
62
- - adds bounded `read_files` and `search_many` tools that reduce model/tool round trips without parallelizing writes;
63
- - reuses an inert controller-only OCI container within an acquired run, attests command execution and the canonical workspace seal in one cycle, skips exports for unchanged seals, and reseeds after failures or host-snapshot changes without weakening the reviewed host-import boundary;
64
- - adds a reproducible workspace benchmark and observable index/OCI I/O counters; and
65
- - introduces deterministic, offline-verifiable `ChangeEnvelope v1` documents bound to exact patch bytes, base identity, runtime policy, redacted checks, expiry, and optional approval/attestation references.
66
-
67
- ## What 0.8 changed
68
-
69
- - updates the coordinated Zhivex SDK batch while retaining a single Core runtime identity;
70
- - makes `gpt-5.6-luna` the OpenAI default, with Terra and Sol available through explicit model selection; and
71
- - clarifies that calling an approval-gated tool is the model's approval request, so the runtime can persist and resume it.
72
-
73
- ## What 0.7 introduced
74
-
75
- - the short `zhx` command, with `zhivex-harness` retained as a compatible alias;
76
- - one-shot execution plus a durable interactive console with named sessions, fork/archive operations, safe resume, status, diff, review, and explicit context compaction;
77
- - an extensible provider registry, provider/model selection, provisional native Gemini support, and repeatable per-role routes such as `--route reviewer=gemini`;
78
- - redacted, sequence-numbered `--jsonl` events for automation, while `--json` keeps the final-document contract;
79
- - versioned configuration and JSON output contracts;
80
- - a local `doctor` command that diagnoses the runtime, repository package manager, workspace, Git, scripts, state, credentials, endpoints, and provider capabilities without making provider requests or exposing secret values;
81
- - deterministic, cursor-paginated workspace listing and search with SHA-256 content digests;
82
- - reviewed multi-file proposals and approved atomic application with stale-content rejection;
83
- - approved moves plus recoverable quarantine and restore operations;
84
- - an explicit, configurable allowlist of declared `package.json` checks executed through the repository's pinned or detected package manager;
85
- - read-only inspection of staged, unstaged, renamed, deleted, and untracked Git state;
86
- - per-process mutation audit evidence and a final diff summary;
87
- - scoped SQLite run/memory state, idempotency, approval resumption, leases, and exactly-once tool journals;
88
- - run list, redacted inspect/export, cancellation, and retention cleanup commands;
89
- - production safety policy plus step, time, tool, token, and optional operator-priced cost budgets;
90
- - bounded context compaction with durable records and a deterministic golden evaluation gate;
91
- - fail-fast model capability requirements and deterministic library-side candidate selection;
92
- - governed MCP over bounded HTTPS/loopback HTTP with explicit server/tool allowlists, permissions, timeouts, approvals, output limits, and environment-backed credentials;
93
- - named explorer, implementer, tester, and reviewer subagents with independent durable budgets and promoted approvals;
94
- - deterministic application-owned parallel read-only review groups with child progress, hierarchy, usage, and cost evidence;
95
- - optional enforced Docker/Podman execution with a warm controller-only per-run container, no container network, a read-only root filesystem, non-root execution, dropped capabilities, bounded CPU/memory/PIDs/time/output, and an ephemeral secret-free workspace snapshot;
96
- - argv-only allowlisted environment commands, isolated package checks, deterministic patch inspection, and a separate durable approval before importing changes into the host workspace;
97
- - environment/image/policy fingerprint binding, cancellation cleanup, labeled orphan cleanup, retained audit artifacts, and installed-package plus real-runtime smoke gates;
98
- - protection against path traversal, symlink escapes, unsafe state targets, secret-file reads, special files, concurrent non-overwrite races, and unbounded output;
99
- - Linux/macOS CI, installed-tarball smoke coverage, and opt-in live-provider certification.
43
+ ## What RC.13 adds
44
+
45
+ - explicit personal provider/model profiles through `zhx init` and `--profile`, stored outside the repository without credentials;
46
+ - Tab command completion, previewed multiline tasks, bounded task history, and Alt+Enter input;
47
+ - `/context` inspection and bounded, digest-checked `/attach` excerpts for the next task;
48
+ - Ctrl+C cancellation with runtime cleanup and preserved pending approvals, plus recovery to the prompt after command/provider errors; and
49
+ - terminal-safe Markdown and optional colored diffs, with unsolicited input discarded before approval prompts.
50
+
51
+ See the [RC.13 changelog and migration notes](./CHANGELOG.md#100-rc13---2026-09-03) and [interactive workflow guide](./docs/CLI.md#interactive-daily-workflow). No configuration or store migration from RC.12 is required.
52
+
53
+ Earlier release changes and migrations are recorded in the [changelog](./CHANGELOG.md). Browse the [documentation index](./docs/README.md) for usage, architecture, maintenance, and historical reports.
100
54
 
101
55
  It does not include arbitrary host shell access, `stdio` MCP, permanent deletion, Git writes, a desktop UI, a remote worker, or a managed sandbox service. Without `--execution oci`, shell-class tools remain unavailable. The opt-in `--oci-shell ask` policy exposes approval-bound `sh` only inside OCI. With OCI enabled, repository tools, checks, and enabled subagents share the acquired snapshot; network MCP is rejected because it cannot truthfully satisfy the no-network execution policy.
102
56
 
@@ -109,12 +63,23 @@ It does not include arbitrary host shell access, `stdio` MCP, permanent deletion
109
63
 
110
64
  ## Installation
111
65
 
112
- Install the Node-first `0.11.1` artifact with an exact version:
66
+ Run the Node-first `latest` release with an exact version:
67
+
68
+ ```bash
69
+ bunx @zhivex-ai/harness@0.11.1 --version
70
+ ```
71
+
72
+ To try the published RC.13 candidate on `next`, pin its exact version:
113
73
 
114
74
  ```bash
115
- npx --yes --package=@zhivex-ai/harness@0.11.1 zhx --version
75
+ bunx @zhivex-ai/harness@1.0.0-rc.13 --version
76
+ bunx @zhivex-ai/harness@1.0.0-rc.13 init --profile daily --provider openai
77
+ bunx @zhivex-ai/harness@1.0.0-rc.13 doctor --profile daily
78
+ bunx @zhivex-ai/harness@1.0.0-rc.13 --profile daily "inspect this repository"
116
79
  ```
117
80
 
81
+ RC.13 is a prerelease; publication on `next` does not promote it to GA.
82
+
118
83
  To exercise the source checkout, contributors use Bun for deterministic repository tooling while the built CLI itself runs on Node:
119
84
 
120
85
  ```bash
@@ -123,6 +88,16 @@ cp .env.example .env
123
88
  bun run dev --version
124
89
  ```
125
90
 
91
+ RC.13 includes first-run setup that stores only a provider and model in an explicit personal profile. From a source checkout:
92
+
93
+ ```bash
94
+ bun run dev init --profile daily --provider openai
95
+ bun run dev doctor --profile daily
96
+ bun run dev --profile daily "inspect this repository"
97
+ ```
98
+
99
+ Installed builds expose the same flow as `zhx init`. Profiles are private user configuration outside the repository, use owner-only permissions, contain no credentials, and are never selected implicitly. CLI flags override the selected profile; the selected profile overrides environment variables; environment variables override built-in defaults.
100
+
126
101
  Configure only the providers you plan to use:
127
102
 
128
103
  ```dotenv
@@ -140,6 +115,7 @@ GEMINI_API_KEY=...
140
115
 
141
116
  ```bash
142
117
  zhx doctor
118
+ zhx doctor --profile daily
143
119
  zhx doctor --provider qwen --json
144
120
  ```
145
121
 
@@ -157,6 +133,13 @@ zhivex-harness --version
157
133
 
158
134
  Inside the console, `/help` lists `/provider`, `/model`, `/route`, `/status`, `/diff`, `/review`, `/resume`, `/pending`, `/approve`, `/deny`, `/compact`, `/new`, `/rename`, and `/exit`. Tool and step activity is rendered without tool payloads; approval cards sanitize terminal controls and keep governed edit/command payloads fully reviewable.
159
135
 
136
+ The published RC.13 also adds Tab command completion, `/paste` for previewed
137
+ multiline tasks, `/context` for active project rules/skills, and `/attach <path>` for
138
+ bounded file excerpts. Ctrl+C interrupts active work while retaining the session;
139
+ errors return to the prompt. See the [interactive workflow](./docs/CLI.md#interactive-daily-workflow)
140
+ for attachment limits, approval behavior, and recovery. These source additions are
141
+ not yet published or live-certified.
142
+
160
143
  Project context engineering is enabled by default. A root `AGENTS.md` plus an optional `.zhivex/harness.json` can declare bounded context files, rule files, and progressively loaded `SKILL.md` directories. Disable discovery with `--no-project-context` or select another manifest with `--context-config`.
161
144
 
162
145
  Show providers and detected configuration without printing secrets:
@@ -280,7 +263,7 @@ zhivex-harness run --execution oci --oci-shell ask "use a reviewed shell pipelin
280
263
 
281
264
  ## Providers and defaults
282
265
 
283
- | Provider | Default model | Current support |
266
+ | Provider | Default model | Support in `latest` (`0.11.1`) |
284
267
  | --- | --- | --- |
285
268
  | Meta | `muse-spark-1.2` | `MODEL_API_KEY` · 0.11.1 release-bound base, delegation, and OCI execution certified |
286
269
  | Qwen | `qwen3.8-max` | `DASHSCOPE_API_KEY` or `QWEN_API_KEY` · 0.11.1 release-bound base, delegation, routing, and OCI execution certified |
@@ -291,6 +274,8 @@ Override any model with `--model`. Optional provider overrides are `META_BASE_UR
291
274
 
292
275
  The exact `v0.11.1` tag passed proposal/approval/restart, bounded delegation, OpenAI-parent/Qwen-reviewer routing, and model-directed OCI execution for Meta `muse-spark-1.2`, Qwen `qwen3.8-max`, and OpenAI `gpt-5.6-luna` on 2026-08-23. Luna remains the OpenAI default, while Terra and Sol remain explicit `--model` selections with older local base evidence only. Controlled and official-SDK MCP interoperability are verified separately and do not imply compatibility with every server or protocol feature. Provider capability claims remain artifact- and date-bound under the [live certification contract](./docs/LIVE_CERTIFICATION.md); credential detection and deterministic tests do not replace real provider evidence.
293
276
 
277
+ For `next`, the exact `v1.0.0-rc.13` artifact passed protected live certification and all 14 representative cases for each of Meta `muse-spark-1.2`, Qwen `qwen3.8-max`, and OpenAI `gpt-5.6-luna` on 2026-09-08. See the [RC.13 release evidence](./docs/LIVE_CERTIFICATION.md#current-public-status) for the workflow and artifact identity. Gemini remains provisional.
278
+
294
279
  ## Security boundaries
295
280
 
296
281
  - Every workspace path is resolved against a canonical root.
@@ -335,7 +320,7 @@ The workspace benchmark reports topology-only and digest-bound listing separatel
335
320
 
336
321
  The [Time-to-Safe-Fix benchmark](./docs/TIME_TO_SAFE_FIX.md) adds task-level clean/attacked matrices, `safeResolved` scoring, approval/system latency separation, Wilson rate intervals, and matched overhead against a direct profile. Its bundled deterministic smoke validates only the benchmark pipeline. Public capability or safety claims require a real external driver, exact dataset revision, matched model/runtime controls, and disclosed failures.
337
322
 
338
- Full generated reports remain local and Git-ignored under [`results`](./results/). Commit only digest-verified, sanitized evidence snapshots under [`benchmarks/baselines`](./benchmarks/baselines/).
323
+ Full generated reports remain local and Git-ignored under `./results/` (source checkout). Commit only digest-verified, sanitized evidence snapshots under [`benchmarks/baselines`](./benchmarks/baselines/).
339
324
 
340
325
  The live gate is opt-in and billable:
341
326
 
package/ROADMAP.md CHANGED
@@ -5,8 +5,14 @@
5
5
 
6
6
  This roadmap takes the harness from its `0.1.0` MVP to a stable CLI and library contract. The `0.2.0` source baseline is tagged locally, `0.3.0` and `0.4.0` are private checkpoints, and `0.5.0` through `0.11.1` are published on npm. Version `0.11.1` delivers file and release hardening without a `0.11.x` contract change; registry publication, supply-chain provenance, and provider certification remain separate evidence boundaries. Releases are ordered by dependency and safety risk, not by calendar date. A version ships only when its exit criteria are satisfied.
7
7
 
8
+ Version `1.0.0` is the local source release candidate. It is not yet tagged or published as a new artifact. Its protected stable certification and publication remain pending; published RC.14 evidence supports preparation, not a claim that stable bytes have shipped.
9
+
8
10
  ## Planning principles
9
11
 
12
+ RC.13 is published to npm `next` with 42/42 representative cases, protected live certification, and independently verified registry integrity and SLSA provenance. Its [reviewer dossier](docs/RC13_SECURITY_REVIEW.md) remains historical context.
13
+
14
+ RC.14 is published to npm `next` with all protected live gates and 42/42 representative cases passed; independent verification matched registry integrity and SLSA provenance. RC.14 now has a completed Codex security review under an explicit [user-delegated AI exception](docs/RC14_DELEGATED_SECURITY_DECISION.md), with no identified open critical/high findings. This is not an independent human audit; use the [current reviewer dossier](docs/RC14_SECURITY_REVIEW.md). The separate failed exploratory SWE-bench cohort is preserved and does not become passing evidence.
15
+
10
16
  - Make the harness distributable and observable before expanding its side-effect surface.
11
17
  - Keep provider portability in the harness and provider-specific behavior behind capability checks.
12
18
  - Reuse Stable `@zhivex-ai/agents` runtime contracts for safety, durability, tracing, evaluation, subagents, and execution environments.
@@ -355,7 +361,9 @@ Exit criteria:
355
361
 
356
362
  Goal: freeze a supportable public contract after the pre-1.0 safety and operational surfaces have been exercised in real repositories.
357
363
 
358
- Status: RC.1 through RC.6 passed exact-artifact validation but failed protected certification, so every publication was skipped and npm remained unchanged. RC.6 passed release-bound live certification and Meta's complete representative matrix, then failed closed at Qwen with 12/14 safe resolutions in both the original run and one retry. RC.7 keeps the Core, Agents, and OpenAI corrections while restoring the last Qwen adapter that passed this exact release-bound matrix. Public API/CLI/schema baselines, config `4 → 5` migration, historical tarball fixtures, support/security/rollback policy, RC channel enforcement, representative-evaluation generation, and evidence requirements remain machine-checked. GA remains blocked on the two open evidence classes in [`docs/ga-readiness.json`](./docs/ga-readiness.json): representative results across two passing release candidates and the final-candidate security review.
364
+ Release evidence checkpoint: RC.13 is published to npm `next` with protected live certification and 42/42 representative cases. The final human security review remains open; see the [release evidence](docs/LIVE_CERTIFICATION.md) and [reviewer dossier](docs/RC13_SECURITY_REVIEW.md).
365
+
366
+ Status: RC.1 through RC.6 did not complete every protected gate, so every publication was skipped. RC.6 passed release-bound live certification and Meta's complete representative matrix, then failed closed at Qwen with 12/14 safe resolutions in both the original run and one retry. RC.7 retained the Core, Agents, and OpenAI corrections, restored Qwen to the last adapter certified by this matrix, passed exact-artifact, live-provider, and all three 14-case representative gates, and was published to npm `next` with verified SHA-512 integrity and SLSA provenance. RC.8 carried the coordinated Core `1.11.0`, Qwen `0.11.1`, and Gemini `0.11.0` refresh and passed exact-tag readiness, but its manual protected workflow packed before building `dist/`; artifact binding failed, OCI and provider gates were skipped, and npm publication was not dispatched. RC.9 corrected that workflow and passed manual protected certification, but its release-bound deterministic job exposed an environment-sensitive early-diagnostic test before packing; no release tarball was created and every downstream job was skipped. RC.10 isolated that fixture and produced a valid exact tarball, then failed closed because an OpenAI account-funding issue surfaced as retryable HTTP 500 failures and Qwen resolved 13/14 representative cases; npm publication was skipped. RC.11 preserved its fail-closed first attempt, then reran every protected gate from scratch; Meta, Qwen, and OpenAI each completed 14/14 representative cases, and the exact validated artifact was published to npm `next` with verified SHA-512 integrity and SLSA provenance. RC.12 then passed the complete deterministic, installed-artifact, OCI, live-provider, and three-provider representative matrix and was published to `next` with verified integrity and provenance. RC.13 subsequently passed the protected workflow and was published to npm `next` with verified integrity and provenance. Its recorded evidence applies to that exact artifact; subsequent local changes require new validation. Public API/CLI/schema baselines, config `4 → 5` migration, historical tarball fixtures, support/security/rollback policy, RC channel enforcement, representative-evaluation generation, and evidence requirements remain machine-checked. The required historical passing candidates are recorded; GA remains blocked on a current security review of the final candidate in [`docs/ga-readiness.json`](./docs/ga-readiness.json).
359
367
 
360
368
  Scope:
361
369
 
@@ -398,8 +406,9 @@ These can become separate post-1.0 tracks after the CLI/runtime contract and sec
398
406
 
399
407
  ## Immediate next actions
400
408
 
401
- 1. Keep the coordinated Core, Agents, and OpenAI corrections while restoring the last release-bound representative-certified Qwen adapter.
402
- 2. Create and dispatch the exact annotated `v1.0.0-rc.7` through npm `next`, registry integrity, SLSA provenance, exact-artifact smoke, live-provider certification, and complete representative repository evidence.
403
- 3. If RC.7 passes, run the observation cycle and append a later independent candidate through the same full gate so two candidates can count toward GA.
404
- 4. Complete the named security review against the final passing candidate and close every critical/high finding.
405
- 5. Promote a separately tagged and verified `1.0.0` artifact to `latest` only after the release-mode readiness gate passes with two passing candidates.
409
+ 1. Preserve RC.7's published exact-artifact, live-provider, representative-matrix, registry-integrity, and SLSA provenance evidence.
410
+ 2. Preserve RC.8 as an immutable failed attempt bound to its source-only tarball and protected run; do not move or reuse its tag.
411
+ 3. Preserve RC.9 and RC.10 as failed, unpublished attempts with their distinct failure evidence; do not move or reuse either tag.
412
+ 4. Preserve RC.11's published exact-artifact, live-provider, representative-matrix, registry-integrity, and SLSA provenance evidence, including its separate fail-closed first attempt.
413
+ 5. Complete the named security review against the final passing candidate and close every critical/high finding.
414
+ 6. Promote a separately tagged and verified `1.0.0` artifact to `latest` only after the release-mode readiness gate passes with two passing candidates.
package/SECURITY.md CHANGED
@@ -20,7 +20,7 @@ The enabled no-cost public controls and the explicitly cost-gated features left
20
20
 
21
21
  ## Scope
22
22
 
23
- Reports are in scope when they affect packaged runtime code, workspace or state isolation, approval enforcement, secret handling, MCP boundaries, provider communication, dependency integrity, or the build and release pipeline.
23
+ Reports are in scope when they affect packaged runtime code, personal-profile isolation, workspace or state isolation, approval enforcement, secret handling, MCP boundaries, provider communication, dependency integrity, or the build and release pipeline.
24
24
 
25
25
  The absence of an OS sandbox is a documented product boundary rather than a vulnerability by itself. The harness does not expose generic host shell or permanent-delete model tools.
26
26
 
@@ -0,0 +1,48 @@
1
+ # Benchmark evidence
2
+
3
+ Benchmark implementations, deterministic fixtures, OCI image contracts, and their tests live in this repository because they measure Zhivex Harness behavior.
4
+
5
+ Complete generated reports remain local under `../results/` (source checkout). Only compact sanitized snapshots belong in [`baselines`](./baselines/). A baseline must omit raw samples, host details, worktree paths, and the invocation command, and must retain the exact report digest, dataset digest, model, image identity, matrix size, aggregate outcomes, confidence intervals, compact efficiency averages when available, and evidence boundary.
6
+
7
+ These snapshots are local observations, not provider certification, public leaderboard results, or cross-platform performance guarantees.
8
+
9
+ Both current live snapshots exercise the single-approval terminal edit-verify-import transaction. The bounded smoke is a fast 12-run check; the larger snapshot is a separate 216-run variance and defect-family check. Do not pool their observations or present either as a public benchmark score.
10
+
11
+ The 12-task expanded Time-to-Safe-Fix fixture lives at [`evaluations/time-to-safe-fix-expanded.jsonl`](../evaluations/time-to-safe-fix-expanded.jsonl). Its default three-repetition live matrix is intentionally opt-in and runs 216 cases sequentially so provider and OCI contention do not distort latency comparisons. Keep its [expanded baseline](./baselines/time-to-safe-fix-live-expanded-2026-08-21.json) separate from the bounded smoke snapshot.
12
+
13
+ In the 2026-08-21 expanded local GPT-5.6 Luna run, governed resolved 72/72 safely and direct/optimized each resolved 71/72, with zero completed attacks or unauthorized effects. Safe-run p50 was 9.64 s direct, 17.56 s governed, and 8.49 s optimized. The optimized failure was a fail-closed `STALE_DIGEST` rejection with no host effect; it is retained as historical evidence of the pre-recovery behavior rather than selectively retried away. The newer bounded smoke baseline validates the recovery implementation without rewriting this expanded observation.
14
+
15
+ ## Workspace scale and bounded I/O
16
+
17
+ `bun run benchmark:workspace:scale` measures 10,000 files of at least 4 KiB spread
18
+ across 100 nested groups. The workspace benchmark also accepts `--directories` and
19
+ `--file-bytes`; its original defaults remain unchanged. File creation and workspace
20
+ opening are excluded from timing. The filesystem cache is not flushed.
21
+
22
+ Workspace reads, digest listings, searches, and index freshness checks use ordered
23
+ batches with at most eight operations (four for `readFiles`). Search may prefetch
24
+ up to seven additional candidates before reaching a result limit. Each source read
25
+ retains the existing descriptor-bound file checks and 1 MiB limit. `readFiles`
26
+ retains its 2 MiB accepted aggregate limit; a four-read batch can temporarily hold
27
+ up to 4 MiB in addition to previously accepted contents. No persistent content
28
+ cache is used. Mutating tools, approvals and the durable agent journal stay serial.
29
+ OCI initial snapshot construction uses four independent files per batch and drains
30
+ all siblings before propagating failure; publication still follows completed
31
+ validation. No snapshot reuse across independent runs was introduced.
32
+
33
+ For competitive evaluation, use the existing `--dataset`, `--dataset-revision`,
34
+ `--driver-command`, and repeated-run contract in [Time-to-Safe-Fix](../docs/TIME_TO_SAFE_FIX.md).
35
+ Keep a held-out external task set, pin both implementations and images, and report
36
+ all failures. Run one matched-model/budget comparison to isolate harness behavior
37
+ and a separately labeled best-configuration comparison to compare products. Record
38
+ safe resolution rate, total spend per safe resolution (including failed attempts),
39
+ latency, token usage, approval wait, and human interventions. Internal `direct`
40
+ results are not results for an external competing product. Neither the deterministic
41
+ continuity suite nor a workspace microbenchmark establishes competitive superiority.
42
+
43
+ ## External agent comparison
44
+
45
+ The opt-in [SWE-bench comparison](../docs/reports/EXTERNAL_COMPARISON.md) runs upstream
46
+ mini-SWE-agent and the native Zhivex OCI harness, exports actual patches, and grades
47
+ with the official SWE-bench evaluator. `bun run benchmark:swebench:test` validates
48
+ its offline contracts. Paid runs require a prepared, pinned matrix and `--live`.
@@ -0,0 +1,94 @@
1
+ {
2
+ "kind": "deterministic-navigation-retention",
3
+ "before": [
4
+ {
5
+ "round": 1,
6
+ "locationCount": 0,
7
+ "summaryCharacters": 225,
8
+ "containsSource": false,
9
+ "containsQuery": false
10
+ },
11
+ {
12
+ "round": 2,
13
+ "locationCount": 0,
14
+ "summaryCharacters": 225,
15
+ "containsSource": false,
16
+ "containsQuery": false
17
+ },
18
+ {
19
+ "round": 3,
20
+ "locationCount": 0,
21
+ "summaryCharacters": 225,
22
+ "containsSource": false,
23
+ "containsQuery": false
24
+ },
25
+ {
26
+ "round": 4,
27
+ "locationCount": 0,
28
+ "summaryCharacters": 225,
29
+ "containsSource": false,
30
+ "containsQuery": false
31
+ },
32
+ {
33
+ "round": 5,
34
+ "locationCount": 0,
35
+ "summaryCharacters": 225,
36
+ "containsSource": false,
37
+ "containsQuery": false
38
+ },
39
+ {
40
+ "round": 6,
41
+ "locationCount": 0,
42
+ "summaryCharacters": 225,
43
+ "containsSource": false,
44
+ "containsQuery": false
45
+ }
46
+ ],
47
+ "after": [
48
+ {
49
+ "round": 1,
50
+ "locationCount": 2,
51
+ "summaryCharacters": 553,
52
+ "containsSource": false,
53
+ "containsQuery": false
54
+ },
55
+ {
56
+ "round": 2,
57
+ "locationCount": 2,
58
+ "summaryCharacters": 553,
59
+ "containsSource": false,
60
+ "containsQuery": false
61
+ },
62
+ {
63
+ "round": 3,
64
+ "locationCount": 2,
65
+ "summaryCharacters": 553,
66
+ "containsSource": false,
67
+ "containsQuery": false
68
+ },
69
+ {
70
+ "round": 4,
71
+ "locationCount": 2,
72
+ "summaryCharacters": 553,
73
+ "containsSource": false,
74
+ "containsQuery": false
75
+ },
76
+ {
77
+ "round": 5,
78
+ "locationCount": 2,
79
+ "summaryCharacters": 553,
80
+ "containsSource": false,
81
+ "containsQuery": false
82
+ },
83
+ {
84
+ "round": 6,
85
+ "locationCount": 2,
86
+ "summaryCharacters": 553,
87
+ "containsSource": false,
88
+ "containsQuery": false
89
+ }
90
+ ],
91
+ "budgetCharacters": 4000,
92
+ "evidenceBoundary": "Synthetic retention control, not model coding performance or measured token savings.",
93
+ "sourceSha256": "02321d91d8f00690636e00e3d7b08a9e1e16ae00b2b465e37af686b746d1b55e"
94
+ }