@zhivex-ai/harness 1.4.0-rc.1 → 1.4.0-rc.6

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 (56) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/README.md +25 -6
  3. package/contracts/engine-api.json +20 -0
  4. package/dist/acp-cli.js +7 -7
  5. package/dist/{cli-entry-645q3vwx.js → cli-entry-4k1cf0m3.js} +10 -10
  6. package/dist/{cli-entry-0c8vd42w.js → cli-entry-9c2k0zwz.js} +398 -95
  7. package/dist/{cli-mejgq79m.js → cli-s1rs15vv.js} +46 -22
  8. package/dist/cli.js +2 -2
  9. package/dist/client/check-evidence.d.ts +17 -0
  10. package/dist/client/run-document.d.ts +12 -0
  11. package/dist/compat/code-support.d.ts +4 -0
  12. package/dist/compat/code-support.js +12 -4
  13. package/dist/context/compaction.d.ts +5 -0
  14. package/dist/context/task-memory.d.ts +33 -1
  15. package/dist/engine/acp.js +8 -8
  16. package/dist/engine/client.js +7 -7
  17. package/dist/engine/desktop-state-v1.js +5 -5
  18. package/dist/engine/index.js +10 -10
  19. package/dist/engine/mcp-stdio-v1.js +4 -4
  20. package/dist/engine/service.js +8 -8
  21. package/dist/hostile-repository-demo.js +311 -86
  22. package/dist/{index-fm6ahk8m.js → index-0g939pfs.js} +11 -11
  23. package/dist/{index-ma9a5re7.js → index-2tgb2b4e.js} +3 -3
  24. package/dist/{index-n86069yc.js → index-49ys3s4q.js} +64 -14
  25. package/dist/{index-4nf70nq1.js → index-4j1h4j8c.js} +88 -40
  26. package/dist/{index-g0wfcb65.js → index-a1q355va.js} +125 -2
  27. package/dist/{index-8vm2m34s.js → index-dj5z774k.js} +18 -2
  28. package/dist/{index-z0qxmkm2.js → index-e6r04a18.js} +1 -1
  29. package/dist/{index-yb239ghk.js → index-r0tdj04h.js} +21 -6
  30. package/dist/{index-aqe7236b.js → index-rd0s3gqj.js} +23 -4
  31. package/dist/{index-ds5e9x3a.js → index-vtqfjnab.js} +98 -27
  32. package/dist/{index-hwff3qx5.js → index-z6br6qdn.js} +37 -22
  33. package/dist/index.js +10 -10
  34. package/dist/persistence/sdk-store-identity.d.ts +4 -0
  35. package/dist/runtime/error-diagnostics.d.ts +35 -0
  36. package/dist/runtime/harness.d.ts +1 -1
  37. package/dist/runtime/run-interruption.d.ts +1 -1
  38. package/dist/runtime/runtime-checkpoints.d.ts +3 -0
  39. package/dist/runtime/task-acceptance-native.d.ts +10 -0
  40. package/dist/runtime/time-to-safe-fix.d.ts +35 -0
  41. package/dist/service-cli.js +8 -8
  42. package/dist/{service-client-cli-2ye331s3.js → service-client-cli-b52c67hx.js} +2 -2
  43. package/dist/verify-historical-migrations.js +346 -105
  44. package/dist/zhx.js +2 -2
  45. package/docs/CLIENT_PROTOCOL.md +10 -0
  46. package/docs/CODE_RELEASE.md +91 -14
  47. package/docs/CONTEXT_ENGINEERING.md +23 -0
  48. package/docs/DURABLE_OPERATIONS.md +58 -1
  49. package/docs/ENGINE_API.md +12 -2
  50. package/docs/EXTENSIBILITY.md +1 -1
  51. package/docs/FIRST_USE.md +6 -6
  52. package/docs/LOCAL_SERVICE.md +10 -4
  53. package/docs/PROJECT_MEMORY.md +1 -1
  54. package/evaluations/representative-assembly-matrix.json +46 -1
  55. package/examples/README.md +3 -3
  56. package/package.json +10 -10
