@skein-code/cli 0.3.21 → 0.3.23
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 +12 -3
- package/dist/cli.js +220 -41
- package/dist/cli.js.map +1 -1
- package/docs/ARCHITECTURE.md +12 -7
- package/docs/NEXT_STEPS.md +32 -15
- package/docs/PRODUCT_BENCHMARK.md +4 -3
- package/package.json +7 -1
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -268,13 +268,18 @@ JavaScript plugins are intentionally unsupported because they would share the
|
|
|
268
268
|
CLI's full filesystem, environment, and process privileges.
|
|
269
269
|
|
|
270
270
|
MCP is the interoperability boundary for external executable capabilities. It
|
|
271
|
-
is disabled by default, removed from untrusted project configuration, exposes
|
|
272
|
-
|
|
273
|
-
schema, result, server-count,
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
271
|
+
is disabled by default, removed from untrusted project configuration, exposes a
|
|
272
|
+
compact lazy activation catalog during normal chat startup, treats server
|
|
273
|
+
annotations as untrusted, and applies argument, schema, result, server-count,
|
|
274
|
+
timeout, and transport limits. The `mcp_activate` catalog connects a selected
|
|
275
|
+
server on demand, discovers its remote tools, and registers at most eight
|
|
276
|
+
request-relevant schemas into the live registry; explicit diagnostic commands
|
|
277
|
+
such as `skein mcp status` can still connect all configured servers eagerly.
|
|
278
|
+
Every MCP activation and remote MCP call currently requires the network
|
|
279
|
+
permission category. A configured stdio server is still an external program
|
|
280
|
+
with the user's operating-system privileges; cwd and environment validation
|
|
281
|
+
reduce accidental exposure but are not a sandbox. Only reviewed user-owned
|
|
282
|
+
configuration should enable one.
|
|
278
283
|
|
|
279
284
|
Before any marketplace-style plugin support, add a declarative capability
|
|
280
285
|
manifest, first-run review, lazy tool-schema activation, per-server permission
|
package/docs/NEXT_STEPS.md
CHANGED
|
@@ -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.
|
|
12
|
+
- Current repository version: `0.3.23`.
|
|
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.
|
|
45
|
-
its SHA-256 to `artifacts/package/skein-code-cli-0.3.
|
|
44
|
+
The latest verified package is `skein-code-cli-0.3.23.tgz`. The verifier writes
|
|
45
|
+
its SHA-256 to `artifacts/package/skein-code-cli-0.3.23.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.
|
|
@@ -99,14 +99,30 @@ firewall policies while requiring complete evidence and recovery coverage.
|
|
|
99
99
|
The replay reports a 36.7% estimated-input reduction; this is a deterministic
|
|
100
100
|
budget measurement, not a provider billing or task-success claim.
|
|
101
101
|
|
|
102
|
-
MCP tool definitions are now marked for progressive disclosure.
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
102
|
+
MCP tool definitions are now marked for progressive disclosure. Normal chat
|
|
103
|
+
startup exposes a compact `mcp_activate` catalog instead of connecting every
|
|
104
|
+
server. Selecting a configured server connects it, runs remote `listTools`, and
|
|
105
|
+
loads at most eight request-relevant schemas into the live registry. Selected
|
|
106
|
+
schemas retain their registry order and remain loaded for the current run, and
|
|
107
|
+
Token Ledger receipts record the deferred count. MCP activation and discovered
|
|
108
|
+
tools remain `network` operations, hidden tool calls remain rejected by the
|
|
109
|
+
existing boundary, and explicit diagnostics such as `skein mcp status` still
|
|
110
|
+
connect eagerly by design.
|
|
111
|
+
|
|
112
|
+
Version `0.3.22` normalizes provider-reported cache and reasoning usage across
|
|
113
|
+
streaming and non-streaming OpenAI, Anthropic, and Gemini responses. Token
|
|
114
|
+
Ledger receipts, cumulative session usage, and JSON/JSONL events retain cached
|
|
115
|
+
input, cache-write input, and reasoning counts when present, including explicit
|
|
116
|
+
zero values. The session schema remains compatible with older records. This is
|
|
117
|
+
measurement plumbing only: it does not enable provider cache controls, define a
|
|
118
|
+
stable cache key, defer MCP connection/discovery, run paid same-model task A/B,
|
|
119
|
+
or complete Context Compaction 2.0.
|
|
120
|
+
|
|
121
|
+
Version `0.3.23` completes the true lazy MCP lifecycle slice: normal chat
|
|
122
|
+
startup performs zero MCP transport connections and zero remote discovery until
|
|
123
|
+
the model explicitly calls `mcp_activate` for a configured server. The release
|
|
124
|
+
does not add per-server trust scopes, provider billing A/B, or Context
|
|
125
|
+
Compaction 2.0.
|
|
110
126
|
|
|
111
127
|
### P0-D: Repository reuse and calibrated duplication enforcement
|
|
112
128
|
|
|
@@ -355,10 +371,11 @@ Add a first-run catalog and inspection flow for bundled capabilities. Keep
|
|
|
355
371
|
installation explicit and reviewable: show source, requested tools, filesystem
|
|
356
372
|
scope, network scope, and trust state before activation. Add fixture servers and
|
|
357
373
|
Skills that exercise timeout, malformed schema, disconnect, and version drift.
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
374
|
+
Lazy MCP activation is now the default chat path. Next, add declarative
|
|
375
|
+
capability manifests, per-server trust review, activation telemetry, and an
|
|
376
|
+
optional subprocess sandbox before any marketplace. Do not load arbitrary plugin
|
|
377
|
+
JavaScript in-process; package reusable extensions as data-only Skills/workflows
|
|
378
|
+
plus explicitly trusted MCP servers.
|
|
362
379
|
|
|
363
380
|
### P2: Memory Quality And User Control
|
|
364
381
|
|
|
@@ -20,7 +20,7 @@ product surfaces.
|
|
|
20
20
|
|
|
21
21
|
| Area | Mainstream signal | Skein today | Product implication |
|
|
22
22
|
| --- | --- | --- | --- |
|
|
23
|
-
| Context | Auggie automatically indexes projects and offers context-aware interactive and print modes. Its MCP Tool Search avoids loading every remote schema up front. See [Auggie overview](https://docs.augmentcode.com/cli/overview) and [integrations](https://docs.augmentcode.com/cli/integrations). | Local BM25/path/symbol retrieval with language-aware chunks, current-file freshness checks, diversity-aware token packing, progressive Skills, and hard token caps. MCP schemas are
|
|
23
|
+
| Context | Auggie automatically indexes projects and offers context-aware interactive and print modes. Its MCP Tool Search avoids loading every remote schema up front. See [Auggie overview](https://docs.augmentcode.com/cli/overview) and [integrations](https://docs.augmentcode.com/cli/integrations). | Local BM25/path/symbol retrieval with language-aware chunks, current-file freshness checks, diversity-aware token packing, progressive Skills, and hard token caps. Normal chat startup exposes only a compact `mcp_activate` server catalog; remote MCP connection, `listTools`, and up to eight relevant schemas are loaded on demand. | Measure lazy MCP activation cost and add per-server trust review/sandboxing before marketplace-style plugin support. |
|
|
24
24
|
| Tool result economy | FastCtx argues for structured file/search tools, explicit pagination, bounded output tiers, and persistent background-job logs so the model spends fewer turns on shell mechanics. See the [FastCtx repository](https://github.com/yc-duan/fastctx) and its [LINUX DO introduction](https://linux.do/t/topic/2612425). These are design signals, not independent evidence that every model becomes more accurate. | Native tools already use closed schemas and permission/checkpoint boundaries. Oversized results now use a dynamic token budget, head/tail receipts, source-truncation telemetry, and redacted session-scoped local readback. Single-file UTF-8 reads and foreground-only shell execution remain narrower than FastCtx. | Keep FastCtx optional through MCP instead of duplicating the default kernel. Add measured read/list/search continuation and batch reading before considering persistent background jobs. |
|
|
25
25
|
| Workflow modes | Claude Code documents isolated subagents, agent teams, hooks, code intelligence, Skills, MCP, and plugins in one extension model. See [Claude Code extensions](https://code.claude.com/docs/en/features-overview). Copilot CLI exposes Plan and Autopilot modes. See [Copilot CLI](https://github.com/features/copilot/cli). | Ask and Build modes exist; Ask is read-only but does not produce a named approval-ready plan. | Add an explicit Plan mode. Keep it read-only and require approval before Build. |
|
|
26
26
|
| Code intelligence | Claude Code advertises language-server-backed symbol navigation and live type errors. | Retrieval is lexical/BM25/path/symbol index based; no LSP diagnostics or rename graph. | Add an optional LSP adapter after storage and scheduler foundations. |
|
|
@@ -43,8 +43,9 @@ product surfaces.
|
|
|
43
43
|
quarantining the canonical copy; `--recover` handles interrupted operations;
|
|
44
44
|
`--home` covers user-level state. Shared leases cover live managed writers,
|
|
45
45
|
while namespace mutation requires an exclusive crash-released lease.
|
|
46
|
-
4. **P1 MCP
|
|
47
|
-
|
|
46
|
+
4. **P1 MCP trust hardening:** add per-server review, capability manifests,
|
|
47
|
+
activation telemetry, and optional stdio sandboxing on top of lazy MCP
|
|
48
|
+
activation.
|
|
48
49
|
5. **P1 scheduler and isolation:** retain the shipped task-budget telemetry and
|
|
49
50
|
reviewer loop, then add cancellation propagation, deterministic integration,
|
|
50
51
|
and single-writer/worktree boundaries.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skein-code/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.23",
|
|
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
|
+
"Normal chat startup now exposes a compact mcp_activate catalog instead of eagerly connecting MCP servers",
|
|
20
|
+
"MCP activation connects one selected server, discovers remote tools, and loads at most eight relevant schemas",
|
|
21
|
+
"Explicit MCP diagnostics can still connect eagerly while all MCP activation and remote calls remain network operations",
|
|
22
|
+
"OpenAI, Anthropic, and Gemini usage now normalizes cached input, cache-write input, and reasoning tokens when reported",
|
|
23
|
+
"Token Ledger, session totals, and structured usage events preserve provider cache and reasoning counts without prompt content",
|
|
24
|
+
"Streaming, non-streaming, explicit-zero, and legacy-session compatibility paths are covered without claiming cache activation",
|
|
19
25
|
"Failed configured verification output yields bounded current-run diagnostic ranking without persisting paths",
|
|
20
26
|
"Diagnostic hints cannot create zero-relevance hits and are cleared on success or the next agent run",
|
|
21
27
|
"Python absolute and relative module imports now contribute deterministic offline graph adjacency",
|