@zhivex-ai/harness 1.1.1 → 1.2.0-rc.13

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 (119) hide show
  1. package/CHANGELOG.md +160 -0
  2. package/README.md +14 -7
  3. package/SECURITY.md +1 -1
  4. package/SUPPORT.md +3 -3
  5. package/benchmarks/README.md +17 -0
  6. package/contracts/public-api.json +95 -5
  7. package/contracts/stable-api-signatures.json +38 -38
  8. package/dist/acp-cli.d.ts +2 -0
  9. package/dist/acp-cli.js +15938 -0
  10. package/dist/cli/arguments.d.ts +7 -1
  11. package/dist/cli/cli-credentials.d.ts +6 -1
  12. package/dist/cli/cli-options.d.ts +1 -1
  13. package/dist/cli/cli-profiles.d.ts +15 -0
  14. package/dist/cli/cli-stream.d.ts +3 -3
  15. package/dist/cli/console/console-budget.d.ts +9 -0
  16. package/dist/cli/console/console-commands.d.ts +3 -3
  17. package/dist/cli/console/console-compaction.d.ts +18 -0
  18. package/dist/cli/console/console-input.d.ts +22 -3
  19. package/dist/cli/console/console-navigation.d.ts +3 -0
  20. package/dist/cli/console/console-presentation.d.ts +9 -2
  21. package/dist/cli/console/console-progress.d.ts +6 -0
  22. package/dist/cli/console/console-reasoning.d.ts +3 -0
  23. package/dist/cli/doctor.d.ts +2 -2
  24. package/dist/cli/presentation.d.ts +8 -1
  25. package/dist/cli/qwen-connection.d.ts +23 -0
  26. package/dist/cli/run-document.d.ts +4 -4
  27. package/dist/cli/terminal/activity-history.d.ts +15 -0
  28. package/dist/cli/terminal/session-grants.d.ts +4 -0
  29. package/dist/cli/terminal/terminal-markdown.d.ts +7 -4
  30. package/dist/cli/terminal/terminal-table.d.ts +6 -0
  31. package/dist/cli/terminal/terminal-ui.d.ts +3 -0
  32. package/dist/cli/terminal/tool-activity.d.ts +21 -10
  33. package/dist/cli/tool-execution.d.ts +1 -0
  34. package/dist/cli-3jmy4h5h.js +5798 -0
  35. package/dist/cli-entry-1bx83sw4.js +4 -0
  36. package/dist/cli-entry-427869g9.js +2009 -0
  37. package/dist/cli-entry-64pdp3k5.js +17 -0
  38. package/dist/cli-entry-b1mfvmxe.js +376 -0
  39. package/dist/cli-entry-c2f58zj2.js +13602 -0
  40. package/dist/cli-entry.d.ts +2 -0
  41. package/dist/cli.d.ts +1 -0
  42. package/dist/cli.js +15 -19168
  43. package/dist/client/acp-stdio.d.ts +9 -0
  44. package/dist/client/acp.d.ts +18 -0
  45. package/dist/client/index.d.ts +2 -0
  46. package/dist/client/json-contracts.d.ts +22 -8
  47. package/dist/config-1k9t4jhh.js +59 -0
  48. package/dist/context/adaptive-compaction.d.ts +2 -0
  49. package/dist/context/compaction.d.ts +3 -1
  50. package/dist/context/qwen-reasoning.d.ts +5 -0
  51. package/dist/context/scoped-context.d.ts +61 -0
  52. package/dist/context/semantic-compaction.d.ts +21 -0
  53. package/dist/context/task-memory.d.ts +13 -8
  54. package/dist/execution/execution-environment.d.ts +5 -0
  55. package/dist/execution/oci-observability.d.ts +2 -0
  56. package/dist/execution/patch-diagnostics.d.ts +6 -0
  57. package/dist/hostile-repository-demo.js +4614 -1930
  58. package/dist/index.d.ts +13 -1
  59. package/dist/index.js +16435 -12486
  60. package/dist/integrations/mcp.d.ts +23 -3
  61. package/dist/models/catalog.d.ts +76 -0
  62. package/dist/models/compaction-recommendations.d.ts +28 -0
  63. package/dist/models/sdk-catalog-adapter.d.ts +7 -0
  64. package/dist/persistence/operations.d.ts +10 -6
  65. package/dist/persistence/state-backup-stream.d.ts +4 -0
  66. package/dist/persistence/state-backup.d.ts +52 -0
  67. package/dist/persistence/state-gitignore.d.ts +2 -0
  68. package/dist/persistence/workspace-checkpoints.d.ts +149 -0
  69. package/dist/providers/meta-continuation.d.ts +1 -1
  70. package/dist/providers/meta-errors.d.ts +2 -0
  71. package/dist/providers/meta-replay.d.ts +2 -0
  72. package/dist/providers/qwen-context.d.ts +2 -0
  73. package/dist/providers/qwen-hosted-policy.d.ts +5 -0
  74. package/dist/providers/reasoning.d.ts +18 -0
  75. package/dist/runtime/config.d.ts +12 -3
  76. package/dist/runtime/context-runtime.d.ts +12 -0
  77. package/dist/runtime/error-diagnostics.d.ts +641 -0
  78. package/dist/runtime/harness.d.ts +13 -4
  79. package/dist/runtime/model-edit-references.d.ts +8 -0
  80. package/dist/runtime/oci-delivery.d.ts +17 -0
  81. package/dist/runtime/progress-monitor.d.ts +33 -0
  82. package/dist/runtime/provider-diagnostics.d.ts +35 -0
  83. package/dist/runtime/runtime-checkpoints.d.ts +3 -0
  84. package/dist/runtime/runtime-diagnostics.d.ts +5 -5
  85. package/dist/runtime/runtime-policy.d.ts +14 -6
  86. package/dist/runtime/time-to-safe-fix.d.ts +308 -1
  87. package/dist/runtime/tool-execution.d.ts +11 -0
  88. package/dist/runtime/tool-policy.d.ts +55 -0
  89. package/dist/runtime/tool-scheduling.d.ts +5 -0
  90. package/dist/runtime/usage-ledger.d.ts +1 -0
  91. package/dist/service-cli.js +9422 -6622
  92. package/dist/service-client-cli-yx56n0hc.js +1086 -0
  93. package/dist/tools/dependency-read.d.ts +63 -0
  94. package/dist/tools/execution.d.ts +8 -8
  95. package/dist/tools/workspace.d.ts +31 -15
  96. package/dist/verify-historical-migrations.js +5272 -2437
  97. package/dist/workspace/file-security.d.ts +6 -0
  98. package/dist/zhx.js +15 -19168
  99. package/docs/ACP.md +55 -0
  100. package/docs/CLI.md +292 -29
  101. package/docs/CONTEXT_ENGINEERING.md +184 -20
  102. package/docs/CREDENTIALS.md +38 -6
  103. package/docs/DURABLE_OPERATIONS.md +10 -0
  104. package/docs/EXTENSIBILITY.md +101 -4
  105. package/docs/FIRST_USE.md +7 -5
  106. package/docs/MODEL_CATALOG.md +52 -1
  107. package/docs/README.md +1 -0
  108. package/docs/REPOSITORY_EDITING.md +42 -0
  109. package/docs/STABILITY.md +2 -0
  110. package/docs/SUPPORT_MATRIX_1_1.md +17 -0
  111. package/docs/USAGE.md +9 -0
  112. package/docs/WORKSPACE_CHECKPOINTS.md +27 -0
  113. package/docs/images/cli-conversation.png +0 -0
  114. package/docs/support-matrix-1.1.json +29 -0
  115. package/evaluations/golden-expectations.json +5 -0
  116. package/evaluations/representative-assembly-matrix.json +145 -1
  117. package/evaluations/representative-repositories-v2.jsonl +7 -0
  118. package/examples/README.md +2 -2
  119. package/package.json +19 -13
