@zhivex-ai/harness 1.1.0-rc.3 → 1.2.0-rc.5
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 +199 -2
- package/README.md +15 -5
- package/SECURITY.md +1 -1
- package/SUPPORT.md +3 -3
- package/benchmarks/README.md +17 -0
- package/contracts/public-api.json +97 -5
- package/contracts/stable-api-signatures.json +38 -38
- package/dist/acp-cli.d.ts +2 -0
- package/dist/acp-cli.js +15106 -0
- package/dist/cli/arguments.d.ts +7 -1
- package/dist/cli/cli-credentials.d.ts +17 -0
- package/dist/cli/cli-options.d.ts +1 -1
- package/dist/cli/cli-profiles.d.ts +16 -0
- package/dist/cli/console/console-budget.d.ts +9 -0
- package/dist/cli/console/console-commands.d.ts +3 -3
- package/dist/cli/console/console-compaction.d.ts +18 -0
- package/dist/cli/console/console-input.d.ts +1 -1
- package/dist/cli/console/console-model-catalog.d.ts +4 -21
- package/dist/cli/console/console-navigation.d.ts +3 -1
- package/dist/cli/console/console-presentation.d.ts +1 -0
- package/dist/cli/console/console-progress.d.ts +6 -0
- package/dist/cli/doctor.d.ts +4 -2
- package/dist/cli/errors.d.ts +1 -0
- package/dist/cli/presentation.d.ts +5 -1
- package/dist/cli/qwen-connection.d.ts +23 -0
- package/dist/cli/setup.d.ts +3 -9
- package/dist/cli/task-input.d.ts +6 -0
- package/dist/cli/terminal/session-grants.d.ts +4 -0
- package/dist/cli/terminal/terminal-markdown.d.ts +4 -3
- package/dist/cli/terminal/terminal-ui.d.ts +3 -0
- package/dist/cli/terminal/tool-activity.d.ts +10 -9
- package/dist/cli/tool-execution.d.ts +1 -0
- package/dist/cli-entry-0mhbpe8j.js +375 -0
- package/dist/cli-entry-1bx83sw4.js +4 -0
- package/dist/cli-entry-64pdp3k5.js +17 -0
- package/dist/cli-entry-dt9rtkb5.js +12557 -0
- package/dist/cli-entry-tmam2yr5.js +1818 -0
- package/dist/cli-entry.d.ts +2 -0
- package/dist/cli-ffftb7w8.js +5475 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +15 -18085
- package/dist/client/acp-stdio.d.ts +9 -0
- package/dist/client/acp.d.ts +18 -0
- package/dist/client/index.d.ts +2 -0
- package/dist/client/json-contracts.d.ts +8 -8
- package/dist/config-h87tpdy6.js +59 -0
- package/dist/context/adaptive-compaction.d.ts +18 -0
- package/dist/context/compaction.d.ts +3 -1
- package/dist/context/context-metrics.d.ts +2 -0
- package/dist/context/qwen-reasoning.d.ts +5 -0
- package/dist/context/scoped-context.d.ts +61 -0
- package/dist/context/semantic-compaction.d.ts +21 -0
- package/dist/context/task-memory.d.ts +11 -6
- package/dist/execution/execution-environment.d.ts +4 -0
- package/dist/execution/oci-observability.d.ts +2 -0
- package/dist/execution/patch-diagnostics.d.ts +6 -0
- package/dist/hostile-repository-demo.js +4462 -1744
- package/dist/index.d.ts +14 -1
- package/dist/index.js +11569 -7682
- package/dist/integrations/mcp.d.ts +23 -3
- package/dist/internal/desktop/providers.d.ts +3 -0
- package/dist/models/catalog-store.d.ts +15 -0
- package/dist/models/catalog.d.ts +150 -0
- package/dist/models/compaction-recommendations.d.ts +28 -0
- package/dist/models/sdk-catalog-adapter.d.ts +7 -0
- package/dist/persistence/operations.d.ts +6 -5
- package/dist/persistence/state-backup.d.ts +52 -0
- package/dist/persistence/state-gitignore.d.ts +2 -0
- package/dist/persistence/workspace-checkpoints.d.ts +149 -0
- package/dist/providers/meta-continuation.d.ts +1 -0
- package/dist/providers/meta-errors.d.ts +2 -0
- package/dist/providers/providers.d.ts +4 -0
- package/dist/runtime/config.d.ts +13 -3
- package/dist/runtime/context-runtime.d.ts +12 -0
- package/dist/runtime/delegation-contracts.d.ts +23 -0
- package/dist/runtime/error-diagnostics.d.ts +811 -0
- package/dist/runtime/harness.d.ts +17 -4
- package/dist/runtime/model-edit-references.d.ts +6 -0
- package/dist/runtime/orchestration.d.ts +2 -0
- package/dist/runtime/progress-monitor.d.ts +29 -0
- package/dist/runtime/provider-diagnostics.d.ts +35 -0
- package/dist/runtime/runtime-checkpoints.d.ts +3 -0
- package/dist/runtime/runtime-diagnostics.d.ts +6 -5
- package/dist/runtime/runtime-policy.d.ts +25 -2
- package/dist/runtime/time-to-safe-fix.d.ts +438 -1
- package/dist/runtime/tool-execution.d.ts +11 -0
- package/dist/runtime/tool-policy.d.ts +55 -0
- package/dist/runtime/tool-scheduling.d.ts +5 -0
- package/dist/runtime/usage-ledger.d.ts +1 -0
- package/dist/service-cli.js +8515 -5681
- package/dist/service-client-cli-da243ef0.js +1028 -0
- package/dist/tools/dependency-read.d.ts +16 -0
- package/dist/tools/workspace.d.ts +5 -0
- package/dist/verify-historical-migrations.js +4778 -1952
- package/dist/zhx.js +15 -18085
- package/docs/ACP.md +55 -0
- package/docs/CLI.md +259 -16
- package/docs/CONTEXT_ENGINEERING.md +184 -13
- package/docs/CREDENTIALS.md +54 -12
- package/docs/DURABLE_OPERATIONS.md +8 -0
- package/docs/EXTENSIBILITY.md +142 -4
- package/docs/FIRST_USE.md +27 -12
- package/docs/MODEL_CATALOG.md +72 -0
- package/docs/README.md +2 -0
- package/docs/REPOSITORY_EDITING.md +21 -0
- package/docs/STABILITY.md +2 -0
- package/docs/SUPPORT_MATRIX_1_1.md +17 -0
- package/docs/THREAT_MODEL.md +1 -1
- package/docs/TIME_TO_SAFE_FIX.md +2 -0
- package/docs/USAGE.md +12 -3
- package/docs/WORKSPACE_CHECKPOINTS.md +27 -0
- package/docs/images/cli-conversation.png +0 -0
- package/docs/support-matrix-1.1.json +29 -0
- package/evaluations/golden-expectations.json +5 -0
- package/evaluations/representative-assembly-matrix.json +154 -1
- package/examples/README.md +3 -3
- package/package.json +22 -12
package/CHANGELOG.md
CHANGED
|
@@ -4,10 +4,201 @@ All notable changes to Zhivex Harness are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The project follows Semantic Versioning. During `0.x`, minor releases may change user-facing contracts when the change is documented with a migration note. Patch releases remain backwards compatible bug fixes.
|
|
6
6
|
|
|
7
|
+
## 1.2.0-rc.5 - 2026-09-26
|
|
8
|
+
|
|
9
|
+
- Adapt the assistant loop to explanation, investigation, design and implementation without imposing a repair ceremony on read-only work. Remove the `strict`/`repair` runtime profile choice; callers requiring verified completion use `requireVerifiedDelivery` or `--require-verified-delivery` directly. This is an intentional pre-promotion API/CLI break; saved connection profiles and subagent roles remain independent.
|
|
10
|
+
- Unify bounded tool-error, invalid-argument and unknown-tool recovery across CLI, SDK and delegated runs, independently of the repair controller. Explicit fail-fast tool options remain available.
|
|
11
|
+
- Return malformed application-owned delegation arguments through bounded SDK validation feedback without launching a child. Preserve hidden-tool rejection and exact task-ID authorization.
|
|
12
|
+
- Preserve conversational decisions and bounded, redacted local error observations through repeated deterministic and model-assisted compaction. Context is working memory; approvals and verification remain tool-owned.
|
|
13
|
+
- Prioritize recent user corrections over the historical objective and assistant recollections during compaction; retain more distinct user steering within the same summary budget.
|
|
14
|
+
- Use the remaining repair output budget instead of an implicit 2,048-token per-response cap. Preserve explicit caps and provider transport compatibility. Finish after relevant checks and change review without requiring duplicate audits.
|
|
15
|
+
- Refresh discovered directory guidance after normal edits instead of aborting the conversation; retain path, link, encoding and size protections.
|
|
16
|
+
- Return the matching persisted context/accounting checkpoint in all runs, and detect repeated tool cycles even when the model changes its progress narration.
|
|
17
|
+
- Invalidate failed or superseded model edit references and explain how to recover them before another approval. Keep partially failed changes pending verification and preserve closure capacity after rejected plans or out-of-scope reads.
|
|
18
|
+
- Remove lifetime cutoffs for operator requests and discovered instruction counts; paginate task history and preserve repeated latest requests such as A → B → A. New user requests reset loop history while approval resumes retain it.
|
|
19
|
+
- Share a finite 50-step default across API and chat, and accept explicit larger step/tool-call limits without the former arbitrary ceilings.
|
|
20
|
+
- Preserve the newest correction before the historical objective under tight summary budgets, including corrections after a previous summary emptied the objective. Authenticate builtin output before semantic export; restored summaries retain user objectives and steering without exporting unproven tool diagnostics or excerpts.
|
|
21
|
+
- Prepare fresh exact-artifact certification for RC5. RC4 passed base live certification but failed its representative matrix and was not published; its tag and evidence remain unchanged.
|
|
22
|
+
|
|
23
|
+
## 1.2.0-rc.4 - 2026-09-26
|
|
24
|
+
|
|
25
|
+
- Identify the precise live-execution assertion in sanitized release diagnostics: approved tool/arguments, import reference, run status, completion marker, approval/tool sequence, tool success, host content, environment binding or durable journal.
|
|
26
|
+
- Preserve a failed run's structured cause instead of reducing it to an opaque status assertion. Existing assertions, cohort, budgets and all exact-artifact release gates remain enforced.
|
|
27
|
+
- Preserve unpublished RC3 and its failed Qwen execution evidence. One local reproduction on the same RC3 tarball passed; it does not establish the CI failure's cause or certify RC4.
|
|
28
|
+
|
|
29
|
+
## 1.2.0-rc.3 - 2026-09-25
|
|
30
|
+
|
|
31
|
+
- Model-facing reviewed edits and OCI imports no longer require copying file digests or patch IDs. The runtime binds successful prior reads/inspections before requesting approval; persisted approvals and programmatic tool contracts retain their exact references.
|
|
32
|
+
- Preserve rejection of stale files and changed OCI snapshots, including after restart. Missing reference evidence requires another read/inspection; explicit legacy references are never silently replaced.
|
|
33
|
+
- Return sanitized argument-validation receipts in CLI and representative runs within existing step/error budgets. Distinguish provider syntax failures and patch inspections in release diagnostics without retaining provider payloads or adding retries.
|
|
34
|
+
- Prepare the unchanged Meta/Qwen/OpenAI cohort and 42-case release gate for the exact RC3 artifact. RC2 failed representative validation and was not published.
|
|
35
|
+
|
|
36
|
+
## 1.2.0-rc.2 - 2026-09-25
|
|
37
|
+
|
|
38
|
+
- Speed up standalone CLI help/version loading, bounded workspace and OCI inventory reads, scoped-context validation and chat persistence reuse; enable bounded independent CLI reads with mutation barriers.
|
|
39
|
+
|
|
40
|
+
- Recover one terminal OCI patch-ID mismatch against an unchanged inspected snapshot through model feedback and a fresh approval; preserve the limit across resume.
|
|
41
|
+
- Run release live provider gates against the validated tarball and require packaged Desktop restart, effect-recovery, cancellation and worktree smokes in CI.
|
|
42
|
+
- Let Desktop offer stay/cancel before draining IPC blocked on an active run; retain draining before host shutdown.
|
|
43
|
+
|
|
44
|
+
- Preserve OCI inspection references across approval restart and emit sanitized diagnostics distinguishing submitted patch-ID mismatch, snapshot drift, unavailable review evidence and execution-binding changes; retain exact-byte import rejection.
|
|
45
|
+
|
|
46
|
+
## 1.2.0-rc.1 - 2026-09-25
|
|
47
|
+
|
|
48
|
+
- Prepare the next-channel candidate with Meta `muse-spark-1.3`, Qwen `qwen3.8-flash` and OpenAI `gpt-6-luna` across live and representative certification. Fresh exact-artifact certification and publication remain pending.
|
|
49
|
+
- Remove archived candidate notes and exploratory design assets from the working tree; preserve links to their Git history.
|
|
50
|
+
|
|
51
|
+
- Integrate the coordinated stable SDK batch (Core 1.24 / Agents 1.10): SDK-owned auxiliary compaction reservations and durable receipts, catalog recommendation contracts, and opt-in MCP HTTP/OAuth transport. Preserve the existing MCP protocol by default.
|
|
52
|
+
|
|
53
|
+
- Add opt-in model-assisted compaction with explicit provider/model selection, shared token budgets, and durable usage accounting; retain deterministic compaction by default.
|
|
54
|
+
- Enrich the model catalog with sourced context/output limits, pricing evidence, and conservative compaction recommendations available through `/compaction`.
|
|
55
|
+
- Load scoped repository instructions after authorized reads, detect repeated unproductive cycles, and execute approved independent local reads concurrently with mutation barriers.
|
|
56
|
+
- Add experimental declarative tool policies, allowlisted MCP resources, an ACP text-session stdio adapter (`zhx-acp`), and reviewable workspace checkpoint restore APIs with crash recovery and portable backups.
|
|
57
|
+
|
|
58
|
+
- Normalize fragmented Qwen reasoning losslessly in saved histories and new streams so repeated event envelopes do not exhaust compaction limits.
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
- Prevent long `runHarness` streams from exhausting the SDK replay history; retain a bounded tail with full live delivery and observe completion rejections immediately.
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
- Keep compact chat progress visible during model waits and retain grouped summaries of completed tools.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
- Local chat now defaults to 50 steps with `/limits` controls, exposes persisted step exhaustion, and uses compact approval cards with keyboard choices and stable activity rows.
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
- Interactive Qwen service/region credentials, explicit endpoint conflict handling, optional `/connection` probe, and session-scoped `/approvals` menu.
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
- Add local ask/auto/restricted approval modes and approval-gated, bounded dependency metadata/type reads with task-scoped consent.
|
|
74
|
+
- Let local CLI runs recover from tool execution failures within existing error budgets and explain protected-path failures in terminal diagnostics.
|
|
75
|
+
|
|
76
|
+
- Default new local interactive sessions to continued execution without cumulative token ceilings; preserve explicit limits, saved policies and bounded automation/SDK/service defaults.
|
|
77
|
+
- Add `--token-budget` and `--context-tokens`, and distinguish retained context from cumulative usage and remaining budget in console diagnostics.
|
|
78
|
+
|
|
79
|
+
- Check estimated request input against remaining cumulative input and total tokens before contacting the provider.
|
|
80
|
+
- Update single-agent compaction thresholds with consumption from the current invocation; strict runs switch to an evidence-based final answer near their token budget.
|
|
81
|
+
- Preserve reported usage in failed checkpoints when an over-budget response is rejected before its tools execute.
|
|
82
|
+
|
|
83
|
+
## 1.1.4 - 2026-09-24
|
|
84
|
+
|
|
85
|
+
- Preserve provider-independent rejection reasons in sanitized diagnostics and Actions summaries, with bounded response inspection and separate transport/stream failures.
|
|
86
|
+
- Distinguish cleanup completion, result flushing and pending process exit; retain a completed provider failure when the supervisor later times out.
|
|
87
|
+
- Preserve all five bounded entries in a completed driver failure after a supervisor timeout, including a provider diagnostic at the end of the chain.
|
|
88
|
+
|
|
89
|
+
## 1.1.3 - 2026-09-24
|
|
90
|
+
|
|
91
|
+
- Add bounded model/HTTP-attempt, tool and OCI timing spans, phase history, timeout budgets and per-case Actions evidence links.
|
|
92
|
+
- Preserve bounded benchmark stage/event checkpoints across driver timeouts and display them in release summaries; reserve cleanup time within the existing deadline without accepting incomplete certification.
|
|
93
|
+
|
|
94
|
+
## 1.1.2 - 2026-09-24
|
|
95
|
+
|
|
96
|
+
- Update Qwen to 0.15.2 for the current QwenCloud Token Plan endpoint and supported Max/Flash models; document explicit credential and endpoint pairing.
|
|
97
|
+
- Keep successful tool activity out of the interactive transcript, retain transient TTY status and `/verbose`, and preserve Markdown formatting across streaming pauses.
|
|
98
|
+
- Repair safe owner-controlled SQLite lock permissions on macOS and exclude newly created local state from ordinary Git adds without deleting existing sessions.
|
|
99
|
+
- Show bounded Meta HTTP failure reasons and suppress duplicate terminal errors. The reported live HTTP 400 remains unconfirmed; no blanket retry is added.
|
|
100
|
+
|
|
101
|
+
## 1.1.1 - 2026-09-23
|
|
102
|
+
|
|
103
|
+
- Update the RC.10 SDK batch to its stable releases: Agents 1.9.0, Core 1.23.0, Gemini 0.12.2, Meta 0.2.7, OpenAI 0.13.5 and Qwen 0.15.1. Preserve approvals and exactly-once host effects across resume; the updated artifact still requires release certification.
|
|
104
|
+
- Include bounded approval-denial evidence in benchmark and release diagnostics: tool, rejection rule, approval round and preceding compactions, without raw arguments or model text. Distinguish lexical command matches from direct protected-test edits.
|
|
105
|
+
- Publish directly to `latest` after fresh exact-artifact certification. Preserve the failed `v1.1.0` tag and its evidence.
|
|
106
|
+
- Archive superseded audit reports and intermediate diagnostic plans in Git history.
|
|
107
|
+
|
|
108
|
+
## 1.1.0 - 2026-09-23
|
|
109
|
+
|
|
110
|
+
Compatible minor release of the Node CLI and TypeScript library. The separate
|
|
111
|
+
Desktop application remains private alpha; Gemini remains provisional.
|
|
112
|
+
|
|
113
|
+
- Simplify first-use provider/model selection, credential setup, command help and recovery. Add UTF-8 task input, atomic profile updates and a shared searchable model catalog.
|
|
114
|
+
- Improve conversation activity, context estimates and compaction while preserving working plans. Add explicit unlimited cumulative-token mode without disabling per-request limits, accounting or other execution controls.
|
|
115
|
+
- Add authenticated local service transport, durable redacted event replay and application-owned read delegation with file scope and acceptance checks.
|
|
116
|
+
- Integrate the SDK prerelease batch certified by RC.10, including redaction, failed-child accounting and OpenAI function receipt fixes. Preserve approvals and exactly-once host effects across resume.
|
|
117
|
+
- Use Muse Spark 1.3, Qwen 3.8 Max and GPT-6 Luna for new selections and release certification. Add bounded Meta receipt-continuation recovery; preserve saved model selections and historical certification mappings.
|
|
118
|
+
- Preserve Stable 1.x contracts and state format 1. Existing installations need no state migration; review new default models when creating profiles.
|
|
119
|
+
|
|
120
|
+
RC.10 passed the full artifact, live and representative gates. Publication of this
|
|
121
|
+
stable artifact requires its own protected certification and provenance verification.
|
|
122
|
+
|
|
123
|
+
## 1.1.0-rc.10 - 2026-09-23
|
|
124
|
+
|
|
125
|
+
- Restore `qwen3.8-max` as the default for new CLI/Desktop selections and RC.10 certification. Keep saved models and historical release mappings unchanged.
|
|
126
|
+
- Remove transient provider/SDK investigation reports and their local trial evidence; retain them in Git history.
|
|
127
|
+
|
|
128
|
+
- Recover once when Meta Responses rejects a function receipt continuation because its response ID is unavailable. Replay the identical request after a bounded delay, preserve cancellation, and exclude hosted tools and unrelated HTTP errors. Host tools are not executed again.
|
|
129
|
+
- Bind the new Meta transport policy to durable run identity. Use Qwen 3.8 Max, OpenAI Luna 6 and Muse Spark 1.3 release models; full release certification remains required.
|
|
130
|
+
|
|
131
|
+
## 1.1.0-rc.9 - 2026-09-23
|
|
132
|
+
|
|
133
|
+
- Upgrade Core to 1.23.0-next.2 and Agents to 1.9.0-next.2. All eight consumer redaction cases pass, including later rejection and file-store reopen. Qwen Flash orchestration remains intermittent, so RC certification is still blocked.
|
|
134
|
+
|
|
135
|
+
- Default new Meta selections to Muse Spark 1.3 and use Responses for built-in Meta agent tool loops. Bind the transport migration to durable run identity; preserve saved model IDs and historical evidence. Certification remains pending.
|
|
136
|
+
|
|
137
|
+
- Add application-owned read delegation contracts: models select task IDs while Harness preserves task text, enforces file scope and validates acceptance. Keep durable SDK execution and budgets; expose finite error classifications without logging task content.
|
|
138
|
+
- Allow trusted strict-mode applications to select a fingerprint-bound tool catalog and render only relevant tool instructions. Use scoped contracts/catalogs in live certification without weakening effect, approval, journal or marker checks.
|
|
139
|
+
- Integrate the published SDK next batch with failed-child linkage/accounting and OpenAI function receipt fixes. Update native-tool fixtures to the consistent metadata contract.
|
|
140
|
+
- Publication remains blocked: governed Flash orchestration passed three local executions, but the scoped base campaign failed one of three cases on exact approval arguments before mutation. These are local validation results, not a new RC certification.
|
|
141
|
+
|
|
142
|
+
## 1.1.0-rc.8 - 2026-09-22
|
|
143
|
+
|
|
144
|
+
- Preserve OpenAI function tool receipts through approval resume using SDK result envelopes. Prevent function names such as `apply_patch` from being mistaken for native Responses tools and losing their output. Keep release assertions and fail-fast gates unchanged.
|
|
145
|
+
|
|
146
|
+
## 1.1.0-rc.7 - 2026-09-22
|
|
147
|
+
|
|
148
|
+
- Select `gpt-6-luna` as the OpenAI default for new CLI/Desktop choices and pin it in RC7 release certification. Preserve explicitly saved models and historical certification mappings.
|
|
149
|
+
- Identify failed base live-smoke checkpoints with allowlisted labels and assertion kinds, without retaining raw assertion values or model responses.
|
|
150
|
+
|
|
151
|
+
## 1.1.0-rc.6 - 2026-09-22
|
|
152
|
+
|
|
153
|
+
- Stop release gates and remaining providers after a confirmed failure while retaining exhaustive manual diagnostics.
|
|
154
|
+
- Preserve completed certification cases across report failures and record bounded, sanitized error structure and finalization phases.
|
|
155
|
+
|
|
156
|
+
## 1.1.0-rc.5 - 2026-09-22
|
|
157
|
+
|
|
158
|
+
Unpublished candidate targeting npm `next`, superseding the tagged but unpublished RC.4.
|
|
159
|
+
|
|
160
|
+
- Use `qwen3.8-flash` as the default Qwen model in CLI/Desktop and the new release certification matrix. Keep Max selectable and preserve explicitly saved model choices and historical certification pins. Flash requires fresh release-bound certification.
|
|
161
|
+
|
|
162
|
+
## 1.1.0-rc.4 - 2026-09-22
|
|
163
|
+
|
|
164
|
+
- Align the SDK batch with the latest stable packages verified on 2026-09-22:
|
|
165
|
+
Agents 1.8.0, Core 1.22.0, Gemini 0.12.1, Meta 0.2.6, OpenAI 0.13.4 and
|
|
166
|
+
Qwen 0.15.0. Keep the compatible TypeScript 6.0.3 compiler API for architecture
|
|
167
|
+
and Stable signature checks while building with TypeScript 7.0.2.
|
|
168
|
+
|
|
169
|
+
- Use searchable provider/model selection during first use, detect a lone environment
|
|
170
|
+
provider, recover failed keychain setup with explicit temporary use or retry, and
|
|
171
|
+
show one ready screen with credential source and approval policy.
|
|
172
|
+
- Make `doctor` follow conversation defaults and inspect the selected environment
|
|
173
|
+
or keychain credential without contacting the provider. Human diagnostics focus
|
|
174
|
+
on the selected provider; JSON retains the full provider inventory. One-shot
|
|
175
|
+
execution continues to require explicit profiles and environment credentials.
|
|
176
|
+
|
|
177
|
+
- Retain recent conversation groups by estimated tokens, adapt repair compaction
|
|
178
|
+
to remaining input allowance, and preserve structured working plans across
|
|
179
|
+
repeated summaries. Keep SDK approval/checkpoint ownership and explicit overrides.
|
|
180
|
+
- Unify context estimates, reuse transport measurements and cache tool-schema
|
|
181
|
+
serialization. Default discovery to ten search matches and path-only listings;
|
|
182
|
+
callers can explicitly request larger results and digests.
|
|
183
|
+
|
|
184
|
+
- Add `--no-token-budget` / `unlimitedTokens: true` to disable cumulative token
|
|
185
|
+
budgets for main runs and subagents while preserving usage accounting,
|
|
186
|
+
compaction, per-request limits, and non-token execution controls.
|
|
187
|
+
|
|
188
|
+
Unpublished release candidate targeting npm `next`, following published RC.3.
|
|
189
|
+
Fresh protected certification is required before publication. Stable `latest`
|
|
190
|
+
remains 1.0.0.
|
|
191
|
+
|
|
192
|
+
- Make appended command help independent of task/configuration validation, group options with examples, and accept `--name=value` for value options.
|
|
193
|
+
- Add explicit UTF-8 task input through `zhx run -` and `zhx review -`, bounded to 1 MiB and retaining approval requirements.
|
|
194
|
+
- Add atomic personal profile updates with `zhx init --update`, reopen provider/model selection after declining the default profile, and give actionable usage/configuration recovery messages.
|
|
195
|
+
- Share the curated model catalog across CLI and Desktop, with primary/other groups, explicit lifecycle and validation metadata, custom model IDs, and optional HTTPS catalog distribution with cached fallback.
|
|
196
|
+
- Improve the separate Desktop alpha with rendered Markdown, file diffs, conversation navigation and local preferences, accessible panels and controlled external links. Desktop retains its independent private alpha version.
|
|
197
|
+
|
|
7
198
|
## 1.1.0-rc.3 - 2026-09-22
|
|
8
199
|
|
|
9
|
-
|
|
10
|
-
|
|
200
|
+
Published release candidate on npm `next`. The changes below describe RC.3;
|
|
201
|
+
subsequent work belongs to RC.4. Stable `latest` remains 1.0.0.
|
|
11
202
|
|
|
12
203
|
- Group interactive tool activity into a bounded live line and summaries between assistant messages. Preserve individual failures, check receipts and approval requests; `/verbose` restores event detail.
|
|
13
204
|
- Identify token-budget and step-limit failures without mislabeling them as provider stream failures or exposing arbitrary provider error payloads.
|
|
@@ -744,3 +935,9 @@ No configuration, SQLite, approval, or execution-policy migration is required. E
|
|
|
744
935
|
deduplicates replay and reconciles lost responses before allowing another send.
|
|
745
936
|
- Verified packaged macOS chat with duplicate submission, failed check, expired
|
|
746
937
|
snapshot, transport interruption, renderer reload and split-secret fixtures.
|
|
938
|
+
|
|
939
|
+
- Local CLI continuity: align interactive tool/error/time limits with 50-step
|
|
940
|
+
turns; add `/continue` with retained results, exact session approvals for checks
|
|
941
|
+
and bounded dependency reads, a repeated-tool-failure circuit breaker and two
|
|
942
|
+
transport retries. Explicit policies, saved run receipts and automation defaults
|
|
943
|
+
remain authoritative.
|
package/README.md
CHANGED
|
@@ -6,15 +6,25 @@ Zhivex Harness is a local terminal assistant and TypeScript library. It supports
|
|
|
6
6
|
OpenAI, Qwen and Meta, with provisional Gemini support. Conversations and pending
|
|
7
7
|
approvals survive restarts.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
Use it to understand a repository, discuss a design, investigate a failure or
|
|
10
|
+
implement a change. Conversation context retains decisions, hypotheses and bounded
|
|
11
|
+
diagnostic excerpts across compaction. Edits and command execution keep their
|
|
12
|
+
own permission checks; a conversational summary never grants approval.
|
|
13
|
+
|
|
14
|
+
Version `1.2.0-rc.5` is prepared as an unpublished release candidate for npm `next`,
|
|
15
|
+
with console, local service and governed delegation improvements. Certification
|
|
16
|
+
and publication remain pending. The
|
|
17
|
+
[repository release status](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json)
|
|
18
|
+
preserves historical stable evidence. The installation commands below target
|
|
19
|
+
1.2.0-rc.5 once published; stable users can install `@zhivex-ai/harness@latest`.
|
|
20
|
+
Desktop retains its separate private alpha status.
|
|
11
21
|
|
|
12
22
|
## Quick start
|
|
13
23
|
|
|
14
24
|
Requires Node.js 22.13.0 or newer, Git and a provider API key.
|
|
15
25
|
|
|
16
26
|
```sh
|
|
17
|
-
npm install -g @zhivex-ai/harness@1.0.
|
|
27
|
+
npm install -g @zhivex-ai/harness@1.2.0-rc.5
|
|
18
28
|
cd /path/to/your/project
|
|
19
29
|
zhx
|
|
20
30
|
```
|
|
@@ -69,8 +79,8 @@ Gemini remains provisional. See the [support matrix](docs/SUPPORT_MATRIX.md) and
|
|
|
69
79
|
|
|
70
80
|
[Browse documentation](docs/README.md).
|
|
71
81
|
|
|
72
|
-
Version `1.
|
|
82
|
+
Version `1.1.1` is the current public npm release. Source checkout changes can be
|
|
73
83
|
newer than the published package. Consult the [changelog](CHANGELOG.md) and
|
|
74
84
|
[repository release status](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json)
|
|
75
|
-
for release
|
|
85
|
+
for the recorded 1.0.0 release; [release evidence](https://github.com/Zhivex/zhivex-harness/blob/main/docs/LIVE_CERTIFICATION.md)
|
|
76
86
|
records validation scope and limitations.
|
package/SECURITY.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
## Supported versions
|
|
4
4
|
|
|
5
|
-
Security fixes are provided for the latest published `1.
|
|
5
|
+
Security fixes are provided for the latest published `1.1.x` patch. Older minors and private checkpoints are not supported release channels. Registry integrity and provenance do not substitute for the separate provider and execution evidence recorded in [docs/LIVE_CERTIFICATION.md](https://github.com/Zhivex/zhivex-harness/blob/main/docs/LIVE_CERTIFICATION.md).
|
|
6
6
|
|
|
7
7
|
## Reporting a vulnerability
|
|
8
8
|
|
package/SUPPORT.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Support
|
|
2
2
|
|
|
3
|
-
Zhivex Harness `1.
|
|
3
|
+
Zhivex Harness `1.1.x` is the latest supported Node-first CLI and TypeScript library. Stable 1.x contracts follow [the stability policy](./docs/STABILITY.md); incompatible changes require a major release except documented urgent security corrections. Beta and experimental surfaces retain their declared policies. The mutable machine-readable `release-status.json` record preserves the verified 1.0.0 release; check npm for the current published version.
|
|
4
4
|
|
|
5
|
-
The 1.
|
|
5
|
+
The 1.1 support scope is tracked in the [machine-readable support matrix](./docs/support-matrix-1.1.json) and its [human-readable view](./docs/SUPPORT_MATRIX_1_1.md). The [1.0 matrix](./docs/SUPPORT_MATRIX.md) remains historical. Compatibility and removals follow [DEPRECATIONS.md](./docs/DEPRECATIONS.md) for the published 1.x line.
|
|
6
6
|
|
|
7
7
|
## Supported baseline
|
|
8
8
|
|
|
@@ -13,7 +13,7 @@ The 1.0 support scope is tracked in the [machine-readable support matrix](./docs
|
|
|
13
13
|
- the provider/model combinations marked certified in the package documentation; and
|
|
14
14
|
- HTTPS or explicitly allowed loopback-HTTP MCP endpoints using the documented bounded JSON-RPC subset.
|
|
15
15
|
|
|
16
|
-
Only the most recent published `1.
|
|
16
|
+
Only the most recent published `1.1.x` patch receives routine fixes. The exact `v1.1.1` tag passed the protected artifact, live-provider and representative release jobs. Gemini remains provisional until its complete harness live matrix passes against an exact release candidate. Live provider evidence is account-, model-, endpoint-, artifact-, and date-dependent; see [docs/LIVE_CERTIFICATION.md](https://github.com/Zhivex/zhivex-harness/blob/main/docs/LIVE_CERTIFICATION.md).
|
|
17
17
|
|
|
18
18
|
## Installation diagnostics
|
|
19
19
|
|
package/benchmarks/README.md
CHANGED
|
@@ -46,3 +46,20 @@ The opt-in [SWE-bench comparison](https://github.com/Zhivex/zhivex-harness/blob/
|
|
|
46
46
|
mini-SWE-agent and the native Zhivex OCI harness, exports actual patches, and grades
|
|
47
47
|
with the official SWE-bench evaluator. `bun run benchmark:swebench:test` validates
|
|
48
48
|
its offline contracts. Paid runs require a prepared, pinned matrix and `--live`.
|
|
49
|
+
|
|
50
|
+
## Bounded read and startup optimizations
|
|
51
|
+
|
|
52
|
+
CLI runs, resumes and conversations now enable at most four independent trusted
|
|
53
|
+
local read tools; mutation barriers and approval requirements remain in force.
|
|
54
|
+
Workspace indexing traverses at most eight directories at once and coalesces
|
|
55
|
+
only overlapping freshness checks. Later calls still validate directories and
|
|
56
|
+
ignore-file contents; there is no TTL or persistent content cache.
|
|
57
|
+
|
|
58
|
+
OCI inventory reserves each four-file batch against the aggregate workspace byte
|
|
59
|
+
limit before reading contents. Descriptor-bound reads remain capped at each
|
|
60
|
+
reserved size and fail if file identity or timestamps changed. Scoped instruction
|
|
61
|
+
validation reads at most four files concurrently and preserves durable digest checks.
|
|
62
|
+
|
|
63
|
+
The packaged CLI uses a separate lightweight help/version entrypoint and lazy
|
|
64
|
+
runtime chunks. Package smoke coverage must exercise the installed CLI and aliases
|
|
65
|
+
so missing chunks cannot pass as a working source checkout.
|