@skein-code/cli 0.3.24 → 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.
- package/README.md +39 -2
- package/dist/cli.js +1114 -169
- package/dist/cli.js.map +1 -1
- package/docs/ARCHITECTURE.md +32 -11
- package/docs/NEXT_STEPS.md +50 -3
- package/docs/headless-output.schema.json +36 -0
- package/examples/config.yaml +2 -1
- package/package.json +12 -1
package/README.md
CHANGED
|
@@ -96,7 +96,7 @@ To build, verify, and install a local package artifact from this checkout:
|
|
|
96
96
|
|
|
97
97
|
```bash
|
|
98
98
|
npm run verify:package -- --output-dir artifacts/package
|
|
99
|
-
npm install -g ./artifacts/package/skein-code-cli-0.3.
|
|
99
|
+
npm install -g ./artifacts/package/skein-code-cli-0.3.26.tgz
|
|
100
100
|
```
|
|
101
101
|
|
|
102
102
|
To install the published package from npm:
|
|
@@ -278,6 +278,24 @@ allowed by policy. Use `--auto-edit` to allow file edits while retaining prompts
|
|
|
278
278
|
for shell/Git/network, or `--yes` for intentionally unattended runs. Hard deny
|
|
279
279
|
rules still win over both flags.
|
|
280
280
|
|
|
281
|
+
JSON emits one `type: "result"` object; JSONL ends with a `type: "session"`
|
|
282
|
+
record, or `type: "final"` after a runtime error. These terminal records follow
|
|
283
|
+
[`docs/headless-output.schema.json`](docs/headless-output.schema.json), include
|
|
284
|
+
`schemaVersion: 1`, `status`, `reason`, and `exitCode`, and use this stable
|
|
285
|
+
exit-code contract:
|
|
286
|
+
|
|
287
|
+
| Code | Status | Meaning |
|
|
288
|
+
| ---: | --- | --- |
|
|
289
|
+
| 0 | `completed`, `verified` | The read-only run completed or current changes were verified. |
|
|
290
|
+
| 1 | `error` | Setup, provider, extension, or runtime failure. |
|
|
291
|
+
| 2 | `needs_input` | One persisted clarification is required; resume the same session. |
|
|
292
|
+
| 3 | `unverified` | Changes or required acceptance evidence remain unverified. |
|
|
293
|
+
| 4 | `verification_failed` | A current verification command failed. |
|
|
294
|
+
| 5 | `blocked` | The active Task Contract records a blocked required criterion. |
|
|
295
|
+
| 6 | `cancelled` | The run was interrupted; its session state was saved. |
|
|
296
|
+
| 7 | `max_turns` | The configured turn limit ended the run. |
|
|
297
|
+
| 8 | `token_budget` | The lifetime token budget ended the run. |
|
|
298
|
+
|
|
281
299
|
## Commands
|
|
282
300
|
|
|
283
301
|
```text
|
|
@@ -296,6 +314,8 @@ skein session list|show|delete local session management
|
|
|
296
314
|
skein session export <id> Markdown audit export
|
|
297
315
|
skein checkpoint list <session> inspect snapshots
|
|
298
316
|
skein checkpoint restore <s> <c> restore a snapshot
|
|
317
|
+
skein /review [scope] read-only fixed-scope review in the TUI
|
|
318
|
+
skein /recover [action] recovery status, retry, resume, diff, audit, rollback
|
|
299
319
|
skein tools tool schemas and categories
|
|
300
320
|
skein rules loaded user/workspace rule files
|
|
301
321
|
```
|
|
@@ -366,7 +386,10 @@ permissions:
|
|
|
366
386
|
|
|
367
387
|
agent:
|
|
368
388
|
maxTurns: 24
|
|
369
|
-
|
|
389
|
+
# Rotate deterministic context handoffs without changing the session id.
|
|
390
|
+
maxEpochTokens: 250000
|
|
391
|
+
# Hard lifetime cost/usage ceiling across every resumed epoch.
|
|
392
|
+
maxSessionTokens: 1000000
|
|
370
393
|
autoVerify: true
|
|
371
394
|
verifyCommands:
|
|
372
395
|
- npm run typecheck
|
|
@@ -379,6 +402,20 @@ hooks:
|
|
|
379
402
|
afterTurn: []
|
|
380
403
|
```
|
|
381
404
|
|
|
405
|
+
`--epoch-token-budget` overrides the handoff boundary for one invocation;
|
|
406
|
+
`--token-budget` remains the hard lifetime ceiling. Reaching an epoch boundary
|
|
407
|
+
keeps the complete transcript and cumulative usage, validates Task Contract,
|
|
408
|
+
failure, changed-file, and verification state, then continues in the same
|
|
409
|
+
session with a bounded active window. The Context inspector shows both meters.
|
|
410
|
+
|
|
411
|
+
For complex executable requests, Skein records an Intent Sufficiency receipt
|
|
412
|
+
before model-driven mutation. Explicit requests proceed directly; repository
|
|
413
|
+
facts are inspected rather than asked back to the user; a genuine product
|
|
414
|
+
choice such as public-API compatibility pauses with one question and two or
|
|
415
|
+
three concrete options. Headless JSON/JSONL emits `needs_input`, persists the
|
|
416
|
+
question, performs no mutation, and exits with status 2. The next reply resumes
|
|
417
|
+
the same logical run. Permission approval remains a separate runtime gate.
|
|
418
|
+
|
|
382
419
|
See [examples/config.yaml](examples/config.yaml) for a ready-to-adapt file.
|
|
383
420
|
Secrets should normally stay in environment variables instead of committed
|
|
384
421
|
configuration.
|