package/CHANGELOG.md CHANGED
@@ -4,6 +4,160 @@ 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.13 - 2026-09-26
8
+
9
+ - Store SQLite run history incrementally with published Core 1.26.0 and Agents 1.10.1. Keep the 4 MiB limit on the active checkpoint while retaining steps, tool results and compaction history separately; unchanged history is not rewritten.
10
+ - Export backups above 64 MiB through a bounded, versioned segment stream, preserving legacy JSON imports, checksums and atomic publication.
11
+ - Preserve full history through reopen and portable backup/restore, including legacy inline states. Report state-limit failures with bounded diagnostics and retain the SDK terminal failure checkpoint.
12
+ - Add a 200-read, 99-compaction regression covering more than 11 MB of hydrated history with a checkpoint below 48 KB. Full hydrated loads and disk retention remain proportional to history size.
13
+ - Prepare fresh exact-artifact, live and representative certification for RC13; RC12 publication evidence remains historical.
14
+
15
+ ## 1.2.0-rc.12 - 2026-09-26
16
+
17
+ - Preserve optional edit/retry fields in OpenAI Responses tool schemas; keep runtime validation, read-bound digests and approval checks unchanged.
18
+
19
+ - Strengthen release validation with representative fixtures v2, structural workflow checks and installed-runtime regressions; preserve historical evidence and publication gates.
20
+
21
+ ## 1.2.0-rc.11 - 2026-09-26
22
+
23
+ - Consume Qwen 0.16.2 with Core 1.25.0, retaining typed malformed tool-argument and SSE-event diagnostics through benchmark and release reports without exposing provider payloads or adding automatic retries.
24
+
25
+ ## 1.2.0-rc.10 - 2026-09-26
26
+
27
+ - Scope deterministic test discovery to maintained root and Desktop suites, excluding historical artifacts stored locally.
28
+ - CLI: featured model ordering, Qwen-hosted GLM/DeepSeek/Kimi choices, phase/total timing, committed file receipts, bounded `/activity` history, and literal task queues isolated from approvals.
29
+
30
+ - Add model-to-reasoning selection, `/reasoning` and `--reasoning`, with adapter-declared levels, personal-profile persistence and durable run bindings.
31
+ - Reuse bounded rejected edit candidates after targeted reference recovery, without regenerating file contents or bypassing exact-payload approval.
32
+ - Make Qwen's local compacted conversation authoritative instead of continuing remote response chains; retain reasoning and tool history.
33
+ - Guide scoped implementations toward editing and checking without an unnecessary planning-only turn.
34
+
35
+ ## 1.2.0-rc.9 - 2026-09-26
36
+
37
+ - Keep current user direction prominent across compaction, retain earlier task context, and migrate legacy summaries. Add a durable advisory for prolonged varied exploration without forcing edits or stopping legitimate investigation. Give the model actionable read-call and line-range corrections while preserving original error receipts and approvals.
38
+
39
+ - Allow bounded, read-only dependency source and documentation inspection, with listing and literal search for discovering package-relative files. Remove the separate metadata/type approval flow while retaining filesystem restrictions and mutation approvals.
40
+ - Keep routine exploration out of the conversation until a run or approval boundary; preserve visible edits and check outcomes, and explain known tool failures without dumping private payloads. Keep `/verbose` and machine output available.
41
+
42
+ ## 1.2.0-rc.8 - 2026-09-26
43
+
44
+ - Include durable child and descendant OCI snapshots in parent completion checks. Report `OCI_CHILD_DELIVERY_PENDING` when a delegated edit has not reached the host; missing descendant state fails closed without requesting an import from the wrong workspace.
45
+
46
+ - Prevent OCI runs from completing while edits remain only in their isolated snapshot. Detect pending delivery from actual host contents and modes, including resumed runs and command-created edits. Allow at most two read-only completion reminders, preserve import approvals and refusals, and persist an explicit incomplete-delivery result when delivery cannot finish.
47
+ - Report pending OCI delivery separately from verifier failures in representative release diagnostics.
48
+
49
+ - Prepare fresh exact-artifact certification for RC8. RC7 failed the Meta representative matrix before publication; its tag and evidence remain unchanged. Local Meta regression evidence does not replace certification of the new candidate.
50
+
51
+ ## 1.2.0-rc.7 - 2026-09-26
52
+
53
+ - Split live approval/resume diagnostics into receipt count, tool success, file read/content, and journal count/status checkpoints. Include bounded receipt and journal counters without tool arguments, file contents or provider output. Preserve every release acceptance assertion and the unpublished RC6 failure evidence.
54
+
55
+ - Prepare fresh exact-artifact certification for RC7 with the same Meta contributor, Qwen Flash and OpenAI Luna cohort. RC6 failed its base live gate before publication; its tag and evidence remain unchanged.
56
+
57
+ ## 1.2.0-rc.6 - 2026-09-26
58
+
59
+ - Deduplicate identical unsigned Qwen reasoning summaries against their streamed text before context accounting, including restored sessions. Preserve distinct, signed, and encrypted provider data.
60
+ - Treat the compaction threshold as a target that must fit the newest indivisible interaction, while keeping transport and run budgets authoritative. Validate repeated compaction followed by a real file edit and executable check.
61
+ - Guide scoped implementation toward editing once the relevant code and check are known; clarify exact tool names and dependency lookup paths to avoid repeated blocked discovery.
62
+
63
+ - Render pipe-delimited Markdown tables as aligned, wrapped terminal grids, with stacked cells on narrow terminals and Unicode-aware widths. Preserve plain redirected output and terminal-control sanitization.
64
+ - Keep Meta Responses conversation history locally with `store: false` and encrypted reasoning replay, instead of depending on `previous_response_id` availability. Resume existing sessions from retained messages and tool receipts without rerunning completed tools; older turns without encrypted reasoning retain their visible history only.
65
+ - Allow two bounded receipt-only continuation backoffs (1s and 2s) for legacy stateful requests. Add generate/stream replay regressions and an opt-in live check for encrypted replay across model instances.
66
+
67
+ ## 1.2.0-rc.5 - 2026-09-26
68
+
69
+ - 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.
70
+ - 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.
71
+ - Return malformed application-owned delegation arguments through bounded SDK validation feedback without launching a child. Preserve hidden-tool rejection and exact task-ID authorization.
72
+ - 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.
73
+ - Prioritize recent user corrections over the historical objective and assistant recollections during compaction; retain more distinct user steering within the same summary budget.
74
+ - 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.
75
+ - Refresh discovered directory guidance after normal edits instead of aborting the conversation; retain path, link, encoding and size protections.
76
+ - Return the matching persisted context/accounting checkpoint in all runs, and detect repeated tool cycles even when the model changes its progress narration.
77
+ - 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.
78
+ - 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.
79
+ - Share a finite 50-step default across API and chat, and accept explicit larger step/tool-call limits without the former arbitrary ceilings.
80
+ - 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.
81
+ - 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.
82
+
83
+ ## 1.2.0-rc.4 - 2026-09-26
84
+
85
+ - 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.
86
+ - 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.
87
+ - 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.
88
+
89
+ ## 1.2.0-rc.3 - 2026-09-25
90
+
91
+ - 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.
92
+ - 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.
93
+ - 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.
94
+ - 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.
95
+
96
+ ## 1.2.0-rc.2 - 2026-09-25
97
+
98
+ - 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.
99
+
100
+ - Recover one terminal OCI patch-ID mismatch against an unchanged inspected snapshot through model feedback and a fresh approval; preserve the limit across resume.
101
+ - Run release live provider gates against the validated tarball and require packaged Desktop restart, effect-recovery, cancellation and worktree smokes in CI.
102
+ - Let Desktop offer stay/cancel before draining IPC blocked on an active run; retain draining before host shutdown.
103
+
104
+ - 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.
105
+
106
+ ## 1.2.0-rc.1 - 2026-09-25
107
+
108
+ - 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.
109
+ - Remove archived candidate notes and exploratory design assets from the working tree; preserve links to their Git history.
110
+
111
+ - 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.
112
+
113
+ - Add opt-in model-assisted compaction with explicit provider/model selection, shared token budgets, and durable usage accounting; retain deterministic compaction by default.
114
+ - Enrich the model catalog with sourced context/output limits, pricing evidence, and conservative compaction recommendations available through `/compaction`.
115
+ - Load scoped repository instructions after authorized reads, detect repeated unproductive cycles, and execute approved independent local reads concurrently with mutation barriers.
116
+ - 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.
117
+
118
+ - Normalize fragmented Qwen reasoning losslessly in saved histories and new streams so repeated event envelopes do not exhaust compaction limits.
119
+
120
+
121
+ - Prevent long `runHarness` streams from exhausting the SDK replay history; retain a bounded tail with full live delivery and observe completion rejections immediately.
122
+
123
+
124
+ - Keep compact chat progress visible during model waits and retain grouped summaries of completed tools.
125
+
126
+
127
+ - 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.
128
+
129
+
130
+ - Interactive Qwen service/region credentials, explicit endpoint conflict handling, optional `/connection` probe, and session-scoped `/approvals` menu.
131
+
132
+
133
+ - Add local ask/auto/restricted approval modes and approval-gated, bounded dependency metadata/type reads with task-scoped consent.
134
+ - Let local CLI runs recover from tool execution failures within existing error budgets and explain protected-path failures in terminal diagnostics.
135
+
136
+ - Default new local interactive sessions to continued execution without cumulative token ceilings; preserve explicit limits, saved policies and bounded automation/SDK/service defaults.
137
+ - Add `--token-budget` and `--context-tokens`, and distinguish retained context from cumulative usage and remaining budget in console diagnostics.
138
+
139
+ - Check estimated request input against remaining cumulative input and total tokens before contacting the provider.
140
+ - Update single-agent compaction thresholds with consumption from the current invocation; strict runs switch to an evidence-based final answer near their token budget.
141
+ - Preserve reported usage in failed checkpoints when an over-budget response is rejected before its tools execute.
142
+
143
+ ## 1.1.4 - 2026-09-24
144
+
145
+ - Preserve provider-independent rejection reasons in sanitized diagnostics and Actions summaries, with bounded response inspection and separate transport/stream failures.
146
+ - Distinguish cleanup completion, result flushing and pending process exit; retain a completed provider failure when the supervisor later times out.
147
+ - Preserve all five bounded entries in a completed driver failure after a supervisor timeout, including a provider diagnostic at the end of the chain.
148
+
149
+ ## 1.1.3 - 2026-09-24
150
+
151
+ - Add bounded model/HTTP-attempt, tool and OCI timing spans, phase history, timeout budgets and per-case Actions evidence links.
152
+ - 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.
153
+
154
+ ## 1.1.2 - 2026-09-24
155
+
156
+ - Update Qwen to 0.15.2 for the current QwenCloud Token Plan endpoint and supported Max/Flash models; document explicit credential and endpoint pairing.
157
+ - Keep successful tool activity out of the interactive transcript, retain transient TTY status and `/verbose`, and preserve Markdown formatting across streaming pauses.
158
+ - Repair safe owner-controlled SQLite lock permissions on macOS and exclude newly created local state from ordinary Git adds without deleting existing sessions.
159
+ - Show bounded Meta HTTP failure reasons and suppress duplicate terminal errors. The reported live HTTP 400 remains unconfirmed; no blanket retry is added.
160
+
7
161
  ## 1.1.1 - 2026-09-23
