@zhivex-ai/harness 1.0.0 → 1.1.0-rc.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 (181) hide show
  1. package/CHANGELOG.md +97 -1
  2. package/README.md +52 -306
  3. package/SECURITY.md +1 -1
  4. package/SUPPORT.md +7 -3
  5. package/benchmarks/README.md +3 -3
  6. package/contracts/client-protocol-v1.schema.json +341 -0
  7. package/contracts/public-api.json +100 -1
  8. package/contracts/stable-api-signatures.json +14 -14
  9. package/dist/approval-diff.d.ts +45 -0
  10. package/dist/approval-history.d.ts +38 -0
  11. package/dist/approval-preview.d.ts +26 -0
  12. package/dist/cli-credentials.d.ts +38 -0
  13. package/dist/cli-help.d.ts +3 -0
  14. package/dist/cli-options.d.ts +1 -1
  15. package/dist/cli-stream.d.ts +3 -3
  16. package/dist/cli.d.ts +15 -69
  17. package/dist/cli.js +13796 -10032
  18. package/dist/client-contract.d.ts +208 -0
  19. package/dist/console-commands.d.ts +6 -0
  20. package/dist/console-context.d.ts +5 -1
  21. package/dist/console-input.d.ts +44 -4
  22. package/dist/console-model-catalog.d.ts +25 -0
  23. package/dist/console-navigation.d.ts +27 -0
  24. package/dist/console-presentation.d.ts +18 -0
  25. package/dist/console-welcome.d.ts +13 -0
  26. package/dist/execution-environment.d.ts +4 -0
  27. package/dist/harness.d.ts +3 -0
  28. package/dist/hostile-repository-demo.js +1913 -798
  29. package/dist/index.d.ts +7 -0
  30. package/dist/index.js +7908 -6330
  31. package/dist/local-service.d.ts +34 -0
  32. package/dist/operations.d.ts +23 -1
  33. package/dist/orchestration.d.ts +3 -0
  34. package/dist/persistence-secrets.d.ts +2 -0
  35. package/dist/recorded-workspace.d.ts +4 -0
  36. package/dist/run-document.d.ts +91 -0
  37. package/dist/runtime-policy.d.ts +4 -4
  38. package/dist/service-cli.d.ts +2 -0
  39. package/dist/service-cli.js +10858 -0
  40. package/dist/service-client-cli.d.ts +2 -0
  41. package/dist/service-events.d.ts +50 -0
  42. package/dist/sessions.d.ts +3 -0
  43. package/dist/sqlite-access.d.ts +26 -0
  44. package/dist/sqlite-database.d.ts +2 -0
  45. package/dist/state-backup.d.ts +8 -0
  46. package/dist/task-memory.d.ts +2 -2
  47. package/dist/terminal-continuation.d.ts +3 -0
  48. package/dist/terminal-markdown.d.ts +1 -0
  49. package/dist/terminal-ui.d.ts +5 -0
  50. package/dist/usage-ledger.d.ts +84 -0
  51. package/dist/verify-historical-migrations.js +5699 -5191
  52. package/dist/workspace.d.ts +22 -0
  53. package/dist/zhx.js +13796 -10032
  54. package/docs/CLI.md +136 -30
  55. package/docs/CLIENT_PROTOCOL.md +212 -0
  56. package/docs/CREDENTIALS.md +59 -0
  57. package/docs/DURABLE_OPERATIONS.md +2 -2
  58. package/docs/FIRST_USE.md +82 -0
  59. package/docs/FIRST_USE_EXAMPLE.md +40 -0
  60. package/docs/HOSTILE_REPOSITORY_DEMO.md +1 -1
  61. package/docs/LOCAL_SERVICE.md +142 -0
  62. package/docs/README.md +24 -23
  63. package/docs/THREAT_MODEL.md +1 -1
  64. package/docs/TIME_TO_SAFE_FIX.md +2 -2
  65. package/docs/USAGE.md +181 -0
  66. package/evaluations/daily-cli-cohort.json +33 -0
  67. package/evaluations/representative-assembly-matrix.json +19 -1
  68. package/examples/README.md +26 -0
  69. package/examples/first-use/greeting.test.ts +3 -0
  70. package/examples/first-use/greeting.ts +1 -0
  71. package/examples/first-use/package.json +7 -0
  72. package/package.json +34 -9
  73. package/ROADMAP.md +0 -414
  74. package/benchmarks/baselines/context-navigation-2026-09-09.json +0 -94
  75. package/benchmarks/baselines/efficiency-2026-09-08.json +0 -233
  76. package/benchmarks/baselines/external-final-2026-09-08.json +0 -588
  77. package/benchmarks/baselines/external-intermediate-2026-09-08.json +0 -116
  78. package/benchmarks/baselines/external-matched-openai-2026-09-08.json +0 -1922
  79. package/benchmarks/baselines/external-matched-qwen-2026-09-08.json +0 -1706
  80. package/benchmarks/baselines/external-pilot-2026-09-08.json +0 -439
  81. package/benchmarks/baselines/external-qwen-flash-2026-09-08.json +0 -1570
  82. package/benchmarks/baselines/external-qwen-remediation-2026-09-09.json +0 -1509
  83. package/benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json +0 -2509
  84. package/benchmarks/baselines/external-sdk-upgrade-2026-09-08.json +0 -564
  85. package/benchmarks/baselines/external-verifier-recovery-2026-09-09.json +0 -794
  86. package/benchmarks/baselines/full-harness-review-2026-09-10.json +0 -134
  87. package/benchmarks/baselines/harness-audit-2026-09-09.json +0 -136
  88. package/benchmarks/baselines/harness-remediation-2026-09-09.json +0 -160
  89. package/benchmarks/baselines/oci-remediation-2026-09-10.json +0 -535
  90. package/benchmarks/baselines/rc14-holdout-2026-09-10.json +0 -854
  91. package/benchmarks/baselines/repair-architecture-audit-2026-09-09.json +0 -75
  92. package/benchmarks/baselines/time-to-safe-fix-live-expanded-2026-08-21.json +0 -186
  93. package/benchmarks/baselines/time-to-safe-fix-live-smoke-2026-08-21.json +0 -186
  94. package/docs/GA_READINESS.md +0 -29
  95. package/docs/GEMINI_1_0_DECISION.md +0 -9
  96. package/docs/LIVE_CERTIFICATION.md +0 -107
  97. package/docs/RC13_SECURITY_REVIEW.md +0 -28
  98. package/docs/RC14_DELEGATED_SECURITY_DECISION.md +0 -80
  99. package/docs/RC14_SECURITY_REVIEW.md +0 -40
  100. package/docs/RELEASE.md +0 -96
  101. package/docs/ROLLBACK.md +0 -9
  102. package/docs/SECURITY_REVIEW_EVIDENCE.md +0 -17
  103. package/docs/ga-readiness.json +0 -366
  104. package/docs/reports/EFFICIENCY_REVIEW.md +0 -156
  105. package/docs/reports/EXTERNAL_COMPARISON.md +0 -434
  106. package/docs/reports/FULL_HARNESS_REVIEW_2026-09-10.md +0 -200
  107. package/docs/reports/GA_BUDGET_REMEDIATION_2026-09-19.md +0 -38
  108. package/docs/reports/GA_REPAIR_RECOVERY_2026-09-19.md +0 -700
  109. package/docs/reports/GA_VALIDATION_2026-09-19.md +0 -111
  110. package/docs/reports/HARNESS_ARCHITECTURE_REVIEW_2026-09-09.md +0 -202
  111. package/docs/reports/HARNESS_AUDIT_2026-09-09.md +0 -306
  112. package/docs/reports/HARNESS_REMEDIATION_2026-09-09.md +0 -74
  113. package/docs/reports/HARNESS_REMEDIATION_2026-09-10.md +0 -90
  114. package/docs/reports/MODEL_COMPARISON_2026-09-09.md +0 -184
  115. package/docs/reports/QWEN_REMEDIATION_COMPARISON_2026-09-09.md +0 -142
  116. package/docs/reports/RC14_VALIDATION_2026-09-10.md +0 -45
  117. package/docs/reports/README.md +0 -26
  118. package/docs/reports/evidence/ga-budget-remediation-2026-09-19.json +0 -133
  119. package/docs/reports/evidence/ga-catalog-ablation-2026-09-19.json +0 -699
  120. package/docs/reports/evidence/ga-catalog-ablation-plan-2026-09-19.json +0 -40
  121. package/docs/reports/evidence/ga-catalog-observed-2026-09-19.json +0 -985
  122. package/docs/reports/evidence/ga-catalog-observed-plan-2026-09-19.json +0 -28
  123. package/docs/reports/evidence/ga-catalog-observed-status-2026-09-19.json +0 -15
  124. package/docs/reports/evidence/ga-complete-local-check-2026-09-19.json +0 -47
  125. package/docs/reports/evidence/ga-completion-reminder-2026-09-19.json +0 -22
  126. package/docs/reports/evidence/ga-fresh-cohort-plan-2026-09-19.json +0 -54
  127. package/docs/reports/evidence/ga-fresh-cohort-preparation-2026-09-19.json +0 -242
  128. package/docs/reports/evidence/ga-fresh-cohort-result-2026-09-19.json +0 -4318
  129. package/docs/reports/evidence/ga-local-validation-followup-2026-09-19.json +0 -66
  130. package/docs/reports/evidence/ga-node-consumers-2026-09-19.json +0 -31
  131. package/docs/reports/evidence/ga-package-content-validation-2026-09-19.json +0 -22
  132. package/docs/reports/evidence/ga-plan-completion-2026-09-19.json +0 -39
  133. package/docs/reports/evidence/ga-plan-reserve-2026-09-19.json +0 -573
  134. package/docs/reports/evidence/ga-plan-reserve-plan-2026-09-19.json +0 -24
  135. package/docs/reports/evidence/ga-plan-transition-2026-09-19.json +0 -19
  136. package/docs/reports/evidence/ga-private-verifier-plan-2026-09-19.json +0 -24
  137. package/docs/reports/evidence/ga-private-verifier-root-cause-2026-09-19.json +0 -41
  138. package/docs/reports/evidence/ga-published-sdk-2026-09-19.json +0 -35
  139. package/docs/reports/evidence/ga-python-checkout-imports-2026-09-19.json +0 -95
  140. package/docs/reports/evidence/ga-python-origin-delivery-2026-09-19.json +0 -211
  141. package/docs/reports/evidence/ga-python-origin-delivery-plan-2026-09-19.json +0 -27
  142. package/docs/reports/evidence/ga-qwen-patched-package-2026-09-19.json +0 -1092
  143. package/docs/reports/evidence/ga-qwen-patched-package-plan-2026-09-19.json +0 -18
  144. package/docs/reports/evidence/ga-qwen-published-2026-09-19.json +0 -571
  145. package/docs/reports/evidence/ga-qwen-published-plan-2026-09-19.json +0 -18
  146. package/docs/reports/evidence/ga-qwen-tool-choice-2026-09-19.json +0 -85
  147. package/docs/reports/evidence/ga-qwen-tool-choice-patched-2026-09-19.json +0 -85
  148. package/docs/reports/evidence/ga-recovery-development-2026-09-19.json +0 -1066
  149. package/docs/reports/evidence/ga-recovery-graded-development-2026-09-19.json +0 -1313
  150. package/docs/reports/evidence/ga-recovery-graded-v2-2026-09-19.json +0 -1151
  151. package/docs/reports/evidence/ga-recovery-v3-2026-09-19.json +0 -3943
  152. package/docs/reports/evidence/ga-recovery-v4-2026-09-19.json +0 -1055
  153. package/docs/reports/evidence/ga-recovery-v5-2026-09-19.json +0 -1245
  154. package/docs/reports/evidence/ga-recovery-v6-2026-09-19.json +0 -699
  155. package/docs/reports/evidence/ga-recovery-v7-2026-09-19.json +0 -854
  156. package/docs/reports/evidence/ga-recovery-v8-2026-09-19.json +0 -596
  157. package/docs/reports/evidence/ga-required-delivery-2026-09-19.json +0 -25
  158. package/docs/reports/evidence/ga-required-delivery-live-2026-09-19.json +0 -1337
  159. package/docs/reports/evidence/ga-required-delivery-live-plan-2026-09-19.json +0 -25
  160. package/docs/reports/evidence/ga-retained-candidate-grading-2026-09-19.json +0 -30
  161. package/docs/reports/evidence/ga-tool-selection-live-2026-09-19.json +0 -559
  162. package/docs/reports/evidence/ga-tool-selection-live-plan-2026-09-19.json +0 -28
  163. package/docs/reports/evidence/ga-tool-selection-recovery-2026-09-19.json +0 -27
  164. package/docs/reports/evidence/ga-validation-2026-09-19.json +0 -236
  165. package/docs/reports/evidence/ga-verifier-discovery-live-2026-09-19.json +0 -1369
  166. package/docs/reports/evidence/ga-verifier-discovery-plan-2026-09-19.json +0 -29
  167. package/docs/reports/evidence/ga-verifier-failure-identification-2026-09-19.json +0 -30
  168. package/docs/reports/evidence/ga-verifier-feedback-2026-09-19.json +0 -65
  169. package/docs/reports/evidence/ga-verifier-hints-live-2026-09-19.json +0 -1297
  170. package/docs/reports/evidence/ga-verifier-hints-plan-2026-09-19.json +0 -27
  171. package/docs/reports/evidence/ga-work-boundary-context-analysis-2026-09-19.json +0 -113
  172. package/docs/reports/evidence/ga-work-boundary-live-2026-09-19.json +0 -301
  173. package/docs/reports/evidence/ga-work-boundary-live-plan-2026-09-19.json +0 -84
  174. package/docs/reports/evidence/ga-work-budget-planning-2026-09-19.json +0 -32
  175. package/docs/reports/evidence/ga-working-context-2026-09-19.json +0 -22
  176. package/docs/reports/evidence/rc14-delegated-security-review-2026-09-20.json +0 -81
  177. package/docs/reports/evidence/rc14-ga-gate-2026-09-20.json +0 -18
  178. package/docs/reports/evidence/rc14-representative-2026-09-20.json +0 -509
  179. package/docs/reports/evidence/rc14-security-regressions-2026-09-20.json +0 -64
  180. package/docs/reports/evidence/security-current-2026-09-19.json +0 -91
  181. package/docs/reports/evidence/security-remediation-2026-09-19.json +0 -97
