@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.
- package/CHANGELOG.md +97 -1
- package/README.md +52 -306
- package/SECURITY.md +1 -1
- package/SUPPORT.md +7 -3
- package/benchmarks/README.md +3 -3
- package/contracts/client-protocol-v1.schema.json +341 -0
- package/contracts/public-api.json +100 -1
- package/contracts/stable-api-signatures.json +14 -14
- package/dist/approval-diff.d.ts +45 -0
- package/dist/approval-history.d.ts +38 -0
- package/dist/approval-preview.d.ts +26 -0
- package/dist/cli-credentials.d.ts +38 -0
- package/dist/cli-help.d.ts +3 -0
- package/dist/cli-options.d.ts +1 -1
- package/dist/cli-stream.d.ts +3 -3
- package/dist/cli.d.ts +15 -69
- package/dist/cli.js +13796 -10032
- package/dist/client-contract.d.ts +208 -0
- package/dist/console-commands.d.ts +6 -0
- package/dist/console-context.d.ts +5 -1
- package/dist/console-input.d.ts +44 -4
- package/dist/console-model-catalog.d.ts +25 -0
- package/dist/console-navigation.d.ts +27 -0
- package/dist/console-presentation.d.ts +18 -0
- package/dist/console-welcome.d.ts +13 -0
- package/dist/execution-environment.d.ts +4 -0
- package/dist/harness.d.ts +3 -0
- package/dist/hostile-repository-demo.js +1913 -798
- package/dist/index.d.ts +7 -0
- package/dist/index.js +7908 -6330
- package/dist/local-service.d.ts +34 -0
- package/dist/operations.d.ts +23 -1
- package/dist/orchestration.d.ts +3 -0
- package/dist/persistence-secrets.d.ts +2 -0
- package/dist/recorded-workspace.d.ts +4 -0
- package/dist/run-document.d.ts +91 -0
- package/dist/runtime-policy.d.ts +4 -4
- package/dist/service-cli.d.ts +2 -0
- package/dist/service-cli.js +10858 -0
- package/dist/service-client-cli.d.ts +2 -0
- package/dist/service-events.d.ts +50 -0
- package/dist/sessions.d.ts +3 -0
- package/dist/sqlite-access.d.ts +26 -0
- package/dist/sqlite-database.d.ts +2 -0
- package/dist/state-backup.d.ts +8 -0
- package/dist/task-memory.d.ts +2 -2
- package/dist/terminal-continuation.d.ts +3 -0
- package/dist/terminal-markdown.d.ts +1 -0
- package/dist/terminal-ui.d.ts +5 -0
- package/dist/usage-ledger.d.ts +84 -0
- package/dist/verify-historical-migrations.js +5699 -5191
- package/dist/workspace.d.ts +22 -0
- package/dist/zhx.js +13796 -10032
- package/docs/CLI.md +136 -30
- package/docs/CLIENT_PROTOCOL.md +212 -0
- package/docs/CREDENTIALS.md +59 -0
- package/docs/DURABLE_OPERATIONS.md +2 -2
- package/docs/FIRST_USE.md +82 -0
- package/docs/FIRST_USE_EXAMPLE.md +40 -0
- package/docs/HOSTILE_REPOSITORY_DEMO.md +1 -1
- package/docs/LOCAL_SERVICE.md +142 -0
- package/docs/README.md +24 -23
- package/docs/THREAT_MODEL.md +1 -1
- package/docs/TIME_TO_SAFE_FIX.md +2 -2
- package/docs/USAGE.md +181 -0
- package/evaluations/daily-cli-cohort.json +33 -0
- package/evaluations/representative-assembly-matrix.json +19 -1
- package/examples/README.md +26 -0
- package/examples/first-use/greeting.test.ts +3 -0
- package/examples/first-use/greeting.ts +1 -0
- package/examples/first-use/package.json +7 -0
- package/package.json +34 -9
- package/ROADMAP.md +0 -414
- package/benchmarks/baselines/context-navigation-2026-09-09.json +0 -94
- package/benchmarks/baselines/efficiency-2026-09-08.json +0 -233
- package/benchmarks/baselines/external-final-2026-09-08.json +0 -588
- package/benchmarks/baselines/external-intermediate-2026-09-08.json +0 -116
- package/benchmarks/baselines/external-matched-openai-2026-09-08.json +0 -1922
- package/benchmarks/baselines/external-matched-qwen-2026-09-08.json +0 -1706
- package/benchmarks/baselines/external-pilot-2026-09-08.json +0 -439
- package/benchmarks/baselines/external-qwen-flash-2026-09-08.json +0 -1570
- package/benchmarks/baselines/external-qwen-remediation-2026-09-09.json +0 -1509
- package/benchmarks/baselines/external-qwen-sdk-114-progress-2026-09-09.json +0 -2509
- package/benchmarks/baselines/external-sdk-upgrade-2026-09-08.json +0 -564
- package/benchmarks/baselines/external-verifier-recovery-2026-09-09.json +0 -794
- package/benchmarks/baselines/full-harness-review-2026-09-10.json +0 -134
- package/benchmarks/baselines/harness-audit-2026-09-09.json +0 -136
- package/benchmarks/baselines/harness-remediation-2026-09-09.json +0 -160
- package/benchmarks/baselines/oci-remediation-2026-09-10.json +0 -535
- package/benchmarks/baselines/rc14-holdout-2026-09-10.json +0 -854
- package/benchmarks/baselines/repair-architecture-audit-2026-09-09.json +0 -75
- package/benchmarks/baselines/time-to-safe-fix-live-expanded-2026-08-21.json +0 -186
- package/benchmarks/baselines/time-to-safe-fix-live-smoke-2026-08-21.json +0 -186
- package/docs/GA_READINESS.md +0 -29
- package/docs/GEMINI_1_0_DECISION.md +0 -9
- package/docs/LIVE_CERTIFICATION.md +0 -107
- package/docs/RC13_SECURITY_REVIEW.md +0 -28
- package/docs/RC14_DELEGATED_SECURITY_DECISION.md +0 -80
- package/docs/RC14_SECURITY_REVIEW.md +0 -40
- package/docs/RELEASE.md +0 -96
- package/docs/ROLLBACK.md +0 -9
- package/docs/SECURITY_REVIEW_EVIDENCE.md +0 -17
- package/docs/ga-readiness.json +0 -366
- package/docs/reports/EFFICIENCY_REVIEW.md +0 -156
- package/docs/reports/EXTERNAL_COMPARISON.md +0 -434
- package/docs/reports/FULL_HARNESS_REVIEW_2026-09-10.md +0 -200
- package/docs/reports/GA_BUDGET_REMEDIATION_2026-09-19.md +0 -38
- package/docs/reports/GA_REPAIR_RECOVERY_2026-09-19.md +0 -700
- package/docs/reports/GA_VALIDATION_2026-09-19.md +0 -111
- package/docs/reports/HARNESS_ARCHITECTURE_REVIEW_2026-09-09.md +0 -202
- package/docs/reports/HARNESS_AUDIT_2026-09-09.md +0 -306
- package/docs/reports/HARNESS_REMEDIATION_2026-09-09.md +0 -74
- package/docs/reports/HARNESS_REMEDIATION_2026-09-10.md +0 -90
- package/docs/reports/MODEL_COMPARISON_2026-09-09.md +0 -184
- package/docs/reports/QWEN_REMEDIATION_COMPARISON_2026-09-09.md +0 -142
- package/docs/reports/RC14_VALIDATION_2026-09-10.md +0 -45
- package/docs/reports/README.md +0 -26
- package/docs/reports/evidence/ga-budget-remediation-2026-09-19.json +0 -133
- package/docs/reports/evidence/ga-catalog-ablation-2026-09-19.json +0 -699
- package/docs/reports/evidence/ga-catalog-ablation-plan-2026-09-19.json +0 -40
- package/docs/reports/evidence/ga-catalog-observed-2026-09-19.json +0 -985
- package/docs/reports/evidence/ga-catalog-observed-plan-2026-09-19.json +0 -28
- package/docs/reports/evidence/ga-catalog-observed-status-2026-09-19.json +0 -15
- package/docs/reports/evidence/ga-complete-local-check-2026-09-19.json +0 -47
- package/docs/reports/evidence/ga-completion-reminder-2026-09-19.json +0 -22
- package/docs/reports/evidence/ga-fresh-cohort-plan-2026-09-19.json +0 -54
- package/docs/reports/evidence/ga-fresh-cohort-preparation-2026-09-19.json +0 -242
- package/docs/reports/evidence/ga-fresh-cohort-result-2026-09-19.json +0 -4318
- package/docs/reports/evidence/ga-local-validation-followup-2026-09-19.json +0 -66
- package/docs/reports/evidence/ga-node-consumers-2026-09-19.json +0 -31
- package/docs/reports/evidence/ga-package-content-validation-2026-09-19.json +0 -22
- package/docs/reports/evidence/ga-plan-completion-2026-09-19.json +0 -39
- package/docs/reports/evidence/ga-plan-reserve-2026-09-19.json +0 -573
- package/docs/reports/evidence/ga-plan-reserve-plan-2026-09-19.json +0 -24
- package/docs/reports/evidence/ga-plan-transition-2026-09-19.json +0 -19
- package/docs/reports/evidence/ga-private-verifier-plan-2026-09-19.json +0 -24
- package/docs/reports/evidence/ga-private-verifier-root-cause-2026-09-19.json +0 -41
- package/docs/reports/evidence/ga-published-sdk-2026-09-19.json +0 -35
- package/docs/reports/evidence/ga-python-checkout-imports-2026-09-19.json +0 -95
- package/docs/reports/evidence/ga-python-origin-delivery-2026-09-19.json +0 -211
- package/docs/reports/evidence/ga-python-origin-delivery-plan-2026-09-19.json +0 -27
- package/docs/reports/evidence/ga-qwen-patched-package-2026-09-19.json +0 -1092
- package/docs/reports/evidence/ga-qwen-patched-package-plan-2026-09-19.json +0 -18
- package/docs/reports/evidence/ga-qwen-published-2026-09-19.json +0 -571
- package/docs/reports/evidence/ga-qwen-published-plan-2026-09-19.json +0 -18
- package/docs/reports/evidence/ga-qwen-tool-choice-2026-09-19.json +0 -85
- package/docs/reports/evidence/ga-qwen-tool-choice-patched-2026-09-19.json +0 -85
- package/docs/reports/evidence/ga-recovery-development-2026-09-19.json +0 -1066
- package/docs/reports/evidence/ga-recovery-graded-development-2026-09-19.json +0 -1313
- package/docs/reports/evidence/ga-recovery-graded-v2-2026-09-19.json +0 -1151
- package/docs/reports/evidence/ga-recovery-v3-2026-09-19.json +0 -3943
- package/docs/reports/evidence/ga-recovery-v4-2026-09-19.json +0 -1055
- package/docs/reports/evidence/ga-recovery-v5-2026-09-19.json +0 -1245
- package/docs/reports/evidence/ga-recovery-v6-2026-09-19.json +0 -699
- package/docs/reports/evidence/ga-recovery-v7-2026-09-19.json +0 -854
- package/docs/reports/evidence/ga-recovery-v8-2026-09-19.json +0 -596
- package/docs/reports/evidence/ga-required-delivery-2026-09-19.json +0 -25
- package/docs/reports/evidence/ga-required-delivery-live-2026-09-19.json +0 -1337
- package/docs/reports/evidence/ga-required-delivery-live-plan-2026-09-19.json +0 -25
- package/docs/reports/evidence/ga-retained-candidate-grading-2026-09-19.json +0 -30
- package/docs/reports/evidence/ga-tool-selection-live-2026-09-19.json +0 -559
- package/docs/reports/evidence/ga-tool-selection-live-plan-2026-09-19.json +0 -28
- package/docs/reports/evidence/ga-tool-selection-recovery-2026-09-19.json +0 -27
- package/docs/reports/evidence/ga-validation-2026-09-19.json +0 -236
- package/docs/reports/evidence/ga-verifier-discovery-live-2026-09-19.json +0 -1369
- package/docs/reports/evidence/ga-verifier-discovery-plan-2026-09-19.json +0 -29
- package/docs/reports/evidence/ga-verifier-failure-identification-2026-09-19.json +0 -30
- package/docs/reports/evidence/ga-verifier-feedback-2026-09-19.json +0 -65
- package/docs/reports/evidence/ga-verifier-hints-live-2026-09-19.json +0 -1297
- package/docs/reports/evidence/ga-verifier-hints-plan-2026-09-19.json +0 -27
- package/docs/reports/evidence/ga-work-boundary-context-analysis-2026-09-19.json +0 -113
- package/docs/reports/evidence/ga-work-boundary-live-2026-09-19.json +0 -301
- package/docs/reports/evidence/ga-work-boundary-live-plan-2026-09-19.json +0 -84
- package/docs/reports/evidence/ga-work-budget-planning-2026-09-19.json +0 -32
- package/docs/reports/evidence/ga-working-context-2026-09-19.json +0 -22
- package/docs/reports/evidence/rc14-delegated-security-review-2026-09-20.json +0 -81
- package/docs/reports/evidence/rc14-ga-gate-2026-09-20.json +0 -18
- package/docs/reports/evidence/rc14-representative-2026-09-20.json +0 -509
- package/docs/reports/evidence/rc14-security-regressions-2026-09-20.json +0 -64
- package/docs/reports/evidence/security-current-2026-09-19.json +0 -91
- 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.
|
package/docs/ga-readiness.json
DELETED
|
@@ -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
|
-
}
|