8
162
 
9
163
  - 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.
@@ -841,3 +995,9 @@ No configuration, SQLite, approval, or execution-policy migration is required. E
841
995
  deduplicates replay and reconciles lost responses before allowing another send.
842
996
  - Verified packaged macOS chat with duplicate submission, failed check, expired
843
997
  snapshot, transport interruption, renderer reload and split-secret fixtures.
998
+
999
+ - Local CLI continuity: align interactive tool/error/time limits with 50-step
1000
+ turns; add `/continue` with retained results, exact session approvals for checks
1001
+ and bounded dependency reads, a repeated-tool-failure circuit breaker and two
1002
+ transport retries. Explicit policies, saved run receipts and automation defaults
1003
+ remain authoritative.
package/README.md CHANGED
@@ -6,18 +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
- Version `1.1.1` is prepared for stable publication, with console, local service
10
- and governed delegation improvements. Publication remains pending until the
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.13` is prepared as an unpublished release candidate for npm `next`,
15
+ with incremental durable history and bounded active checkpoints for long conversations. Certification
16
+ and publication remain pending. The
11
17
  [repository release status](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json)
12
- records its verified artifact. The installation commands below target 1.1.1 once
13
- published. Desktop retains its separate private alpha status.
18
+ preserves historical stable evidence. The installation commands below target
19
+ 1.2.0-rc.13 once published; stable users can install `@zhivex-ai/harness@latest`.
20
+ Desktop retains its separate private alpha status.
14
21
 
15
22
  ## Quick start
16
23
 
17
24
  Requires Node.js 22.13.0 or newer, Git and a provider API key.
18
25
 
19
26
  ```sh
