@skein-code/cli 0.3.7 → 0.3.8
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 +25 -1
- package/dist/cli.js +862 -188
- package/dist/cli.js.map +1 -1
- package/docs/ARCHITECTURE.md +38 -1
- package/docs/NEXT_STEPS.md +13 -12
- package/docs/PRODUCT.md +4 -4
- package/package.json +4 -4
package/docs/ARCHITECTURE.md
CHANGED
|
@@ -44,7 +44,34 @@
|
|
|
44
44
|
7. Execute tools, emit events, and append their grounded results to the model
|
|
45
45
|
conversation.
|
|
46
46
|
8. Continue until the model returns a final response or the turn limit is hit.
|
|
47
|
-
9. Run configured verification commands after changes
|
|
47
|
+
9. Run configured verification commands after changes. The completion gate accepts
|
|
48
|
+
only current successful test, typecheck, lint, build, check, or `git diff
|
|
49
|
+
--check` evidence recorded after the last mutation. An early final response
|
|
50
|
+
receives one bounded recovery turn; the runtime persists `verified`,
|
|
51
|
+
`unverified`, or `verification_failed` instead of trusting completion claims
|
|
52
|
+
in model text.
|
|
53
|
+
10. Persist the outcome and expose the same status through the TUI, text, JSON,
|
|
54
|
+
and JSONL surfaces.
|
|
55
|
+
|
|
56
|
+
## Interactive startup gate
|
|
57
|
+
|
|
58
|
+
New interactive sessions establish local context readiness before creating or
|
|
59
|
+
saving a session. Resumed sessions keep their existing transcript-first startup
|
|
60
|
+
and rely on the same per-turn retrieval freshness checks:
|
|
61
|
+
|
|
62
|
+
1. Inspect and schema-check the persisted local index.
|
|
63
|
+
2. Compare its manifest with the current workspace.
|
|
64
|
+
3. Incrementally scan, chunk, and write only when the index is missing, stale,
|
|
65
|
+
or first-run setup explicitly requests a visible build.
|
|
66
|
+
4. Reload the written artifact from disk and match generation, file count,
|
|
67
|
+
chunk count, and manifest freshness.
|
|
68
|
+
5. Pass the immutable readiness snapshot to the TUI; only then enable the
|
|
69
|
+
composer and initialize session extensions.
|
|
70
|
+
|
|
71
|
+
An empty workspace produces a valid zero-file generation. Validation failures
|
|
72
|
+
stay in a retry/exit state and occur before an empty session is persisted.
|
|
73
|
+
Headless runs retain non-animated lazy indexing so structured automation does
|
|
74
|
+
not acquire terminal-only behavior.
|
|
48
75
|
|
|
49
76
|
### Prompt layers
|
|
50
77
|
|
|
@@ -82,6 +109,12 @@ Index state is persisted in the active project namespace. Search results are
|
|
|
82
109
|
revalidated against current files before packing, so a stale index reduces
|
|
83
110
|
recall rather than silently injecting old code.
|
|
84
111
|
|
|
112
|
+
The fresh-session TUI consumes the same verified readiness snapshot. Wide
|
|
113
|
+
terminals expose it in a factual workspace rail alongside the selected model,
|
|
114
|
+
mode, permission posture, tool/Skill/MCP counts, and memory state. Narrow
|
|
115
|
+
terminals collapse to one column, and team activity takes precedence over this
|
|
116
|
+
welcome-only rail.
|
|
117
|
+
|
|
85
118
|
## Storage
|
|
86
119
|
|
|
87
120
|
Project-local data is kept in `.mosaic/` and ignored by default:
|
|
@@ -122,6 +155,10 @@ useful without silently accumulating guesses.
|
|
|
122
155
|
Plan mode additionally injects a read-only, approval-oriented planning
|
|
123
156
|
directive; Build mode is required before workspace mutation is possible.
|
|
124
157
|
- Hooks are bounded subprocesses and receive structured environment metadata.
|
|
158
|
+
- Dynamic shell commands with no statically resolvable target use bounded
|
|
159
|
+
before/after content-fingerprint snapshots across workspace files. Incomplete
|
|
160
|
+
observation is persisted as unknown mutation tracking and forces an
|
|
161
|
+
unverified completion rather than a false no-change result.
|
|
125
162
|
- Checkpoint restore validates paths before writing snapshots back.
|
|
126
163
|
- Session and checkpoint directories reject symlinked `.mosaic` storage paths;
|
|
127
164
|
local index files are schema-checked and out-of-root entries are discarded.
|
package/docs/NEXT_STEPS.md
CHANGED
|
@@ -9,16 +9,18 @@ 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.8`.
|
|
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).
|
|
16
|
-
- Retrieval: local BM25/path/symbol index with
|
|
17
|
-
packing; no retrieval service is
|
|
16
|
+
- Retrieval: local BM25/path/symbol index with visible interactive preparation,
|
|
17
|
+
persisted-content validation, and bounded packing; no retrieval service is
|
|
18
|
+
required.
|
|
18
19
|
- Agent: provider-agnostic multi-turn runner for OpenAI, Anthropic, Gemini, and
|
|
19
20
|
OpenAI-compatible endpoints; built-in tools, permissions, checkpoints,
|
|
20
21
|
workflows, Skills, MCP, expert profiles, sessions, and memory are present.
|
|
21
|
-
- UI: real Ink/React terminal UI, not a browser prototype.
|
|
22
|
+
- UI: real Ink/React terminal UI, not a browser prototype. Fresh wide sessions
|
|
23
|
+
include a factual workspace rail; all sizes support prompt
|
|
22
24
|
history, `@file` completion, command completion, multiline editing, queued
|
|
23
25
|
follow-ups, live context inspection, permission approval, themes, ASCII mode,
|
|
24
26
|
`NO_COLOR`, and narrow-height degradation.
|
|
@@ -38,8 +40,8 @@ npm audit --omit=dev
|
|
|
38
40
|
npm run release:verify -- --output-dir artifacts/package
|
|
39
41
|
```
|
|
40
42
|
|
|
41
|
-
The latest verified package
|
|
42
|
-
its SHA-256 to `artifacts/package/skein-code-cli-0.3.
|
|
43
|
+
The latest verified package is `skein-code-cli-0.3.8.tgz`. The verifier writes
|
|
44
|
+
its SHA-256 to `artifacts/package/skein-code-cli-0.3.8.tgz.sha256`, and CI
|
|
43
45
|
retains the checksum beside the package metadata. The checksum is deliberately
|
|
44
46
|
not copied into this packaged document because doing so would change the
|
|
45
47
|
archive it describes.
|
|
@@ -47,7 +49,7 @@ archive it describes.
|
|
|
47
49
|
The final verification included a fresh install and real PTY interaction for
|
|
48
50
|
all three executable aliases, `/about`, a permission prompt, denial, and clean
|
|
49
51
|
Ctrl+C exit. PTY coverage included 20, 24 ASCII, 40, 80, 120 columns and a
|
|
50
|
-
40x10 short-height case. The current
|
|
52
|
+
40x10 short-height case. The current 37-file test suite passes the full check.
|
|
51
53
|
|
|
52
54
|
## Recommended Order
|
|
53
55
|
|
|
@@ -75,11 +77,10 @@ Implementation notes:
|
|
|
75
77
|
- `npm run release:verify` reproduces the package from source, installs it into
|
|
76
78
|
an isolated prefix, rejects packaged local state, and exercises `skein`,
|
|
77
79
|
`mosaic`, and `mosaic-code`.
|
|
78
|
-
- The `main` branch rule requires the strict `check` status.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
aliases); its tag, CI run, and `npm publish` to `latest` follow this commit.
|
|
80
|
+
- The `main` branch rule requires the strict `check` status. Version 0.3.8 adds
|
|
81
|
+
the startup context-readiness gate, branded wide welcome rail, runtime
|
|
82
|
+
completion evidence, and conservative dynamic-shell mutation tracking. Its
|
|
83
|
+
tag, GitHub verification, and npm publication use the same source commit.
|
|
83
84
|
|
|
84
85
|
### P1: Skein Storage Namespace And Migration
|
|
85
86
|
|
package/docs/PRODUCT.md
CHANGED
|
@@ -68,14 +68,14 @@ Sources:
|
|
|
68
68
|
|
|
69
69
|
| Surface | Capability |
|
|
70
70
|
|---|---|
|
|
71
|
-
| Context | Local BM25/path/symbol index, freshness checks, token packing, multi-root, `@file` mentions |
|
|
71
|
+
| Context | Local BM25/path/symbol index, visible startup build/validation gate, freshness checks, token packing, multi-root, `@file` mentions |
|
|
72
72
|
| Models | OpenAI, Anthropic, Gemini, OpenAI-compatible endpoints |
|
|
73
|
-
| Agent | Multi-turn tool loop, task plan, automatic verification, ask-only mode |
|
|
73
|
+
| Agent | Multi-turn tool loop, task plan, evidence-gated completion, automatic verification, ask-only mode |
|
|
74
74
|
| Tools | Read, list, search, write, patch, shell, Git, context search, task updates |
|
|
75
75
|
| Trust | Workspace path boundary, allow/ask/deny policy, command rules, hooks, checkpoints |
|
|
76
76
|
| Sessions | Local persistence, resume/latest, list/show/delete/export |
|
|
77
|
-
| UX | Ink TUI, action timeline, context telemetry, plan rail, inline permission band, interruption |
|
|
78
|
-
| Automation | Prompt/stdin input, queue, quiet mode, JSON and JSONL
|
|
77
|
+
| UX | Ink TUI, responsive branded welcome/workspace rail, action timeline, context telemetry, plan rail, inline permission band, interruption |
|
|
78
|
+
| Automation | Prompt/stdin input, queue, quiet mode, JSON and JSONL output with verified/unverified status, exit codes |
|
|
79
79
|
| Operations | Init, doctor, config, index/search/context/status, checkpoint management |
|
|
80
80
|
|
|
81
81
|
## Differentiation
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@skein-code/cli",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.8",
|
|
4
4
|
"description": "A context-first, model-agnostic coding agent with an auditable terminal workspace.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
},
|
|
17
17
|
"skein": {
|
|
18
18
|
"releaseNotes": [
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
19
|
+
"Startup builds or reuses the local index and validates persisted workspace content before chat",
|
|
20
|
+
"Wide fresh sessions add a factual workspace rail for model, context, permissions, tools, and extensions",
|
|
21
|
+
"Completion requires current runtime evidence and conservatively tracks dynamic shell mutations"
|
|
22
22
|
]
|
|
23
23
|
},
|
|
24
24
|
"bin": {
|