package/CHANGELOG.md CHANGED
@@ -4,11 +4,52 @@ 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.4.0-rc.6 - 2026-10-05
8
+
9
+ - Prepare matched Harness 1.4.0-rc.6 and Code 0.3.0-rc.6 for npm `next`, with the exact Code engine pin, private Desktop binding and an additive representative mapping using unchanged models and SDK pins.
10
+ - Include the reviewed activity projection fix from PR185: compact bounded UI snapshot previews without failing valid runs, preserve run identities/statuses and truncation markers, and split already-redacted streamed text into bounded Unicode-safe events. Durable policy/event journals, retention limits and approval authority are unchanged.
11
+ - Preserve the held RC.5 campaign and immutable tag/source. Its passing offline, live and 42/42 representative evidence belongs to the older artifact and does not certify RC.6. Keep the RC.4 failure history and SDK store migration requirements.
12
+ - Require fresh exact-source/artifact validation and separate explicit approval before any paid campaign, annotated tag or publication. Stable `latest` channels and provider/API tiers remain unchanged.
13
+
14
+ ## 1.4.0-rc.5 - 2026-10-05
15
+
16
+ - Prepare matched Harness 1.4.0-rc.5 and Code 0.3.0-rc.5 for npm `next`, with the exact engine pin, Desktop binding and a new representative mapping using unchanged models and SDK pins.
17
+ - Include the reviewed inherited-pipe termination regression correction: account for the existing cleanup grace and verify that the descendant heartbeat stops. Production termination protections are unchanged.
18
+ - Carry the reviewed Desktop lucide-react 1.50.0 update from main. Keep Desktop private alpha and retain all provider and API tiers.
19
+ - Preserve the immutable RC.4 tag and its failed offline campaign. Require a new exact artifact, unchanged protected gates and separate approval for any new paid campaign or publication.
20
+
21
+ The RC.4 SDK store migration requirements below still apply.
22
+
23
+ ## 1.4.0-rc.4 - 2026-10-05
24
+
25
+ - Integrate published Core 1.30.1, Agents 1.10.3, Anthropic 0.13.2, OpenAI 0.14.1, Qwen 0.16.4 and Vertex 1.2.4. Keep Meta 0.2.9 and Gemini 0.13.0; align Code and browser contributor pins and retain a single Core runtime in Harness.
26
+ - Prepare matched Harness 1.4.0-rc.4 and Code 0.3.0-rc.4 for npm `next`, with an exact engine pin, Desktop binding and a new representative mapping using unchanged models. Retain immutable RC.2/RC.3 evidence and all protected gates.
27
+ - Preserve Core 1.30.1 canonical identities and memory envelopes through backup/import, retaining verified legacy runs and rejecting mismatched identities. Finalize cooperative cancellation after the worker drains so session reads do not strand at `cancel_requested`.
28
+ - Record bounded continuity response shape, streamed event counts and usage for the next failed phase without retaining provider text. This does not identify or resolve the historical RC.3 Meta cause.
29
+
30
+ - Extend experimental task acceptance to bounded native reviewed edits and declared package-script checks, tying receipts to selected/protected file digests and the manifest. Block other effect tools and delegation for native task runs. Preserve the separate SDK run status and pending human review.
31
+ - Add a redacted recorded-check projection to beta run-result JSON and experimental Code host helpers. Stable declaration snapshots and Harness run/session/backup schemas are unchanged.
32
+ - Carry forward Meta SDK 0.2.9 reasoning usage as a subset of output tokens, without adding it again to totals.
33
+
34
+ Migration: stop all workers sharing an SDK store and upgrade them together, keeping a complete backup. Core 1.30.1 uses canonical identities for new runs; verified legacy runs retain their physical keys. Older workers cannot resolve new identities. Legacy default SDK memory without verified ownership requires explicit offline migration; do not rewrite IDs/scopes to bypass validation. See [SDK store migration](https://github.com/Zhivex/zhivex-ai-sdk/blob/4a93004395a80c183b1257bb1d02fb3a3d4050e1/docs/maintainers/AGENT_STORE_MIGRATION.md). Runs without a task contract retain their behavior. Native task contracts now enforce their edit/check tool scope and may report `pending_review`/`verified` when their watched-file requirements pass; they do not receive OCI sandbox, whole-snapshot or import guarantees. Check evidence remains invalid after watched-file drift or uncertain journal recovery.
35
+
36
+ ## 1.4.0-rc.3 - 2026-10-04
37
+
38
+ - Retain finite stage, assertion and provider-route identities in mixed-routing release diagnostics, preserve typed operational causes across artifact class boundaries, and keep cleanup failures from masking the original gate failure. Add offline fault coverage; historical release evidence remains unchanged.
39
+
40
+ - Prepare matched Harness 1.4.0-rc.3 and Code 0.3.0-rc.3 for npm `next`, preserving the complete certification workflow, model pins and provider support tiers. Keep RC.2 tags, retained artifacts and failed evidence immutable; RC.3 requires fresh source-bound artifact, OCI, live and representative gates.
41
+
42
+ ## 1.4.0-rc.2 - 2026-10-04
43
+
44
+ - Recover bounded prior assistant reports and plans through `read_task` after local session compaction, including immediate manual compaction of the first report and continued sessions after reconnect or host restart. Keep recovered text untrusted and separate from operator requests, approvals and acceptance evidence.
45
+
46
+ - Prepare the matched Harness 1.4.0-rc.2 and Code 0.3.0-rc.2 for npm `next`, retaining exact engine pins, historical model mappings and provider support tiers. Publication requires new release-bound artifact, OCI, live and representative gates.
47
+
7
48
  ## 1.4.0-rc.1 - 2026-10-04
8
49
 
9
50
  - Add experimental, project-scoped operator memory in the existing SQLite memory table, with explicit corrections/deletion, reviewed suggestions, provenance, freshness and bounded per-request retrieval.
10
51
  - Add local `memory` commands and `--no-memory` to Harness/Code without terminal layout changes. Curated mode stops automatic last-assistant capture; the stable engine default and explicit SDK memory integrations remain supported.
11
- - Preserve old state and import compatibility; document active deletion versus separately retained histories/backups and next-release engine pairing. See [Project memory](docs/PROJECT_MEMORY.md). The candidate is not yet published.
52
+ - Preserve old state and import compatibility; document active deletion versus separately retained histories/backups and next-release engine pairing. See [Project memory](docs/PROJECT_MEMORY.md). Published to npm `next` on 2026-10-04.
12
53
 
13
54
  - Pair with Code 0.3.0-rc.1 for compact terminal flow, pageable approval review and the local browser workspace with packaged assets. Publish Harness first to `next`; preserve stable `latest`.
14
55
 
package/README.md CHANGED
@@ -11,22 +11,27 @@ implement a change. Conversation context retains decisions, hypotheses and bound
11
11
  diagnostic excerpts across compaction. Edits and command execution keep their
12
12
  own permission checks; a conversational summary never grants approval.
13
13
 
14
+ For the developer-facing terminal product, install
15
+ `npm install -g @zhivex-ai/code@0.2.0` and run `zhivex-code` in your project.
16
+ See [Code installation and first use](https://github.com/Zhivex/zhivex-harness/blob/main/packages/code/README.md). Harness remains
17
+ the reusable engine and its compatibility CLI. The `/task` delivery workflow in
18
+ this checkout is an unreleased experimental Code addition, not a published feature.
19
+
14
20
  Version `1.3.0` is the current public npm release on `latest`, with terminal-independent engine
15
- entrypoints and the separately published Code CLI `0.2.0` on `latest`. Harness publication passed registry integrity and provenance verification. Harness RC7 and
16
- Code RC2 remain published on `next`. Stable package numbering does
21
+ entrypoints and the separately published Code CLI `0.2.0` on `latest`. Harness publication passed registry integrity and provenance verification. Harness `1.4.0-rc.1` and
22
+ Code `0.3.0-rc.1` are published on `next`. The RC.6 versions prepared in this
23
+ checkout remain unpublished. Stable package numbering does
17
24
  not change API stability tiers: beta and experimental APIs retain their policies,
18
25
  Gemini/Anthropic/Vertex remain provisional, and Desktop remains a private alpha.
19
26
 
20
- This checkout prepares Harness `1.4.0-rc.1` and Code `0.3.0-rc.1` for `next`, with an exact engine pin. Project memory, compact terminal review and the local browser workspace ship together after protected validation. See the [release procedure](https://github.com/Zhivex/zhivex-harness/blob/main/docs/RELEASE.md). The candidates are not yet published.
21
-
22
27
  ## Quick start
23
28
 
24
29
  Requires Node.js 22.13.0 or newer, Git and a provider API key.
25
30
 
26
- After RC publication, install the candidate below. Until then, use npm `latest` for stable Harness 1.3.0:
31
+ Install the stable npm release (`latest`, currently `1.3.0`):
27
32
 
28
33
  ```sh
29
- npm install -g @zhivex-ai/harness@1.4.0-rc.1
34
+ npm install -g @zhivex-ai/harness@latest
30
35
  cd /path/to/your/project
31
36
  zhx
32
37
  ```
@@ -42,6 +47,20 @@ Type `/` for common actions. `/model` changes the model, `/sessions` finds previ
42
47
  conversations, and `/diff` shows changes. Review requested actions before approving
43
48
  them. Ctrl+C stops active work; it does not undo completed changes.
44
49
 
50
+ ## Release candidates
51
+
52
+ This checkout prepares Harness `1.4.0-rc.6` and Code `0.3.0-rc.6` for `next`, with an exact engine pin. Project memory, compact terminal review and the local browser workspace ship together after protected validation. See the [release procedure](https://github.com/Zhivex/zhivex-harness/blob/main/docs/RELEASE.md). RC.6 publication is pending. It includes the reviewed bounded activity snapshot fix; RC.5 remains held and its source/tag cannot be reused for this fix. The failed RC.4 attempt and immutable source are preserved; npm `next` currently points to Harness `1.4.0-rc.1` and Code `0.3.0-rc.1`. These prerelease candidates are separate from the stable `latest` channel.
53
+
54
+ Use candidates only for prerelease validation. Check [npm versions](https://www.npmjs.com/package/@zhivex-ai/harness?activeTab=versions)
55
+ and the [release procedure](https://github.com/Zhivex/zhivex-harness/blob/main/docs/RELEASE.md)
56
+ before installing a candidate; `next` can still point to an earlier RC.
57
+
58
+ After publication of this exact candidate:
59
+
60
+ ```sh
61
+ npm install -g @zhivex-ai/harness@1.4.0-rc.6
62
+ ```
63
+
45
64
  ## A few commands are enough
46
65
 
47
66
  | Command | Purpose |
@@ -2715,6 +2715,26 @@
2715
2715
  "name": "readRegularFileNoFollow",
2716
2716
  "kind": "runtime",
2717
2717
  "tier": "experimental"
2718
+ },
2719
+ {
2720
+ "name": "resolvePackageCheckCommand",
2721
+ "kind": "runtime",
2722
+ "tier": "experimental"
2723
+ },
2724
+ {
2725
+ "name": "nativeTaskSnapshot",
2726
+ "kind": "runtime",
2727
+ "tier": "experimental"
2728
+ },
2729
+ {
2730
+ "name": "TASK_ACCEPTANCE_EVIDENCE_KEY",
2731
+ "kind": "runtime",
2732
+ "tier": "experimental"
2733
+ },
2734
+ {
2735
+ "name": "checkEvidence",
2736
+ "kind": "runtime",
2737
+ "tier": "experimental"
2718
2738
  }
2719
2739
  ]
2720
2740
  },
package/dist/acp-cli.js CHANGED
@@ -12,20 +12,20 @@ import {
12
12
  import {
13
13
  createHarness,
14
14
  createHarnessClientAdapter
15
- } from "./index-4nf70nq1.js";
16
- import"./index-aqe7236b.js";
17
- import"./index-g0wfcb65.js";
15
+ } from "./index-4j1h4j8c.js";
16
+ import"./index-rd0s3gqj.js";
17
+ import"./index-a1q355va.js";
18
18
  import {
19
19
  usagePricingSchema
20
- } from "./index-ds5e9x3a.js";
21
- import"./index-fm6ahk8m.js";
22
- import"./index-z0qxmkm2.js";
20
+ } from "./index-vtqfjnab.js";
21
+ import"./index-0g939pfs.js";
22
+ import"./index-e6r04a18.js";
23
23
  import {
24
24
  FileChangedWhileReadingError,
25
25
  FileSizeLimitError,
26
26
  UnsafeFileTypeError,
27
27
  readRegularFileNoFollow
28
- } from "./index-yb239ghk.js";
28
+ } from "./index-r0tdj04h.js";
29
29
  import {
30
30
  HARNESS_REQUIRED_CAPABILITIES,
31
31
  HARNESS_SUBAGENT_PROFILES,
@@ -427,7 +427,7 @@ Use zhx help all for the full reference and exit codes.`;
427
427
  // package.json
428
428
  var package_default = {
429
429
  name: "@zhivex-ai/harness",
430
- version: "1.4.0-rc.1",
430
+ version: "1.4.0-rc.6",
431
431
  description: "Governed, provider-portable runtime for coding agents with durable approvals and isolated repository execution.",
432
432
  type: "module",
433
433
  license: "MIT",
@@ -632,22 +632,22 @@ var package_default = {
632
632
  "smoke:mcp:installed": "bun run build && bun scripts/mcp-installed-smoke.ts"
633
633
  },
634
634
  dependencies: {
635
- "@zhivex-ai/agents": "1.10.2",
636
- "@zhivex-ai/anthropic": "0.13.1",
637
- "@zhivex-ai/core": "1.28.0",
635
+ "@zhivex-ai/agents": "1.10.3",
636
+ "@zhivex-ai/anthropic": "0.13.2",
637
+ "@zhivex-ai/core": "1.30.1",
638
638
  "@zhivex-ai/gemini": "0.13.0",
639
- "@zhivex-ai/meta": "0.2.8",
640
- "@zhivex-ai/openai": "0.13.7",
641
- "@zhivex-ai/qwen": "0.16.3",
642
- "@zhivex-ai/vertex": "1.2.2",
639
+ "@zhivex-ai/meta": "0.2.9",
640
+ "@zhivex-ai/openai": "0.14.1",
641
+ "@zhivex-ai/qwen": "0.16.4",
642
+ "@zhivex-ai/vertex": "1.2.4",
643
643
  "google-auth-library": "11.1.0",
644
644
  zod: "4.6.5"
645
645
  },
646
646
  overrides: {
647
- "@zhivex-ai/core": "1.28.0"
647
+ "@zhivex-ai/core": "1.30.1"
648
648
  },
649
649
  devDependencies: {
650
- "@agentclientprotocol/sdk": "1.5.1",
650
+ "@agentclientprotocol/sdk": "1.7.0",
651
651
  "@modelcontextprotocol/server": "2.2.0",
652
652
  "@types/bun": "1.4.2",
653
653
  "@types/node": "^26.6.3",