20
- npm install -g @zhivex-ai/harness@1.1.1
27
+ npm install -g @zhivex-ai/harness@1.2.0-rc.13
21
28
  cd /path/to/your/project
22
29
  zhx
23
30
  ```
@@ -72,8 +79,8 @@ Gemini remains provisional. See the [support matrix](docs/SUPPORT_MATRIX.md) and
72
79
 
73
80
  [Browse documentation](docs/README.md).
74
81
 
75
- Version `1.0.0` is the current public npm release. Source checkout changes can be
82
+ Version `1.1.1` is the current public npm release. Source checkout changes can be
76
83
  newer than the published package. Consult the [changelog](CHANGELOG.md) and
77
84
  [repository release status](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json)
78
- for release identity; [release evidence](https://github.com/Zhivex/zhivex-harness/blob/main/docs/LIVE_CERTIFICATION.md)
85
+ for the recorded 1.0.0 release; [release evidence](https://github.com/Zhivex/zhivex-harness/blob/main/docs/LIVE_CERTIFICATION.md)
79
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.0.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).
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.0.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 public release state is recorded in the repository [release-status.json](https://raw.githubusercontent.com/Zhivex/zhivex-harness/main/release-status.json), outside immutable npm artifacts.
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.0 support scope is tracked in the [machine-readable support matrix](./docs/support-matrix.json) and its [human-readable view](./docs/SUPPORT_MATRIX.md). Compatibility and removals follow [DEPRECATIONS.md](./docs/DEPRECATIONS.md) for the published 1.x line.
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.0.x` patch receives routine fixes. The exact `v1.0.0` tag passed protected release-bound base, orchestration, routing and model-directed execution for Meta, Qwen and OpenAI on 2026-09-20; the complete representative matrix passed on its authorized second attempt. 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).
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
 
