@skein-code/cli 0.3.13 → 0.3.14

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.
@@ -52,7 +52,10 @@
52
52
  receives one bounded recovery turn; the runtime persists `verified`,
53
53
  `unverified`, or `verification_failed` instead of trusting completion claims
54
54
  in model text.
55
- 10. Persist the outcome and expose the same status through the TUI, text, JSON,
55
+ 10. Before the first substantive write, run the warning-only repository reuse
56
+ gate. It binds current candidate/read evidence to the request, index
57
+ generation, and change sequence without retaining source text.
58
+ 11. Persist the outcome and expose the same status through the TUI, text, JSON,
56
59
  and JSONL surfaces.
57
60
 
58
61
  ## Interactive startup gate
@@ -9,7 +9,7 @@ one of the milestones below.
9
9
 
10
10
  - Product name: `Skein`; primary executable: `skein`.
11
11
  - Compatibility executables: `mosaic` and `mosaic-code`.
12
- - Current repository version: `0.3.13`.
12
+ - Current repository version: `0.3.14`.
13
13
  - Runtime requirement: Node.js `>=22.16.0` (the runtime uses unflagged
14
14
  `node:sqlite` with FTS5, and current CLI/build dependencies require this
15
15
  Node 22 baseline).
@@ -41,8 +41,8 @@ npm audit --omit=dev
41
41
  npm run release:verify -- --output-dir artifacts/package
42
42
  ```
43
43
 
44
- The latest verified package is `skein-code-cli-0.3.13.tgz`. The verifier writes
45
- its SHA-256 to `artifacts/package/skein-code-cli-0.3.13.tgz.sha256`, and CI
44
+ The latest verified package is `skein-code-cli-0.3.14.tgz`. The verifier writes
45
+ its SHA-256 to `artifacts/package/skein-code-cli-0.3.14.tgz.sha256`, and CI
46
46
  retains the checksum beside the package metadata. The checksum is deliberately
47
47
  not copied into this packaged document because doing so would change the
48
48
  archive it describes.
@@ -54,6 +54,20 @@ short-height case. The current full-suite count is recorded from the latest
54
54
 
55
55
  ## Recommended Order
56
56
 
57
+ ### P0-D: Warning-only repository reuse gate
58
+
59
+ Version `0.3.14` adds the first runtime reuse slice. The prompt states a short
60
+ repository-first ladder, while `src/agent/reuse-gate.ts` evaluates only the
61
+ first substantive `write_file` or `apply_patch` addition. It flushes the local
62
+ index, re-reads ranked candidates, and persists a bounded `ReuseReceipt` with
63
+ hashed query metadata, paths, symbols, scores, read status, generation, and
64
+ change sequence. The receipt never stores source or prompt text. This release
65
+ is intentionally warning-only; an unavailable index is `unresolved`, not a
66
+ false pass, and legitimate docs/config/test/generated/deletion/local-edit
67
+ changes are exempt. The next slice is deterministic function extraction and
68
+ post-write duplication audit; high-confidence blocking waits for fixture-based
69
+ precision calibration.
70
+
57
71
  ### P0: Continuous Integration And Release Reproducibility
58
72
 
59
73
  `.github/workflows/ci.yml` now covers Node 22 on macOS and Linux. It runs
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skein-code/cli",
3
- "version": "0.3.13",
3
+ "version": "0.3.14",
4
4
  "description": "A context-first, model-agnostic coding agent with an auditable terminal workspace.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -16,6 +16,9 @@
16
16
  },
17
17
  "skein": {
18
18
  "releaseNotes": [
19
+ "Warning-only Reuse Gate records content-free candidate evidence before the first substantive write",
20
+ "Reuse receipts surface unresolved index/read failures instead of claiming a safe new implementation",
21
+ "Prompt and timeline diagnostics expose the repository-first reuse ladder without blocking legitimate writes",
19
22
  "Known tool changes refresh only their affected local-index paths before the next model turn",
20
23
  "File ctime closes same-size and restored-mtime zero-hit freshness gaps without full-content scans",
21
24
  "Repeated empty or unchanged search calls stop through the existing recovery circuit"