@skein-code/cli 0.3.25 → 0.3.26

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.
@@ -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.25`.
12
+ - Current repository version: `0.3.26`.
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.25.tgz`. The verifier writes
45
- its SHA-256 to `artifacts/package/skein-code-cli-0.3.25.tgz.sha256`, and CI
44
+ The latest verified package is `skein-code-cli-0.3.26.tgz`. The verifier writes
45
+ its SHA-256 to `artifacts/package/skein-code-cli-0.3.26.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.
@@ -150,6 +150,29 @@ clarification and resume afterward; text, JSON, and JSONL expose the same
150
150
  `needs_input` state. Real same-model success/token A/B remains an external
151
151
  validation gate rather than an implied claim of this release.
152
152
 
153
+ ### Phase 2: First-run, permission, recovery, review, and headless contracts (complete in 0.3.26)
154
+
155
+ Version `0.3.26` makes the first-run screen explicit that the primary agent
156
+ uses API credentials while provider subscription sessions and signed-in coding
157
+ CLIs remain separate delegated tools. Permission prompts now show the runtime
158
+ policy reason, redacted target, working directory, category risk, and all four
159
+ keyboard outcomes without leaking secrets.
160
+
161
+ The interactive Recovery Center joins last-run status, content-free failure
162
+ repair hints, changed files, checkpoints, diff, audit, rollback, bounded retry,
163
+ and safe resume. `/review` fixes working-tree, commit, or branch scope, forces
164
+ read-only runner capabilities even from Build mode, and injects a redacted
165
+ content-free evidence bundle as ephemeral turn instructions rather than user
166
+ transcript. Pending clarifications must still be answered directly and cannot
167
+ be consumed by a recovery command.
168
+
169
+ JSON and JSONL terminal records follow `docs/headless-output.schema.json` v1
170
+ and carry stable statuses plus exit codes for completed/verified, runtime error,
171
+ needs input, unverified, verification failed, blocked, cancelled, max turns,
172
+ and token budget. Text and TUI surfaces provide matching actionable stop and
173
+ recovery guidance. Responsive list clipping keeps the Recovery Center bounded
174
+ in narrow and short terminals.
175
+
153
176
  ### P0-D: Repository reuse and calibrated duplication enforcement
154
177
 
155
178
  Version `0.3.14` added the prompt ladder and pre-write `ReuseReceipt`. Version
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://skein.dev/schemas/headless-output-v1.json",
4
+ "title": "Skein headless terminal record v1",
5
+ "description": "The terminal object emitted by --output-format json or as the final line of --output-format stream-json.",
6
+ "type": "object",
7
+ "required": ["schemaVersion", "type", "ok", "status", "exitCode", "reason"],
8
+ "properties": {
9
+ "schemaVersion": {"const": 1},
10
+ "type": {"enum": ["result", "session", "final"]},
11
+ "ok": {"type": "boolean"},
12
+ "status": {
13
+ "enum": [
14
+ "completed",
15
+ "verified",
16
+ "needs_input",
17
+ "unverified",
18
+ "verification_failed",
19
+ "blocked",
20
+ "cancelled",
21
+ "max_turns",
22
+ "token_budget",
23
+ "error"
24
+ ]
25
+ },
26
+ "exitCode": {"type": "integer", "minimum": 0, "maximum": 8},
27
+ "reason": {"type": "string", "minLength": 1},
28
+ "response": {"type": "string"},
29
+ "error": {"type": "string"},
30
+ "session": {"type": "object"},
31
+ "completion": {"type": "object"},
32
+ "context": {"type": "object"},
33
+ "tools": {"type": "array"}
34
+ },
35
+ "additionalProperties": true
36
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@skein-code/cli",
3
- "version": "0.3.25",
3
+ "version": "0.3.26",
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,12 @@
16
16
  },
17
17
  "skein": {
18
18
  "releaseNotes": [
19
+ "First-run setup now states that the primary agent needs API credentials and that provider subscriptions or signed-in coding CLIs are separate delegated tools",
20
+ "Permission prompts show the policy reason, redacted target, working directory, category risk, and explicit once, session, deny, and stop choices",
21
+ "The Recovery Center joins last-run state, failure repair hints, changed files, checkpoints, diff, audit, rollback, retry, and safe session resume",
22
+ "Read-only review commands pin working-tree, commit, or branch scope and inject a content-free redacted evidence bundle without storing it in the user transcript",
23
+ "JSON and JSONL terminal records now follow the published headless v1 schema with stable completed, verification, input, blocked, cancellation, turn, token, and error exit codes",
24
+ "Short terminal viewports clip long lists without overflow and pending clarifications cannot be consumed by recovery commands",
19
25
  "Durable sessions now separate a 250k-token context epoch from a 1m-token lifetime ceiling without changing the session id or deleting transcript history",
20
26
  "Content-free epoch handoffs preserve Task Contract criteria, unresolved failure circuits, changed files, and verification receipts across long runs",
21
27
  "Intent Sufficiency routes clear requests to execution, repository-inferable gaps to inspection, and genuine product choices to one persisted clarification",