@@ -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.
@@ -75,6 +75,7 @@
75
75
  "NODE_ENGINE_RANGE",
76
76
  "PROVIDERS",
77
77
  "PROVIDER_DESCRIPTORS",
78
+ "SEMANTIC_COMPACTION_VERSION",
78
79
  "SESSION_RUN_STATUSES",
79
80
  "TERMINAL_RUN_STATUSES",
80
81
  "TERMINAL_SESSION_RUN_STATUSES",
@@ -88,6 +89,7 @@
88
89
  "Workspace",
89
90
  "appendUserMessage",
90
91
  "applyEditProposalInputSchema",
92
+ "applyHarnessToolPolicy",
91
93
  "assertHarnessModelCapabilities",
92
94
  "cancelHarnessRun",
93
95
  "canonicalizeChangeEnvelope",
@@ -128,6 +130,7 @@
128
130
  "compactHarnessMessages",
129
131
  "computeChangeEnvelopeDigest",
130
132
  "computeChangeEnvelopeEvidenceDigest",
133
+ "createAcpConnection",
131
134
  "createChangeEnvelope",
132
135
  "createEditProposal",
133
136
  "createEmptyHarnessContextBundle",
@@ -140,9 +143,12 @@
140
143
  "createHarnessRouteModels",
141
144
  "createHarnessStateBackup",
