@skein-code/cli 0.3.24 → 0.3.25

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 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.24.tgz
99
+ npm install -g ./artifacts/package/skein-code-cli-0.3.25.tgz
100
100
  ```
101
101
 
102
102
  To install the published package from npm:
@@ -366,7 +366,10 @@ permissions:
366
366
 
367
367
  agent:
368
368
  maxTurns: 24
369
- maxSessionTokens: 250000
369
+ # Rotate deterministic context handoffs without changing the session id.
370
+ maxEpochTokens: 250000
371
+ # Hard lifetime cost/usage ceiling across every resumed epoch.
372
+ maxSessionTokens: 1000000
370
373
  autoVerify: true
371
374
  verifyCommands:
372
375
  - npm run typecheck
@@ -379,6 +382,20 @@ hooks:
379
382
  afterTurn: []
380
383
  ```
381
384
 
385
+ `--epoch-token-budget` overrides the handoff boundary for one invocation;
386
+ `--token-budget` remains the hard lifetime ceiling. Reaching an epoch boundary
387
+ keeps the complete transcript and cumulative usage, validates Task Contract,
388
+ failure, changed-file, and verification state, then continues in the same
389
+ session with a bounded active window. The Context inspector shows both meters.
390
+
391
+ For complex executable requests, Skein records an Intent Sufficiency receipt
392
+ before model-driven mutation. Explicit requests proceed directly; repository
393
+ facts are inspected rather than asked back to the user; a genuine product
394
+ choice such as public-API compatibility pauses with one question and two or
395
+ three concrete options. Headless JSON/JSONL emits `needs_input`, persists the
396
+ question, performs no mutation, and exits with status 2. The next reply resumes
397
+ the same logical run. Permission approval remains a separate runtime gate.
398
+
382
399
  See [examples/config.yaml](examples/config.yaml) for a ready-to-adapt file.
383
400
  Secrets should normally stay in environment variables instead of committed
384
401
  configuration.