@@ -1,80 +0,0 @@
1
- # RC14 delegated security decision
2
-
3
- ## Authorization and attribution
4
-
5
- On 2026-09-20, after the independent-human-review requirement and the pending
6
- RC14 dossier had been explained, the requesting user instructed:
7
- “Haz la revision humana, confiamos en tu criterio”. This explicitly delegates
8
- the technical security judgment to Codex. It does not make Codex a human.
9
-
10
- For this exact RC14 promotion decision, the project records an explicit exception
11
- to the independent human authorship requirement: the review is performed by
12
- Codex, an AI assistant acting under that delegation. No human signature,
13
- independent human audit, OpenAI organizational certification or external auditor
14
- accreditation is asserted. This exception does not apply automatically to a new
15
- candidate or future releases. The user has delegated judgment, not personally
16
- attested to inspection of each source file or test.
17
-
18
- The machine-readable review identifies Codex explicitly. Its HTTPS identity
19
- identifies the Codex service, not a human reviewer. This policy decision is
20
- reviewable in the same PR as the evidence. No evidence-validator code, severity
21
- threshold, coverage inventory, provenance check or runtime approval is relaxed.
22
-
23
- ## Object and method
24
-
25
- - Candidate: `v1.0.0-rc.14`, commit `d1c5abcc6d1fa482c211c4327c86f592663d559b`.
26
- - Exact artifact identity and observation time: `../security-reviews/rc14-review.json` in the source checkout.
27
- - Verification record: [delegated review evidence](reports/evidence/rc14-delegated-security-review-2026-09-20.json).
28
- - Scope: 10 controls, 11 trust boundaries and 31 authority-bearing tool classes.
29
-
30
- This review continues the directed source assessment recorded on 2026-09-19,
31
- assesses the subsequent security and repair-controller changes, and binds the
32
- decision to the final published candidate. Changes after that candidate are
33
- documentation and evaluation evidence; runtime and dependency files are
34
- unchanged. Historical review findings are preserved rather than erased.
35
-
36
- The final assessment includes approval payload visibility and replay binding,
37
- descriptor-bound repository reads, mutation concurrency, complete OCI scope
38
- identity and import, scoped durable state, task memory, MCP authority, delegation,
39
- subprocess isolation, budget failure accounting, bounded repair recovery,
40
- personal profiles and publication identity. It is not an exhaustive audit of
41
- all transitive dependency source or a proof that unknown vulnerabilities are absent.
42
-
43
- Fresh validation passed the five adversarial checks (four original findings plus
44
- the stale-digest control) and 137 security/regression tests across ten files,
45
- with 659 assertions. Published bytes, the `next` tag and SLSA source/workflow
46
- binding were reverified. The unchanged review validator also checks the exact
47
- candidate's CI, CodeQL, dependency audit, OCI and protected release workflows.
48
-
49
- ## Findings and judgment
50
-
51
- The four known findings are resolved by the changes merged in PR #77 and present
52
- in the published candidate: `sec-04` (high, cross-scope OCI artifacts), `sec-01`
53
- (medium, concurrent writes), `sec-02` (medium, replacement visibility), and
54
- `sec-03` (low, incomplete authority inventory). Lowercase IDs in the final JSON
55
- are the schema-compatible spellings of the historical uppercase IDs.
56
-
57
- There are no identified open critical or high findings in this directed review.
58
- The security decision is **passed under the explicit delegated-AI exception**,
59
- within the documented threat model. This is not a statement that risk is zero.
60
-
61
- Residual risks remain material: the host account/kernel/daemon and configured
62
- service identities are trusted; approved services receive their inputs; pattern
63
- redaction is incomplete; cooperative locks do not govern external writers or
64
- provide power-loss atomicity for all files; approved host execution can run
65
- repository code; a model-authored verifier may be inadequate. Simple
66
- `apply_environment_patch` imports do not themselves execute a verifier. The
67
- operator must assess the granted authority and verifier coverage.
68
-
69
- The separate fresh SWE-bench cohort remains Harness 0/5 versus control 1/5.
70
- The protected representative matrix passed 42/42 on RC14, but that does not
71
- establish broad coding accuracy or reverse the exploratory result. This
72
- decision addresses the security gate only.
73
-
74
- ## Remaining promotion work
75
-
76
- The security ledger may reference this completed review with the exception
77
- visible in the readiness documentation. GA still requires the exact `1.0.0`
78
- version, readiness phase, release checks and protected stable publication,
79
- followed by verification of its own artifact. No tag, dist-tag or package is
80
- published by this review.
@@ -1,40 +0,0 @@
1
- # RC.14 security review dossier
2
-
3
- Current decision: the [delegated AI review](RC14_DELEGATED_SECURITY_DECISION.md) is complete, with no identified open critical/high findings. Its machine-readable result is `../security-reviews/rc14-review.json` in the source checkout. This is an explicitly authorized exception to human authorship, not a human signature. The original preparation instructions and pending draft below are retained as history.
4
-
5
- ## Historical preparation instructions
6
-
7
- This dossier prepares the independent human review required by HAR-HU-03. It is not a completed security review and does not authorize GA. The machine-prepared `../security-reviews/rc14-review-draft.json` (source checkout) deliberately fails the passing-review schema: reviewer, date, coverage decisions, and findings must be supplied or confirmed by the human reviewer. Copied control-map text is a review starting point, not evidence that the reviewer assessed it. The draft includes all four known findings with their technically verified remediation; the reviewer must confirm dispositions, supply owners, and add any further findings. Their presence does not establish a completed human review.
8
-
9
- The draft now includes machine-prepared source and regression references for all 10 controls, 11 trust boundaries and 31 authority-bearing tools. Technical notes incorporate the published RC14 remediation evidence; they do not carry forward the original pre-remediation findings as current defects. Residual-risk statements are proposed review inputs, not accepted risks. Every coverage decision remains pending, and reviewer identity, timestamp and finding owners remain unset. Source paths refer to the exact candidate commit below; the original automated review remains historical evidence.
10
-
11
- ## Exact candidate
12
-
13
- - Tag: `v1.0.0-rc.14`
14
- - Commit: `d1c5abcc6d1fa482c211c4327c86f592663d559b`
15
- - npm: `@zhivex-ai/harness@1.0.0-rc.14` on `next`
16
- - SHA-512: `sha512-UMu4JFUNs/kOTJETZSJMMvVYlo+a4MKG6PoSvE313QxMEqK1z420AXVgPOGJ8jj2jp6mQud/Rvc7+ixKyH/4og==`
17
- - [Protected release, audit, OCI, and 42 representative cases](https://github.com/Zhivex/zhivex-harness/actions/runs/35510484383)
18
- - [CI at the candidate commit](https://github.com/Zhivex/zhivex-harness/actions/runs/35510241338)
19
- - [CodeQL at the candidate commit](https://github.com/Zhivex/zhivex-harness/actions/runs/35510241346)
20
- - [Registry attestation](https://registry.npmjs.org/-/npm/v1/attestations/@zhivex-ai%2fharness@1.0.0-rc.14)
21
-
22
- The release completed successfully. Meta, Qwen, and OpenAI each passed the complete 14-case inventory. Independent verification matched the published bytes, dist-tag, SLSA source/workflow binding, and exact artifact content; the protected workflow also installed and exercised the same tarball. This evidence does not replace human assessment of residual risk.
23
-
24
- ## Reviewer work
25
-
26
- 1. Inspect the exact tag and published artifact; verify its hash and provenance. Review [the threat model](THREAT_MODEL.md), [control map](../contracts/security-controls.json), and [schema requirements](SECURITY_REVIEW_EVIDENCE.md).
27
- 2. Review all controls, trust boundaries, and authority-bearing tools enumerated in the draft. For every entry record the mitigation actually reviewed, regression evidence, and residual risk. Check approval replay/substitution, hostile repository instructions, protected files and symlinks, SQLite scope/concurrency, subprocess/OCI boundaries, MCP, delegation, credentials, and supply-chain identity.
28
- 3. Review the RC.14 changes: cross-process mutation locks; full replacement review; complete OCI scope identity; required verified delivery; bounded tool selection, planning and verifier recovery; durable usage and closure reserves; terminal provider usage/tool-call fixes; task memory and candidate export scope. Inspect implementations and regression evidence, including [the tagged security regressions](reports/evidence/rc14-security-regressions-2026-09-20.json), rather than relying solely on green CI.
29
- 4. Record all findings, including resolved ones. Non-informational findings require owner, disposition, rationale, and HTTPS follow-up. Critical/high findings must be mitigated and resolved, not merely accepted. If a fix changes runtime code, create and certify a new immutable candidate before final review.
30
- 5. Supply your name, HTTPS identity, and actual UTC review timestamp. Only mark reviewed coverage and the document `passed` after completing the review. Save the completed JSON as `security-reviews/rc14-review.json` and submit it for validation. Do not invent a passing status to satisfy the schema.
31
-
32
- ## Mechanical promotion after review
33
-
34
- Validate the completed JSON against `scripts/security-review-evidence.ts`, update the ledger from its actual timestamp and finding counts, and close the security blocker through reviewed evidence. Then prepare exact `1.0.0` version/lockfile/changelog changes, set readiness to `ready`, and run `bun run readiness:1.0:release` plus the complete release checks. Merge the promotion changes before creating the annotated `v1.0.0` tag and dispatching the protected release to `latest`. Verify npm integrity, provenance, installation, and rollback references afterward. The reviewer is not required to publish or approve npm deployment.
35
-
36
- ## Evaluation limits
37
-
38
- The protected representative matrix passed 42/42 cases on this exact artifact. The separate fresh SWE-bench exploratory cohort remains 0/5 for Harness versus 1/5 for control, and its subsequent known-case development rerun remained unresolved. Those failures are preserved in [the recovery report](reports/GA_REPAIR_RECOVERY_2026-09-19.md); representative certification does not replace them or establish broad coding-agent accuracy.
39
-
40
- The post-publication [GA gate result](reports/evidence/rc14-ga-gate-2026-09-20.json) retains five explicit failures: package version, readiness phase, open security blocker, missing passing review and missing review evidence path. Published RC and representative verification produced no additional failures. That gate record is historical. The completed delegated review closes the security-specific failures; package version, readiness phase and stable publication remain separate promotion work.
package/docs/RELEASE.md DELETED
@@ -1,96 +0,0 @@
1
- # Release process
2
-
3
- Version `1.0.0` is the current local source release candidate; stable publication is pending. `@zhivex-ai/harness@0.11.1` remains the latest public stable release. The mutable repository [release-status.json](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json) tracks the current candidate and is intentionally excluded from immutable npm artifacts. Its candidate source commit records the preparation baseline until an exact release commit is finalized. Publication is never performed from a development checkout. The confirmation-gated `.github/workflows/release.yml` workflow builds, inspects, certifies, transfers and publishes one exact tag-bound tarball through npm Trusted Publishing/OIDC. Creating a tag alone does not publish anything.
4
-
5
- ## Deterministic gates
6
-
7
- From a clean checkout on `main`:
8
-
9
- ```bash
10
- bun install --frozen-lockfile --ignore-scripts
11
- bun run release:check
12
- git diff --check
13
- git status --short
14
- ```
15
-
16
- `bun run release:check` performs documentation validation, typechecking, deterministic tests, the golden evaluation gate, the required real-OCI boundary gate, a dependency-externalized build, package-content validation, clean tarball installation, direct binary execution, public import, SDK execution-environment import, SQLite restart/resume, redacted inspection, exactly-once side-effect verification, dependency audit, untrusted lifecycle-script inspection, dry-run packing, and release metadata validation.
17
-
18
- CI repeats the deterministic and installed-package gates on Linux and macOS. Build output is ignored and must not create tracked changes.
19
-
20
- ## Live gate
21
-
22
- Provider behavior is certified separately because it is credential-, account-, model-, endpoint-, and date-dependent:
23
-
24
- ```bash
25
- ZHIVEX_HARNESS_LIVE=1 bun run scripts/live-provider-smoke.ts
26
- ZHIVEX_HARNESS_LIVE=1 bun run smoke:live:orchestration
27
- ZHIVEX_HARNESS_LIVE=1 bun run smoke:live:routing
28
- ZHIVEX_HARNESS_LIVE=1 bun run smoke:live:execution
29
- ZHIVEX_HARNESS_OCI_REQUIRED=1 bun run smoke:oci
30
- ```
31
-
32
- The base reviewed-edit gate and the separate delegation gate must pass for every provider in the supported release matrix. The release workflow additionally requires the mixed-provider route, model-directed execution, and representative repository gates against the exact annotated tag before the npm job can start; deterministic OCI enforcement remains a separate prerequisite. Gemini is explicitly provisional and excluded from the 1.0 cohort under [GEMINI_1_0_DECISION.md](./GEMINI_1_0_DECISION.md). Integrated provisional providers must not be described as certified. `bun run check` also runs controlled Streamable HTTP MCP interoperability gates; each external implementation claim remains bounded to the tested server/version. See [LIVE_CERTIFICATION.md](./LIVE_CERTIFICATION.md).
33
-
34
- ## Exact artifact gate
35
-
36
- The release workflow performs this sequence across an unprivileged validation job and a protected publication job:
37
-
38
- 1. check out an existing annotated `v<package-version>` tag with complete history;
39
- 2. prove that the tag resolves to `main`, the worktree is clean, and the version is absent from npm;
40
- 3. run the complete release gate with Bun-managed contributor tooling and the supported Node runtime;
41
- 4. create one tarball with `bun pm pack --ignore-scripts`;
42
- 5. allow only the documented package roots, verify the packed manifest, and write `SHA512SUMS`;
43
- 6. install that same tarball in an isolated consumer and execute its CLI and public API;
44
- 7. run the protected base, orchestration, routing, and model-directed OCI live gates from the same annotated tag and source commit;
45
- 8. run the 14-case governed representative repository matrix for Meta, Qwen, and OpenAI against the same artifact binding and one digest-pinned OCI image; reject missing/selective/unsafe runs and upload only the strict sanitized evidence document;
46
- 9. transfer only the tarball and `SHA512SUMS` into the `npm` environment, then revalidate the checksum and artifact contract;
47
- 10. pass that same file to the npm CLI for the registry transaction; and
48
- 11. retry within one absolute five-minute deadline through registry and attestation propagation, capping every request and sleep by the remaining time, then verify the distribution tag, byte-identical SHA-512 integrity, and SLSA subject/repository/workflow/ref/commit evidence. The ref must be `main` or the exact `v<package-version>` tag; arbitrary branches and tags fail closed.
49
-
50
- For a local artifact rehearsal after the source gate:
51
-
52
- ```bash
53
- mkdir -p release-artifacts
54
- HARNESS_VERSION="$(node -p 'require("./package.json").version')"
55
- HARNESS_ARTIFACT="release-artifacts/zhivex-ai-harness-${HARNESS_VERSION}.tgz"
56
- bun pm pack --filename "$HARNESS_ARTIFACT" --ignore-scripts
57
- bun run artifact:check -- "$HARNESS_ARTIFACT"
58
- bun run smoke:artifact -- "$HARNESS_ARTIFACT"
59
- ```
60
-
61
- The manual tag-bound live-certification workflow runs `bun run build` immediately before packing. This is required because its readiness preflight validates source and release identity but does not create `dist/`; a source-only tarball is not valid release evidence.
62
-
63
- `release-artifacts/`, `.npmrc`, `.env`, source tests, Git metadata, and local run state are excluded from the package.
64
-
65
- ## External prerequisites
66
-
67
- Before a release dispatch, reverify repository/package visibility compatibility, protected-environment reviewers, package ownership with 2FA, and that the Trusted Publisher identity matches the repository workflow. Do not rely on a previous release's state.
68
-
69
- The release workflow intentionally supplies no long-lived registry token. Do not introduce one as a fallback; a failed OIDC assertion is a stop condition to diagnose.
70
-
71
- Trusted Publishing currently requires npm CLI `11.5.1` or newer and Node `22.14.0` or newer. The workflow follows npm's current Node 24 guidance and uses npm only for the OIDC/provenance-aware registry transaction. Dependency management, tests, and packing use Bun as contributor tooling; the built CLI, public library, SQLite reopen, and installed artifact execute under Node.
72
-
73
- ## Tag and dispatch
74
-
75
- After review and merge, maintainers create an annotated `v<package.json version>` tag from the exact release commit and dispatch the protected workflow with that tag plus an explicit publication confirmation. The workflow YAML contains no release-version default: `package.json` is the source of version truth, and the required tag input is validated against it before publication. The canonical dispatch is bound to `main`; recovery is limited to the exact annotated version tag after proving it resolves to the expected commit and remains reachable from `origin/main`.
76
-
77
- The confirmation is intentional because registry versions are immutable, and the protected environment adds a second human approval boundary. Do not use a local registry session or manual upload as an alternate path.
78
-
79
- Release candidates use versions and annotated tags such as `1.0.0-rc.1` / `v1.0.0-rc.1` and must publish to `next`. Stable versions must publish to `latest`; the readiness gate rejects either channel mismatch before registry mutation. The representative assembly matrix explicitly authorizes RC.1 through RC.14 and the final `v1.0.0` tag and pins the Meta, Qwen, and OpenAI model for each, so both candidate and stable publication execute the exact unpacked tarball runtime rather than a checkout-only build. Failed immutable attempts remain in the readiness ledger but do not count toward GA. Before any `1.0.0` dispatch, `bun run readiness:1.0:release` must pass. That gate requires two complete passing RC records, current security and representative evaluation evidence, historical migration fixtures, and no open GA blocker. Every representative provider runs even after another fails; one final aggregate gate blocks publication. Every live/OCI phase, including image preload, also runs through its own fail-closed diagnostic wrapper before the aggregate decision. Failed jobs upload only bounded, strict-schema outcomes self-bound to the release tag, source commit, canonical tarball SHA-512, workflow run, and `github.run_attempt`; representative diagnostics additionally bind provider/model, driver commit, and OCI image digest. Cross-provider identity drift, a missing binding, or an incoherent passed/failed state is treated as unavailable evidence. Raw child stdout/stderr is not relayed, and raw prompts, provider output, error messages, response bodies, headers, credentials, run identifiers, and stacks remain excluded. See [GA_READINESS.md](./GA_READINESS.md), [ROLLBACK.md](./ROLLBACK.md), and [DEPRECATIONS.md](./DEPRECATIONS.md).
80
-
81
- If npm accepted the immutable version but the post-publication verifier failed during propagation, rerun only the failed `publish` job. It downloads the already validated artifact, skips `npm publish` only when the registry version has byte-identical integrity, and repeats the registry/provenance verification. Never rebuild, bump, or republish the same version to recover a post-publication false negative.
82
-
83
- ## Publication stop conditions
84
-
85
- Do not dispatch or approve publication when any of these is true:
86
-
87
- - the repository is not public, the tag is not annotated, the tagged commit is not on `main`, or the worktree used to create it was dirty;
88
- - deterministic, installed-artifact, required live-provider, representative-repository, or release-artifact evidence failed;
89
- - package scope ownership, 2FA, the intended `public` access level, or the protected environment is unclear;
90
- - the inspected package contents and the to-be-published artifact are not the same file;
91
- - the package version already exists in npm;
92
- - an npm token or `NODE_AUTH_TOKEN` has been reintroduced into the OIDC-only workflow;
93
- - Trusted Publishing is expected but its repository, workflow filename, environment, or allowed action disagrees with the workflow; or
94
- - version, changelog, tag, registry metadata, source commit, integrity, or provenance disagree.
95
-
96
- Current npm requirements should be revalidated against the official [Trusted Publishing guide](https://docs.npmjs.com/trusted-publishers/), [provenance guide](https://docs.npmjs.com/generating-provenance-statements/), and [Bun packaging documentation](https://bun.com/docs/pm/cli/publish) before any registry mutation.
package/docs/ROLLBACK.md DELETED
@@ -1,9 +0,0 @@
1
- # Release rollback and recovery
2
-
3
- Published npm versions and Git tags are immutable. Never delete or reuse a version/tag and never rebuild bytes under the same version. Preserve the failing artifact, checksum, provenance, workflow URL, provider evidence, and incident notes.
4
-
5
- For a defective prerelease, leave the version on the registry, deprecate it through an authorized protected operation, publish a forward-fix RC, and move `next` only after the replacement passes the full gate. For a defective stable release, prefer a forward-fix patch. Moving `latest` back is an emergency distribution-pointer change, not deletion or state rollback, and requires an explicit protected operator action plus verification of the exact prior artifact.
6
-
7
- Before running an older harness against existing state, inspect the migration notes and schema/fingerprint compatibility. Terminal history may remain readable while active or waiting approvals are not resumable. Complete or deny an old paused approval only with the exact artifact and policy context that created it. Never rewrite fingerprints to make an incompatible approval resume.
8
-
9
- Registry propagation failures are recovered by rerunning only the failed protected publish job when it proves the already-published bytes are identical. Do not introduce a long-lived npm token as a fallback for OIDC.
@@ -1,17 +0,0 @@
1
- # Security review evidence
2
-
3
- Harness 1.0 promotion normally requires one current, human-authored JSON review under `security-reviews/` bound to the final recorded release candidate. The reviewer must inspect the exact candidate, not a mutable branch or a different artifact.
4
-
5
- For RC14 only, the user explicitly delegated the assessment to Codex after the human-review requirement was explained. The [scoped decision record](RC14_DELEGATED_SECURITY_DECISION.md) permits the clearly attributed AI review for this candidate. It is not an independent human audit and does not change machine verification, coverage or severity requirements. Future candidates do not inherit this exception.
6
-
7
- The schema is implemented by `scripts/security-review-evidence.ts` and rejects unknown fields. A passing document records:
8
-
9
- - the exact `v1.0.0-rc.N` tag, 40-character source commit, and canonical npm SHA-512 integrity;
10
- - the reviewer's name and HTTPS identity plus a canonical UTC observation time;
11
- - successful CI, CodeQL, dependency-audit, release, provenance, and OCI evidence;
12
- - every finding, including resolved findings and open medium/low/informational observations; non-informational findings require an owner, mitigated/accepted disposition, rationale, and HTTPS follow-up; and
13
- - every declared security control, trust boundary, and authority-bearing tool with its reviewed mitigation, regression evidence, and residual risk.
14
-
15
- Open critical or high findings fail the gate, and a critical/high finding cannot be closed by acceptance alone: it must be mitigated and resolved. The control inventory must match `contracts/security-controls.json` exactly, and the authority inventory must stay synchronized with all built-in, execution-environment, delegation, skill-loading, and dynamic MCP tool classes. CI and CodeQL evidence must be successful `push` runs at the candidate commit; dependency audit, release, and OCI evidence must come from the successful protected `release.yml` workflow dispatch. Shared evidence classes may reference that same release run. The gate resolves every workflow URL through the GitHub API and rejects a mismatched URL, commit, event, workflow path, status, or conclusion. It also resolves the exact version from the npm registry, requires the recorded attestation URL and artifact integrity to match registry metadata, validates the SLSA statement against the release commit and SHA-512 digest, and binds its invocation to the recorded release workflow.
16
-
17
- The ledger fields in `docs/ga-readiness.json` are a summary only. Their timestamp and critical/high counts must equal the verified JSON inventory. Never mark the review passed until the published candidate integrity and provenance are available and a named reviewer has completed the review.
@@ -1,366 +0,0 @@
1
- {
2
- "schemaVersion": 1,
3
- "targetVersion": "1.0.0",
4
- "phase": "ready",
5
- "evidenceMaxAgeDays": 30,
6
- "contractManifest": "contracts/public-api.json",
7
- "stabilityPolicy": "docs/STABILITY.md",
8
- "supportMatrix": "docs/support-matrix.json",
9
- "securityControls": "contracts/security-controls.json",
10
- "threatModel": "docs/THREAT_MODEL.md",
11
- "rollbackPolicy": "docs/ROLLBACK.md",
12
- "deprecationPolicy": "docs/DEPRECATIONS.md",
13
- "representativeEvaluation": "evaluations/representative-matrix.json",
14
- "migrationGuarantee": {
15
- "configSchemas": [
16
- 4,
17
- 5
18
- ],
19
- "operationsSchema": 1,
20
- "sessionSchema": 1,
21
- "pausedApprovalPolicy": "original-artifact-only",
22
- "historicalFixtures": "passed",
23
- "historicalFixtureEvidence": [
24
- ".github/workflows/ci.yml",
25
- "fixtures/migrations/0.10.0.json",
26
- "fixtures/migrations/0.10.0.sqlite",
27
- "fixtures/migrations/0.11.1.json",
28
- "fixtures/migrations/0.11.1.sqlite",
29
- "scripts/verify-historical-migrations.ts"
30
- ]
31
- },
32
- "securityReview": {
33
- "status": "passed",
34
- "criticalFindings": 0,
35
- "highFindings": 0,
36
- "observedAt": "2026-09-20T13:25:48.476Z",
37
- "evidence": "security-reviews/rc14-review.json"
38
- },
39
- "releaseCandidates": [
40
- {
41
- "version": "1.0.0-rc.1",
42
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/34",
43
- "status": "failed-gates",
44
- "channel": "next",
45
- "tag": "v1.0.0-rc.1",
46
- "contractBreakingDefects": null,
47
- "publishedAt": null,
48
- "sourceCommit": "08d27d97b572f1197e66a568ba0148335e020b95",
49
- "artifactSha512": "sha512-LoXIvlxphjeOG0pS8s5kwiSUCUuoC3OsK2PkqO5ENSlLwpewuIJ1HGgOXKeIptjr0e5jJTMlOvAWPYtqD2vocw==",
50
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32674617898",
51
- "provenance": "not-published",
52
- "liveCertification": "failed-release-bound-run",
53
- "observedAt": "2026-08-23T23:54:37Z",
54
- "failedGates": [
55
- "live-provider-certification",
56
- "representative-evaluation"
57
- ]
58
- },
59
- {
60
- "version": "1.0.0-rc.2",
61
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/35",
62
- "status": "failed-gates",
63
- "channel": "next",
64
- "tag": "v1.0.0-rc.2",
65
- "contractBreakingDefects": null,
66
- "publishedAt": null,
67
- "sourceCommit": "57f465bdb44da4093152195c6bf33f9a2c3c47c2",
68
- "artifactSha512": "sha512-qKAQj7ptM/5mv7NuzVea4dhl8M3GQbRNAbd+bb58Pxhbf7HxKBULoFNG5RGBrTvTeQcNP+tsNJSeuLAn0EkKrg==",
69
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32676949946",
70
- "provenance": "not-published",
71
- "liveCertification": "passed-release-bound-run",
72
- "observedAt": "2026-08-24T01:22:46Z",
73
- "failedGates": [
74
- "representative-evaluation"
75
- ]
76
- },
77
- {
78
- "version": "1.0.0-rc.3",
79
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/39",
80
- "status": "failed-gates",
81
- "channel": "next",
82
- "tag": "v1.0.0-rc.3",
83
- "contractBreakingDefects": null,
84
- "publishedAt": null,
85
- "sourceCommit": "d906859f74e573be37575c8fa5a953fbabd6268c",
86
- "artifactSha512": "sha512-XyrEco/p6Bf86PezraBHbnLT0gqXRqygMDSu9ViBrSz1iRwAhAtFg/mzTaTScd1WkRXMIQfFOg3uTVGSNgsR3Q==",
87
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32725445245",
88
- "provenance": "not-published",
89
- "liveCertification": "passed-release-bound-run",
90
- "observedAt": "2026-08-24T12:31:41Z",
91
- "failedGates": [
92
- "representative-evaluation"
93
- ]
94
- },
95
- {
96
- "version": "1.0.0-rc.4",
97
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/41",
98
- "status": "failed-gates",
99
- "channel": "next",
100
- "tag": "v1.0.0-rc.4",
101
- "contractBreakingDefects": null,
102
- "publishedAt": null,
103
- "sourceCommit": "05ae8e899647207695556c896ef7a8025abcdce4",
104
- "artifactSha512": "sha512-zpg7yxeQDn2nAws/AsrPd4C79IkXHm4vxWOEiGeVGiil04OcVad/pSn5kCp5nfUiZj0MlygLovBzV83MeD55GQ==",
105
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32738506085",
106
- "provenance": "not-published",
107
- "liveCertification": "passed-release-bound-run",
108
- "observedAt": "2026-08-24T14:45:46Z",
109
- "failedGates": [
110
- "representative-evaluation"
111
- ]
112
- },
113
- {
114
- "version": "1.0.0-rc.5",
115
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/44",
116
- "status": "failed-gates",
117
- "channel": "next",
118
- "tag": "v1.0.0-rc.5",
119
- "contractBreakingDefects": null,
120
- "publishedAt": null,
121
- "sourceCommit": "a515e87d6f898684e77dbfe415c4f8481844ca81",
122
- "artifactSha512": "sha512-pCx5y+jH8J00b4+gn44y3jQ0h+elhDDNCemh0LXKNUaGumtYLUPGsonmoo9xhVwLb0sS4XomiacTHM2hSgI1EQ==",
123
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32792078857",
124
- "provenance": "not-published",
125
- "liveCertification": "passed-release-bound-run",
126
- "observedAt": "2026-08-25T00:26:56Z",
127
- "failedGates": [
128
- "representative-evaluation"
129
- ]
130
- },
131
- {
132
- "version": "1.0.0-rc.6",
133
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/46",
134
- "status": "failed-gates",
135
- "channel": "next",
136
- "tag": "v1.0.0-rc.6",
137
- "contractBreakingDefects": null,
138
- "publishedAt": null,
139
- "sourceCommit": "2301f5c5a2040a8319252fad2a7b0f7c9914b0ae",
140
- "artifactSha512": "sha512-+dsxQBisN4S99WI5dUmiXIctGsPxvydrTS/Ri63kb6+MkoSjV0oCP0xc/G9Gxw3J4AIbqhxIV0COJvzaJmJLDg==",
141
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32907208889",
142
- "provenance": "not-published",
143
- "liveCertification": "passed-release-bound-run",
144
- "observedAt": "2026-08-25T23:07:35Z",
145
- "failedGates": [
146
- "representative-evaluation"
147
- ]
148
- },
149
- {
150
- "version": "1.0.0-rc.7",
151
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/31",
152
- "status": "passed",
153
- "channel": "next",
154
- "tag": "v1.0.0-rc.7",
155
- "contractBreakingDefects": 0,
156
- "publishedAt": "2026-08-25T23:41:47.980Z",
157
- "sourceCommit": "4caa83a8011e09abda58b66c4b1d3f65d860b0cf",
158
- "artifactSha512": "sha512-lXZhlDQR92SrrHZj/H5cirKIKqhiAEaQD03R7+RvJdalhbYDpQHx6TqXJFtSGUXAwGkONCfftOxNRJGrqA/FFw==",
159
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/32910606768",
160
- "provenance": "verified",
161
- "liveCertification": "passed-release-bound-run"
162
- },
163
- {
164
- "version": "1.0.0-rc.8",
165
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/31",
166
- "status": "failed-gates",
167
- "channel": "next",
168
- "tag": "v1.0.0-rc.8",
169
- "contractBreakingDefects": null,
170
- "publishedAt": null,
171
- "sourceCommit": "db1c6917e23be73c2b4c83ed7762dc676d39f038",
172
- "artifactSha512": "sha512-SaVLNFzrR2BKEyI11N7Dhx4nDrbt+3AQbD5BVaO4hex5umGP5STpyawSbk742GNUZ/MhqlzhBiS4se2DDpkhRg==",
173
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/33558133048",
174
- "provenance": "not-published",
175
- "liveCertification": "not-run",
176
- "observedAt": "2026-09-01T20:55:44Z",
177
- "failedGates": [
178
- "artifact-binding"
179
- ]
180
- },
181
- {
182
- "version": "1.0.0-rc.9",
183
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/58",
184
- "status": "failed-gates",
185
- "channel": "next",
186
- "tag": "v1.0.0-rc.9",
187
- "contractBreakingDefects": null,
188
- "publishedAt": null,
189
- "sourceCommit": "545b247c7b33d62c64c3c13e72faca632bae10b6",
190
- "artifactSha512": null,
191
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/33562430984",
192
- "provenance": "not-published",
193
- "liveCertification": "not-run",
194
- "observedAt": "2026-09-01T21:42:13Z",
195
- "failedGates": [
196
- "deterministic-validation"
197
- ]
198
- },
199
- {
200
- "version": "1.0.0-rc.10",
201
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/58",
202
- "status": "failed-gates",
203
- "channel": "next",
204
- "tag": "v1.0.0-rc.10",
205
- "contractBreakingDefects": null,
206
- "publishedAt": null,
207
- "sourceCommit": "a6cb74e99f9f449592187663d53a40f4f7a186db",
208
- "artifactSha512": "sha512-UheGnKl0z6U8To2r/IeFvj27ZVynGE8OnSu9IKPNk2zcCzVi2s5nfNLqXie8Ly+U1BblLs4dt/26tJKlV4GSbA==",
209
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/33564054752",
210
- "provenance": "not-published",
211
- "liveCertification": "failed-release-bound-run",
212
- "observedAt": "2026-09-01T22:17:10Z",
213
- "failedGates": [
214
- "live-provider-certification",
215
- "representative-evaluation"
216
- ]
217
- },
218
- {
219
- "version": "1.0.0-rc.11",
220
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/60",
221
- "status": "passed",
222
- "channel": "next",
223
- "tag": "v1.0.0-rc.11",
224
- "contractBreakingDefects": 0,
225
- "publishedAt": "2026-09-02T05:37:17.346Z",
226
- "sourceCommit": "0deb3e3f103eac5b4ccf38c585d8149b8472a356",
227
- "artifactSha512": "sha512-U/wCcN0wWpfZdyDu8zOkrU6abTnHigGa6hEt9ivSxrc8q/ev8oIvKMszzt4B9P4sO6s6naAUQz5jruASNpWNTA==",
228
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/33592828351",
229
- "provenance": "verified",
230
- "liveCertification": "passed-release-bound-run"
231
- },
232
- {
233
- "version": "1.0.0-rc.12",
234
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/32",
235
- "status": "passed",
236
- "channel": "next",
237
- "tag": "v1.0.0-rc.12",
238
- "contractBreakingDefects": 0,
239
- "publishedAt": "2026-09-02T23:54:47.041Z",
240
- "sourceCommit": "eb288bd3a0ef76dfbe630939d64e679437703bcb",
241
- "artifactSha512": "sha512-Qpo7W9VmGvKmnX08Zr4NK15AWUuHRoMaYA9f0iAksGKxeQ3gGP2ntLv3xSwth1uJnknoT1XMMS7CtTFdy5i/eg==",
242
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/33695876968",
243
- "provenance": "verified",
244
- "liveCertification": "passed-release-bound-run"
245
- },
246
- {
247
- "version": "1.0.0-rc.13",
248
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/32",
249
- "status": "passed",
250
- "channel": "next",
251
- "tag": "v1.0.0-rc.13",
252
- "contractBreakingDefects": 0,
253
- "publishedAt": "2026-09-08T18:50:18.941Z",
254
- "sourceCommit": "d6e310ce12fd3ee74db5bd40451f5af70056e3ce",
255
- "artifactSha512": "sha512-EhKcjH44ZvRS1Y4POhs2xnPCmw0IFQo1trKf1gusYaFMkLthwXND0+ZEkfzG25JFCCf7kfOAZabDp35SoPnubw==",
256
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/34263591864",
257
- "provenance": "verified",
258
- "liveCertification": "passed-release-bound-run"
259
- },
260
- {
261
- "version": "1.0.0-rc.14",
262
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/31",
263
- "status": "passed",
264
- "channel": "next",
265
- "tag": "v1.0.0-rc.14",
266
- "contractBreakingDefects": 0,
267
- "publishedAt": "2026-09-20T12:47:20.607Z",
268
- "sourceCommit": "d1c5abcc6d1fa482c211c4327c86f592663d559b",
269
- "artifactSha512": "sha512-UMu4JFUNs/kOTJETZSJMMvVYlo+a4MKG6PoSvE313QxMEqK1z420AXVgPOGJ8jj2jp6mQud/Rvc7+ixKyH/4og==",
270
- "workflowUrl": "https://github.com/Zhivex/zhivex-harness/actions/runs/35510484383",
271
- "provenance": "verified",
272
- "liveCertification": "passed-release-bound-run"
273
- }
274
- ],
275
- "blockers": [
276
- {
277
- "id": "public-json-contracts",
278
- "status": "closed",
279
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/26",
280
- "evidence": [
281
- "contracts/public-api.json",
282
- "fixtures/contracts/v1/doctor.json",
283
- "fixtures/contracts/v1/init.json",
284
- "fixtures/contracts/v1/observational-documents.json",
285
- "fixtures/contracts/v1/providers.json",
286
- "fixtures/contracts/v1/run-result.json",
287
- "tests/json-contracts.test.ts"
288
- ]
289
- },
290
- {
291
- "id": "cli-option-contract",
292
- "status": "closed",
293
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/27",
294
- "evidence": [
295
- "scripts/package-smoke.ts",
296
- "src/cli-options.ts",
297
- "tests/cli-options.test.ts"
298
- ]
299
- },
300
- {
301
- "id": "complete-error-taxonomy",
302
- "status": "closed",
303
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/28",
304
- "evidence": [
305
- "scripts/package-smoke.ts",
306
- "src/errors.ts",
307
- "tests/errors.test.ts"
308
- ]
309
- },
310
- {
311
- "id": "historical-migration-fixtures",
312
- "status": "closed",
313
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/29",
314
- "evidence": [
315
- ".github/workflows/ci.yml",
316
- "fixtures/migrations/0.10.0.json",
317
- "fixtures/migrations/0.10.0.sqlite",
318
- "fixtures/migrations/0.11.1.json",
319
- "fixtures/migrations/0.11.1.sqlite",
320
- "scripts/verify-historical-migrations.ts"
321
- ]
322
- },
323
- {
324
- "id": "consistent-state-backup",
325
- "status": "closed",
326
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/30",
327
- "evidence": [
328
- "docs/CLI.md",
329
- "src/state-backup.ts",
330
- "tests/state-backup.test.ts"
331
- ]
332
- },
333
- {
334
- "id": "representative-evaluation-evidence",
335
- "status": "closed",
336
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/31",
337
- "evidence": [
338
- "docs/LIVE_CERTIFICATION.md",
339
- "evaluations/representative-matrix.json"
340
- ]
341
- },
342
- {
343
- "id": "security-review",
344
- "status": "closed",
345
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/32",
346
- "evidence": [
347
- "docs/RC14_DELEGATED_SECURITY_DECISION.md",
348
- "security-reviews/rc14-review.json"
349
- ]
350
- },
351
- {
352
- "id": "gemini-ga-decision",
353
- "status": "closed",
354
- "issue": "https://github.com/Zhivex/zhivex-harness/issues/33",
355
- "evidence": [
356
- ".github/workflows/release.yml",
357
- "docs/GA_READINESS.md",
358
- "docs/GEMINI_1_0_DECISION.md",
359
- "docs/LIVE_CERTIFICATION.md",
360
- "docs/support-matrix.json",
361
- "evaluations/representative-matrix.json",
362
- "src/providers.ts"
363
- ]
364
- }
365
- ]
366
- }