142
145
  "createHarnessSubagents",
146
+ "createHarnessToolPolicy",
143
147
  "createHttpMcpClient",
148
+ "createProgressMonitor",
144
149
  "createProviderModel",
145
150
  "createProviderRegistry",
151
+ "createSemanticCompactor",
146
152
  "createTimeToSafeFixCases",
147
153
  "createTimeToSafeFixReport",
148
154
  "createTimeToSafeFixSample",
@@ -172,6 +178,7 @@
172
178
  "harnessLifecycleFingerprintInput",
173
179
  "harnessLocalCredentialsSchema",
174
180
  "harnessSkillLoadInputSchema",
181
+ "harnessToolPolicySchema",
175
182
  "importHarnessStateBackup",
176
183
  "importHarnessStateBackupFile",
177
184
  "injectTimeToSafeFixAttack",
@@ -194,6 +201,7 @@
194
201
  "openHarnessActivityStore",
195
202
  "openHarnessPersistence",
196
203
  "openSessionStore",
204
+ "openWorkspaceCheckpointStore",
197
205
  "parseCliJsonDocument",
198
206
  "parseCliJsonLineDocument",
199
207
  "parseHarnessModelRoute",
@@ -203,6 +211,7 @@
203
211
  "quarantineFileInputSchema",
204
212
  "readHarnessLocalCredentials",
205
213
  "readHarnessStateBackup",
214
+ "recommendCompactionModels",
206
215
  "recoverHarnessLocalService",
207
216
  "renderHarnessContextInstructions",
208
217
  "requestHarnessLocalService",
@@ -217,6 +226,7 @@
217
226
  "serializeHarnessModelRoutes",
218
227
  "serializeStreamEvent",
219
228
  "serializeStreamResult",
229
+ "serveAcpStdio",
220
230
  "startHarnessLocalService",
221
231
  "stateBackupBundleSchema",
222
232
  "streamEventDocument",
@@ -309,6 +319,7 @@
309
319
  "experimentalRuntimeExports": [
310
320
  "DEFAULT_TIME_TO_SAFE_FIX_GOAL",
311
321
  "HARNESS_CLIENT_PROTOCOL_VERSION",
322
+ "SEMANTIC_COMPACTION_VERSION",
312
323
  "TIME_TO_SAFE_FIX_CARRIERS",
313
324
  "TIME_TO_SAFE_FIX_DIAGNOSTIC_CODES",
314
325
  "TIME_TO_SAFE_FIX_FAILURE_ORIGINS",
@@ -316,19 +327,28 @@
316
327
  "TIME_TO_SAFE_FIX_GOALS",
317
328
  "TIME_TO_SAFE_FIX_PROFILES",
318
329
  "TIME_TO_SAFE_FIX_SCHEMA_VERSION",
330
+ "applyHarnessToolPolicy",
319
331
  "classifyTimeToSafeFixFailure",
332
+ "createAcpConnection",
320
333
  "createHarnessClientAdapter",
334
+ "createHarnessToolPolicy",
335
+ "createProgressMonitor",
336
+ "createSemanticCompactor",
321
337
  "createTimeToSafeFixCases",
322
338
  "createTimeToSafeFixReport",
323
339
  "createTimeToSafeFixSample",
324
340
  "harnessClientCommandSchema",
325
341
  "harnessClientRequestSchema",
326
342
  "harnessLocalCredentialsSchema",
343
+ "harnessToolPolicySchema",
327
344
  "injectTimeToSafeFixAttack",
328
345
  "openHarnessActivityStore",
346
+ "openWorkspaceCheckpointStore",
329
347
  "readHarnessLocalCredentials",
348
+ "recommendCompactionModels",
330
349
  "recoverHarnessLocalService",
331
350
  "requestHarnessLocalService",
351
+ "serveAcpStdio",
332
352
  "startHarnessLocalService",
333
353
  "timeToSafeFixDriverResultSchema",
334
354
  "timeToSafeFixLatencyStatistics",
@@ -498,6 +518,9 @@
498
518
  "CliStreamErrorDocument",
499
519
  "CliStreamResultDocument",
500
520
  "CommandResult",
521
+ "CompactionModelAssessment",
522
+ "CompactionModelRecommendations",
523
+ "CompactionRecommendationRequest",
501
524
  "CreateChangeEnvelopeInput",
502
525
  "CreateHarnessOciEnvironmentOptions",
503
526
  "CreateHarnessOptions",
@@ -560,7 +583,9 @@
560
583
  "HarnessLocalServiceOptions",
561
584
  "HarnessMcpClients",
562
585
  "HarnessMcpConfiguration",
586
+ "HarnessMcpHttpOptions",
563
587
  "HarnessMcpPermission",
588
+ "HarnessMcpResourceClient",
564
589
  "HarnessMcpServerConfig",
565
590
  "HarnessMcpTransport",
566
591
  "HarnessMigrationResult",
@@ -588,6 +613,8 @@
588
613
  "HarnessSubagentProfile",
589
614
  "HarnessSubagentProfileDescriptor",
590
615
  "HarnessSubagentRuntime",
616
+ "HarnessToolPolicy",
617
+ "HarnessToolPolicyDecision",
591
618
  "ListFilesOptions",
592
619
  "ListFilesResult",
593
620
  "ListSessionsQuery",
@@ -605,6 +632,8 @@
605
632
  "OciRunBatchRequest",
606
633
  "OciRunRequest",
607
634
  "OpenSessionStoreOptions",
635
+ "ProgressMonitorState",
636
+ "ProgressSignal",
608
637
  "ProviderAvailability",
609
638
  "ProviderCapability",
610
639
  "ProviderCredentials",
@@ -649,8 +678,10 @@
649
678
  "TimeToSafeFixTask",
650
679
  "UpdateSessionInput",
651
680
  "UpdateSessionRunInput",
681
+ "WorkspaceCheckpoint",
652
682
  "WorkspaceFile",
653
683
  "WorkspaceIndexDiagnostics",
684
+ "WorkspaceRestoreOperation",
654
685
  "WorkspaceTopologyFile",
655
686
  "ZhivexHarness"
656
687
  ],
@@ -815,6 +846,9 @@
815
846
  "WorkspaceTopologyFile"
816
847
  ],
817
848
  "experimentalTypeExports": [
849
+ "CompactionModelAssessment",
850
+ "CompactionModelRecommendations",
851
+ "CompactionRecommendationRequest",
818
852
  "HarnessActivityEvent",
819
853
  "HarnessActivityOptions",
820
854
  "HarnessActivityPage",
@@ -833,6 +867,12 @@
833
867
  "HarnessLocalCredentials",
834
868
  "HarnessLocalService",
835
869
  "HarnessLocalServiceOptions",
870
+ "HarnessMcpHttpOptions",
871
+ "HarnessMcpResourceClient",
872
+ "HarnessToolPolicy",
873
+ "HarnessToolPolicyDecision",
874
+ "ProgressMonitorState",
875
+ "ProgressSignal",
836
876
  "TimeToSafeFixAggregate",
837
877
  "TimeToSafeFixCarrier",
838
878
  "TimeToSafeFixCase",
@@ -847,7 +887,9 @@
847
887
  "TimeToSafeFixRatioStatistics",
848
888
  "TimeToSafeFixReport",
849
889
  "TimeToSafeFixSample",
850
- "TimeToSafeFixTask"
890
+ "TimeToSafeFixTask",
891
+ "WorkspaceCheckpoint",
892
+ "WorkspaceRestoreOperation"
851
893
  ],
852
894
  "cli": {
853
895
  "commands": [
@@ -905,6 +947,7 @@
905
947
  "allowed": [
906
948
  "--provider",
907
949
  "--model",
950
+ "--reasoning",
908
951
  "--profile",
909
952
  "--update",
910
953
  "--json"
@@ -917,10 +960,13 @@
917
960
  "allowed": [
918
961
  "--service",
919
962
  "--session",
963
+ "--compaction-model",
964
+ "--compaction-provider",
920
965
  "--pricing-file",
921
966
  "--usage-limit-usd",
922
967
  "--provider",
923
968
  "--model",
969
+ "--reasoning",
924
970
  "--profile",
925
971
  "--route",
926
972
  "--workspace",
@@ -932,7 +978,7 @@
932
978
  "--mcp-config",
933
979
  "--context-config",
934
980
  "--no-project-context",
935
- "--agent-profile",
981
+ "--require-verified-delivery",
936
982
  "--execution",
937
983
  "--oci-runtime",
938
984
  "--oci-image",
@@ -946,6 +992,8 @@
946
992
  "--oci-max-workspace-bytes",
947
993
  "--oci-max-file-write-bytes",
948
994
  "--oci-tmpfs-mb",
995
+ "--token-budget",
996
+ "--context-tokens",
949
997
  "--no-token-budget",
950
998
  "--max-steps",
951
999
  "--timeout-ms",
@@ -968,6 +1016,7 @@
968
1016
  "--require-capability",
969
1017
  "--subagent",
970
1018
  "--idempotency-key",
1019
+ "--approval-mode",
971
1020
  "--yes",
972
1021
  "--json",
973
1022
  "--jsonl"
@@ -986,6 +1035,12 @@
986
1035
  "--input-cost-per-million",
987
1036
  "--output-cost-per-million"
988
1037
  ],
1038
+ "--token-budget": [
1039
+ "--no-token-budget"
1040
+ ],
1041
+ "--no-token-budget": [
1042
+ "--token-budget"
1043
+ ],
989
1044
  "--max-cost-usd": [
990
1045
  "--usage-limit-usd"
991
1046
  ],
@@ -995,6 +1050,12 @@
995
1050
  "--output-cost-per-million": [
996
1051
  "--usage-limit-usd"
997
1052
  ],
1053
+ "--approval-mode": [
1054
+ "--yes"
1055
+ ],
1056
+ "--yes": [
1057
+ "--approval-mode"
1058
+ ],
998
1059
  "--json": [
999
1060
  "--jsonl"
1000
1061
  ],
@@ -1009,6 +1070,7 @@
1009
1070
  "--usage-limit-usd",
1010
1071
  "--provider",
1011
1072
  "--model",
1073
+ "--reasoning",
1012
1074
  "--profile",
1013
1075
  "--route",
1014
1076
  "--workspace",
@@ -1043,10 +1105,13 @@
1043
1105
  "chat": {
1044
1106
  "allowed": [
1045
1107
  "--service",
1108
+ "--compaction-model",
1109
+ "--compaction-provider",
1046
1110
  "--pricing-file",
1047
1111
  "--usage-limit-usd",
1048
1112
  "--provider",
1049
1113
  "--model",
1114
+ "--reasoning",
1050
1115
  "--profile",
1051
1116
  "--route",
1052
1117
  "--workspace",
@@ -1058,7 +1123,7 @@
1058
1123
  "--mcp-config",
1059
1124
  "--context-config",
1060
1125
  "--no-project-context",
1061
- "--agent-profile",
1126
+ "--require-verified-delivery",
1062
1127
  "--execution",
1063
1128
  "--oci-runtime",
1064
1129
  "--oci-image",
@@ -1072,6 +1137,8 @@
1072
1137
  "--oci-max-workspace-bytes",
1073
1138
  "--oci-max-file-write-bytes",
1074
1139
  "--oci-tmpfs-mb",
1140
+ "--token-budget",
1141
+ "--context-tokens",
1075
1142
  "--no-token-budget",
1076
1143
  "--max-steps",
1077
1144
  "--timeout-ms",
@@ -1093,6 +1160,7 @@
1093
1160
  "--allow-check",
1094
1161
  "--require-capability",
1095
1162
  "--subagent",
1163
+ "--approval-mode",
1096
1164
  "--yes",
1097
1165
  "--session",
1098
1166
  "--continue"
@@ -1111,6 +1179,12 @@
1111
1179
  "--input-cost-per-million",
1112
1180
  "--output-cost-per-million"
1113
1181
  ],
1182
+ "--token-budget": [
1183
+ "--no-token-budget"
1184
+ ],
1185
+ "--no-token-budget": [
1186
+ "--token-budget"
1187
+ ],
1114
1188
  "--max-cost-usd": [
1115
1189
  "--usage-limit-usd"
1116
1190
  ],
@@ -1120,6 +1194,12 @@
1120
1194
  "--output-cost-per-million": [
1121
1195
  "--usage-limit-usd"
1122
1196
  ],
1197
+ "--approval-mode": [
1198
+ "--yes"
1199
+ ],
1200
+ "--yes": [
1201
+ "--approval-mode"
1202
+ ],
1123
1203
  "--session": [
1124
1204
  "--continue"
1125
1205
  ],
@@ -1140,6 +1220,7 @@
1140
1220
  "allowed": [
1141
1221
  "--provider",
1142
1222
  "--model",
1223
+ "--reasoning",
1143
1224
  "--profile",
1144
1225
  "--workspace",
1145
1226
  "--state-dir",
@@ -1150,7 +1231,7 @@
1150
1231
  "--mcp-config",
1151
1232
  "--context-config",
1152
1233
  "--no-project-context",
1153
- "--agent-profile",
1234
+ "--require-verified-delivery",
1154
1235
  "--execution",
1155
1236
  "--oci-runtime",
1156
1237
  "--oci-image",
@@ -1164,6 +1245,8 @@
1164
1245
  "--oci-max-workspace-bytes",
1165
1246
  "--oci-max-file-write-bytes",
1166
1247
  "--oci-tmpfs-mb",
1248
+ "--token-budget",
1249
+ "--context-tokens",
1167
1250
  "--no-token-budget",
1168
1251
  "--max-steps",
1169
1252
  "--timeout-ms",
@@ -1194,7 +1277,14 @@
1194
1277
  "--require-capability",
1195
1278
  "--subagent"
1196
1279
  ],
1197
- "conflicts": {}
1280
+ "conflicts": {
1281
+ "--token-budget": [
1282
+ "--no-token-budget"
1283
+ ],
1284
+ "--no-token-budget": [
1285
+ "--token-budget"
1286
+ ]
1287
+ }
1198
1288
  },
1199
1289
  "resume": {
1200
1290
  "allowed": [