usesteady 0.1.0-alpha.63 → 0.1.0-alpha.65
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/CHANGELOG.md +226 -0
- package/README.md +114 -6
- package/dist/src/b.d.ts +2 -0
- package/dist/src/b.d.ts.map +1 -0
- package/dist/src/b.js +2 -0
- package/dist/src/b.js.map +1 -0
- package/dist/src/input/feasibility-validator.d.ts.map +1 -1
- package/dist/src/input/feasibility-validator.js +51 -0
- package/dist/src/input/feasibility-validator.js.map +1 -1
- package/dist/src/input/parse-json-input.d.ts +31 -0
- package/dist/src/input/parse-json-input.d.ts.map +1 -0
- package/dist/src/input/parse-json-input.js +216 -0
- package/dist/src/input/parse-json-input.js.map +1 -0
- package/dist/src/kernel/classifier.d.ts +18 -12
- package/dist/src/kernel/classifier.d.ts.map +1 -1
- package/dist/src/kernel/classifier.js +55 -32
- package/dist/src/kernel/classifier.js.map +1 -1
- package/dist/src/kernel/command-classifier.d.ts +71 -35
- package/dist/src/kernel/command-classifier.d.ts.map +1 -1
- package/dist/src/kernel/command-classifier.js +79 -37
- package/dist/src/kernel/command-classifier.js.map +1 -1
- package/dist/src/kernel/execution-replay.d.ts.map +1 -1
- package/dist/src/kernel/execution-replay.js +90 -44
- package/dist/src/kernel/execution-replay.js.map +1 -1
- package/dist/src/kernel/inline-js-classifier.d.ts +126 -0
- package/dist/src/kernel/inline-js-classifier.d.ts.map +1 -0
- package/dist/src/kernel/inline-js-classifier.js +275 -0
- package/dist/src/kernel/inline-js-classifier.js.map +1 -0
- package/dist/src/kernel/types.d.ts +2 -2
- package/dist/src/kernel/types.d.ts.map +1 -1
- package/dist/src/product/cursor-product-session.d.ts +8 -1
- package/dist/src/product/cursor-product-session.d.ts.map +1 -1
- package/dist/src/product/cursor-product-session.js +101 -6
- package/dist/src/product/cursor-product-session.js.map +1 -1
- package/dist/src/safety/filename-safety.d.ts.map +1 -1
- package/dist/src/safety/filename-safety.js +57 -37
- package/dist/src/safety/filename-safety.js.map +1 -1
- package/dist/src/safety/path-segment-semantics.d.ts +25 -0
- package/dist/src/safety/path-segment-semantics.d.ts.map +1 -0
- package/dist/src/safety/path-segment-semantics.js +60 -0
- package/dist/src/safety/path-segment-semantics.js.map +1 -0
- package/dist/src/shell/cli/doctor.d.ts +44 -0
- package/dist/src/shell/cli/doctor.d.ts.map +1 -0
- package/dist/src/shell/cli/doctor.js +338 -0
- package/dist/src/shell/cli/doctor.js.map +1 -0
- package/dist/src/shell/cli/main.d.ts +49 -25
- package/dist/src/shell/cli/main.d.ts.map +1 -1
- package/dist/src/shell/cli/main.js +212 -373
- package/dist/src/shell/cli/main.js.map +1 -1
- package/dist/src/shell/cli/use-steady.js +223 -19
- package/dist/src/shell/cli/use-steady.js.map +1 -1
- package/dist/src/shell/cli/workflow-inspect-target-tree.d.ts +121 -0
- package/dist/src/shell/cli/workflow-inspect-target-tree.d.ts.map +1 -0
- package/dist/src/shell/cli/workflow-inspect-target-tree.js +256 -0
- package/dist/src/shell/cli/workflow-inspect-target-tree.js.map +1 -0
- package/dist/src/shell/cli/workflow-inspect-task-to-ir.d.ts +67 -0
- package/dist/src/shell/cli/workflow-inspect-task-to-ir.d.ts.map +1 -0
- package/dist/src/shell/cli/workflow-inspect-task-to-ir.js +192 -0
- package/dist/src/shell/cli/workflow-inspect-task-to-ir.js.map +1 -0
- package/dist/src/shell/cli/workflow-inspect.d.ts +142 -0
- package/dist/src/shell/cli/workflow-inspect.d.ts.map +1 -0
- package/dist/src/shell/cli/workflow-inspect.js +381 -0
- package/dist/src/shell/cli/workflow-inspect.js.map +1 -0
- package/dist/src/shell/cli/workflow-resume-info.d.ts +93 -0
- package/dist/src/shell/cli/workflow-resume-info.d.ts.map +1 -0
- package/dist/src/shell/cli/workflow-resume-info.js +185 -0
- package/dist/src/shell/cli/workflow-resume-info.js.map +1 -0
- package/dist/src/shell/cli/workflow-spec-loader.d.ts +69 -0
- package/dist/src/shell/cli/workflow-spec-loader.d.ts.map +1 -0
- package/dist/src/shell/cli/workflow-spec-loader.js +292 -0
- package/dist/src/shell/cli/workflow-spec-loader.js.map +1 -0
- package/dist/src/shell/repl-guide-presenter.d.ts +25 -0
- package/dist/src/shell/repl-guide-presenter.d.ts.map +1 -0
- package/dist/src/shell/repl-guide-presenter.js +45 -0
- package/dist/src/shell/repl-guide-presenter.js.map +1 -0
- package/dist/src/workflow/resume-token-builder.d.ts +54 -0
- package/dist/src/workflow/resume-token-builder.d.ts.map +1 -0
- package/dist/src/workflow/resume-token-builder.js +71 -0
- package/dist/src/workflow/resume-token-builder.js.map +1 -0
- package/dist/src/workflow/resume-token-io.d.ts +99 -0
- package/dist/src/workflow/resume-token-io.d.ts.map +1 -0
- package/dist/src/workflow/resume-token-io.js +198 -0
- package/dist/src/workflow/resume-token-io.js.map +1 -0
- package/dist/src/workflow/resume-token-types.d.ts +131 -0
- package/dist/src/workflow/resume-token-types.d.ts.map +1 -0
- package/dist/src/workflow/resume-token-types.js +36 -0
- package/dist/src/workflow/resume-token-types.js.map +1 -0
- package/dist/src/workflow/resume-token-validator.d.ts +48 -0
- package/dist/src/workflow/resume-token-validator.d.ts.map +1 -0
- package/dist/src/workflow/resume-token-validator.js +161 -0
- package/dist/src/workflow/resume-token-validator.js.map +1 -0
- package/dist/src/workflow/resume-verifier-types.d.ts +104 -0
- package/dist/src/workflow/resume-verifier-types.d.ts.map +1 -0
- package/dist/src/workflow/resume-verifier-types.js +19 -0
- package/dist/src/workflow/resume-verifier-types.js.map +1 -0
- package/dist/src/workflow/resume-verifier.d.ts +75 -0
- package/dist/src/workflow/resume-verifier.d.ts.map +1 -0
- package/dist/src/workflow/resume-verifier.js +335 -0
- package/dist/src/workflow/resume-verifier.js.map +1 -0
- package/package.json +11 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,231 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.65 - Package reality: friction #78-#82 fixes, REPL guidance, usesteady doctor
|
|
4
|
+
|
|
5
|
+
### Summary
|
|
6
|
+
|
|
7
|
+
This alpha closes the trust gap between repository HEAD and the published
|
|
8
|
+
`usesteady@alpha` line. Fixes for usesteady-public #78 through #82 and the
|
|
9
|
+
new read-only `usesteady doctor` preflight (K6 v1, #349) ship together.
|
|
10
|
+
Operators on alpha.64 reported missing behavior; alpha.65 is the first npm
|
|
11
|
+
alpha artifact that contains these merges.
|
|
12
|
+
|
|
13
|
+
Includes a post-merge guardrail fix: workflow spec load now rejects true
|
|
14
|
+
`input` + `structuredReplace` conflicts (#82) without breaking the JSON
|
|
15
|
+
adapter placeholder pair used by `--json` / `batch`.
|
|
16
|
+
|
|
17
|
+
### What changed (user-visible)
|
|
18
|
+
|
|
19
|
+
**1. Path safety -- reserved Windows parent segments (#78 / #343).**
|
|
20
|
+
Refuses paths whose parent directory segments are Windows reserved device
|
|
21
|
+
names (`CON`, `PRN`, `AUX`, `NUL`, `COM0`-`COM9`, `LPT0`-`LPT9`), not
|
|
22
|
+
only the leaf filename.
|
|
23
|
+
|
|
24
|
+
**2. JSON boundary -- duplicate key refusal (#79 / #344).**
|
|
25
|
+
`--json` rejects duplicate object keys with `invalid_json` instead of
|
|
26
|
+
silently keeping the last value.
|
|
27
|
+
|
|
28
|
+
**3. Path semantics -- extension-bearing parent refusal (#80 / #345).**
|
|
29
|
+
Refuses create/rename targets whose parent segment looks like a filename
|
|
30
|
+
(e.g. `src/Button.tsx/index.ts`) at validate time with `invalid_path`.
|
|
31
|
+
|
|
32
|
+
**4. REPL -- canonical one-line guidance (#81-A / #347).**
|
|
33
|
+
Interactive REPL `NOT EXECUTE` frames show a single honest headline and
|
|
34
|
+
fixed examples instead of slot-shaped "Which file?" / "Which operation?"
|
|
35
|
+
loops.
|
|
36
|
+
|
|
37
|
+
**5. REPL -- FsChange execution parity (#81-B / #341).**
|
|
38
|
+
Interactive REPL filesystem operations execute through `executeFsOp`,
|
|
39
|
+
matching non-REPL behavior (fixes EXEC ERROR after approval).
|
|
40
|
+
|
|
41
|
+
**6. Workflow spec -- input + structuredReplace conflict guard (#82 / #342).**
|
|
42
|
+
`usesteady run` rejects specs where a task defines both freeform `input` and
|
|
43
|
+
`structuredReplace` with `conflicting_input_sources`.
|
|
44
|
+
|
|
45
|
+
**7. New CLI -- `usesteady doctor` (K6 v1 / #349).**
|
|
46
|
+
Read-only install/environment preflight: Node version, package version, store
|
|
47
|
+
readability/writability (ephemeral PID-scoped probe), masked env presence,
|
|
48
|
+
Claude config composite, `live-runs/` artifact count, pointer to
|
|
49
|
+
`workflow inspect`. Text report only in v1; no network, no execution.
|
|
50
|
+
|
|
51
|
+
### Install
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
npm install -g usesteady@0.1.0-alpha.65
|
|
55
|
+
# or opt-in alpha line:
|
|
56
|
+
npm install -g usesteady@alpha
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Certification report: `docs/reports/alpha-certification-v1.md`.
|
|
60
|
+
|
|
61
|
+
## 0.1.0-alpha.64 - Governed kernel widening: workflow inspect, resume tokens, bounded node -e replay
|
|
62
|
+
|
|
63
|
+
### Summary
|
|
64
|
+
|
|
65
|
+
This release widens the governed kernel layer along three independent
|
|
66
|
+
axes -- workflow inspect, resume tokens, and bounded `node -e` inline JS
|
|
67
|
+
replay -- without changing any public-wire contract. The published CLI
|
|
68
|
+
shape, JSON adapter schema, capability advertisement, and rejection
|
|
69
|
+
diagnostics are byte-identical to alpha.63 for every input the prior
|
|
70
|
+
release accepted. Operators upgrading from alpha.63 see new surfaces
|
|
71
|
+
appear; nothing previously working changes shape.
|
|
72
|
+
|
|
73
|
+
The kernel work is the headline. K6 closes the bounded-`node -e`
|
|
74
|
+
replayability question that K1-K5 deferred: a tightly constrained
|
|
75
|
+
subset of `node -e "<BODY>"` invocations are now deterministically
|
|
76
|
+
replayable under `usesteady replay --execute`. Everything outside that
|
|
77
|
+
closed structural predicate continues to refuse, with the refusal
|
|
78
|
+
reason refined for diagnosability. K5 echo byte-for-byte preservation
|
|
79
|
+
is restored after a transient byte-layer regression introduced during
|
|
80
|
+
K6 implementation.
|
|
81
|
+
|
|
82
|
+
### What changed (user-visible)
|
|
83
|
+
|
|
84
|
+
**1. Kernel -- K6: bounded `node -e` deterministic replay.**
|
|
85
|
+
|
|
86
|
+
A new closed structural predicate admits `node -e "<BODY>"` invocations
|
|
87
|
+
for replay-under-execution when `<BODY>` is one of five `console.log`
|
|
88
|
+
atom forms (single-quoted string, signed integer literal, boolean
|
|
89
|
+
literal, `null` literal; the double-quoted string form is admissible by
|
|
90
|
+
the inline-JS predicate but unreachable via the v1.0 wire-level quoting
|
|
91
|
+
of the outer command). Two-gate defense in depth: a token denylist
|
|
92
|
+
(`require`, `process`, `fs`, `eval`, `Date`, `Math.random`, ...) and a
|
|
93
|
+
syntax denylist (backticks, `${`, `//`, `/*`, optional chaining,
|
|
94
|
+
dynamic property access) both run before the closed allow-list. The
|
|
95
|
+
K6 prefix probe runs before the K5 denylist so the leading `node -e "`
|
|
96
|
+
shape is not collaterally refused by K5's shell-metacharacter screen.
|
|
97
|
+
Full design contract: `docs/KERNEL_RUN_COMMAND_K6_DESIGN.md` v1.0.
|
|
98
|
+
|
|
99
|
+
**2. Kernel -- new refusal reason `non_deterministic_inline_js`.**
|
|
100
|
+
|
|
101
|
+
`ExecutionReplayVerdict.refused.reason` and `ClassifierResult.reason`
|
|
102
|
+
gain the value `"non_deterministic_inline_js"`. Emitted when a command
|
|
103
|
+
matches the K6 `node -e "<BODY>"` prefix shape but its body fails the
|
|
104
|
+
inline-JS predicate (denied token, denied syntax fragment, or unmatched
|
|
105
|
+
allow-list atom). Out-of-scope `node` invocations that do not match
|
|
106
|
+
the K6 prefix shape (`node -p`, `node script.js`, etc.) continue to
|
|
107
|
+
refuse with the existing K5-era reason `"non_deterministic_command"`.
|
|
108
|
+
All `switch` sites on these discriminated unions are exhaustively
|
|
109
|
+
updated; TypeScript exhaustiveness guarantees no default fallthrough
|
|
110
|
+
hides a missing branch.
|
|
111
|
+
|
|
112
|
+
**3. Kernel -- K6 execution is host-shell-free (`shell: false`).**
|
|
113
|
+
|
|
114
|
+
K6 inline-JS replay invokes `spawnSync('node', ['-e', body], { shell:
|
|
115
|
+
false, cwd: <K4-sandbox>, ... })`. The `shell: false` flag is the K6
|
|
116
|
+
hermeticity invariant: the body string is never reparsed by an
|
|
117
|
+
intermediate host shell, so no platform-specific quoting, glob, or
|
|
118
|
+
metacharacter expansion can mutate observable behavior between
|
|
119
|
+
artifact capture and replay. Execution still binds to the K4 sandbox
|
|
120
|
+
`cwd`; no `KernelResult` widening for stdout, stderr, or exit code.
|
|
121
|
+
|
|
122
|
+
**4. Kernel -- K5 echo byte-for-byte spawn preservation restored.**
|
|
123
|
+
|
|
124
|
+
The K6 implementation transiently widened the K5 `echo` executor to
|
|
125
|
+
spawn the trimmed form of the command instead of the raw command
|
|
126
|
+
bytes from the spec. Observable behavior was identical across every
|
|
127
|
+
supported host shell (all strip surrounding whitespace before
|
|
128
|
+
parsing), but the strict byte-for-byte K5 contract from alpha.59 was
|
|
129
|
+
technically violated. Alpha.64 restores the original byte-preservation
|
|
130
|
+
behavior and pins it with a regression-guard test for whitespace-
|
|
131
|
+
padded `echo` invocations.
|
|
132
|
+
|
|
133
|
+
**5. New CLI surface -- `usesteady workflow inspect <spec>` (P7-min).**
|
|
134
|
+
|
|
135
|
+
A read-only structural-inspection surface for `WorkflowSpec` files.
|
|
136
|
+
Renders the per-task target tree and IR mapping for a spec without
|
|
137
|
+
executing, persisting state, or producing a `KernelArtifact`. Useful
|
|
138
|
+
for validating spec shape before commit, for triaging
|
|
139
|
+
`run <spec.json>` failures, and for review-time spec audits. The
|
|
140
|
+
surface is purely additive: not invoked by any existing flow, never
|
|
141
|
+
mutates filesystem state, and never advertises beyond its own help
|
|
142
|
+
text.
|
|
143
|
+
|
|
144
|
+
**6. New CLI surface -- P2-min resume tokens.**
|
|
145
|
+
|
|
146
|
+
A new resume-token builder, validator, and verifier provide
|
|
147
|
+
survivability for long-running workflows without hidden continuation
|
|
148
|
+
state. Operators can capture a workflow's mid-run state into an
|
|
149
|
+
explicit resume token, inspect it via `usesteady workflow
|
|
150
|
+
resume-info <token>`, and feed it back to resume execution. No
|
|
151
|
+
existing `--prompt` / `run <spec.json>` invocation changes shape; the
|
|
152
|
+
resume surface is opt-in and additive.
|
|
153
|
+
|
|
154
|
+
**7. Public-surface productization: survivability wedge.**
|
|
155
|
+
|
|
156
|
+
`README.md`, the marketing landing surface, and the npm description
|
|
157
|
+
field are aligned to the survivability + governed-replay wedge.
|
|
158
|
+
Em-dash and arrow glyphs replaced with ASCII per encoding governance
|
|
159
|
+
(no public-facing file regresses ASCII-cleanliness). Deterministic
|
|
160
|
+
demo recording assets shipped under `docs/demo/` and
|
|
161
|
+
`marketing/public/demo/`: one hero `multistep-refactor` demo plus a
|
|
162
|
+
four-part survivability sequence (kill-mid-run, diverged-fs,
|
|
163
|
+
non-idempotent, resume-info), each as `.cast`, `.svg`, `.preview.svg`,
|
|
164
|
+
and `.session.txt` so all rendering paths are reproducible. Public
|
|
165
|
+
demo links repointed to anonymous-reachable URLs (P0 marketing fix).
|
|
166
|
+
|
|
167
|
+
**8. No public-wire breaks.**
|
|
168
|
+
|
|
169
|
+
`KernelResult` shape, the `--json` op schema, `usesteady capabilities`
|
|
170
|
+
output (text and JSON), and rejection-message structure are
|
|
171
|
+
byte-identical to alpha.63 for every input the prior release
|
|
172
|
+
accepted. No CLI flag has been retired or renamed. No JSON adapter
|
|
173
|
+
field has been retired or renamed. The K6 widening expands which
|
|
174
|
+
commands `replay --execute` admits without changing the response
|
|
175
|
+
shape for either the admit path (verdict `match` / `mismatch`) or the
|
|
176
|
+
refuse path (verdict `refused` -- the `reason` enum now carries one
|
|
177
|
+
additional value `non_deterministic_inline_js`, but all prior values
|
|
178
|
+
remain emitted unchanged).
|
|
179
|
+
|
|
180
|
+
### Files added / changed (release-relevant)
|
|
181
|
+
|
|
182
|
+
- `src/kernel/inline-js-classifier.ts` -- NEW. Closed structural
|
|
183
|
+
predicate for K6 inline-JS bodies plus the command-shape prefix
|
|
184
|
+
probe and body extraction.
|
|
185
|
+
- `src/kernel/command-classifier.ts` -- K6 routing precedence + new
|
|
186
|
+
`InScopeCommand` discriminated union for the executor.
|
|
187
|
+
- `src/kernel/classifier.ts` -- K6 refusal-reason precedence.
|
|
188
|
+
- `src/kernel/execution-replay.ts` -- K6 `node -e` execution path
|
|
189
|
+
(`shell: false`) + K5 echo byte-preservation restoration.
|
|
190
|
+
- `src/kernel/types.ts` -- additive widening of
|
|
191
|
+
`ExecutionReplayVerdict.refused.reason` and `ClassifierResult.reason`.
|
|
192
|
+
- `src/shell/cli/use-steady.ts` -- help-text refresh for K6 shape;
|
|
193
|
+
workflow inspect + resume-info surfaces.
|
|
194
|
+
- `src/shell/cli/workflow-inspect*.ts`, `workflow-resume-info.ts`,
|
|
195
|
+
`workflow-spec-loader.ts` -- new workflow inspect and resume-info
|
|
196
|
+
surfaces (P7-min, P2-min).
|
|
197
|
+
- `src/workflow/resume-token-*.ts`, `resume-verifier*.ts` -- new
|
|
198
|
+
resume-token builder, validator, verifier.
|
|
199
|
+
- `tests/kernel/inline-js-classifier.test.ts` -- NEW. 90+ unit tests.
|
|
200
|
+
- `tests/kernel/{classifier, command-classifier, execution-replay}.test.ts`
|
|
201
|
+
-- additive K6 sections plus K5 byte-preservation regression guard.
|
|
202
|
+
- `tests/shell/workflow-inspect*.test.ts`,
|
|
203
|
+
`tests/shell/workflow-resume-*.test.ts`,
|
|
204
|
+
`tests/workflow/resume-*.test.ts` -- new workflow inspect and resume
|
|
205
|
+
test suites.
|
|
206
|
+
- `docs/KERNEL_RUN_COMMAND_K6_DESIGN.md` -- v1.0 design contract.
|
|
207
|
+
- `docs/product/k6-kickoff-report-v1.md`,
|
|
208
|
+
`p2-min-resume-token-design-v1.md`,
|
|
209
|
+
`p7-min-workflow-inspect-design-v1.md`,
|
|
210
|
+
`governed-workflow-primitives-investigation-v1.md`,
|
|
211
|
+
`workflow-survivability-pressure-report-v1.md`,
|
|
212
|
+
`public-launch-pack-v1.md`,
|
|
213
|
+
`messaging-compression-v1.md`,
|
|
214
|
+
`launch-thread-v1.md` -- design and product docs.
|
|
215
|
+
- `docs/demo/`, `marketing/public/demo/` -- deterministic demo
|
|
216
|
+
recording assets (hero + four-part survivability).
|
|
217
|
+
- `README.md`, `marketing/src/pages/Landing.tsx`, `package.json`
|
|
218
|
+
description -- survivability-wedge productization, ASCII encoding.
|
|
219
|
+
|
|
220
|
+
### Out of scope for alpha.64
|
|
221
|
+
|
|
222
|
+
- No K7 work.
|
|
223
|
+
- No timeout policy on K6 execution.
|
|
224
|
+
- No multi-segment shell support.
|
|
225
|
+
- No `stdout` / `stderr` / `exitCode` persistence in `KernelResult`.
|
|
226
|
+
- No public-product surface changes beyond the additive workflow
|
|
227
|
+
inspect, resume-info, and demo / marketing routing.
|
|
228
|
+
|
|
3
229
|
## 0.1.0-alpha.63 - JSON adapter publication-truthfulness alignment
|
|
4
230
|
|
|
5
231
|
### Publication-truthfulness consolidation after alpha.62's #45 fix
|
package/README.md
CHANGED
|
@@ -1,6 +1,88 @@
|
|
|
1
|
-
# UseSteady
|
|
1
|
+
# UseSteady
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**Inspect workflows before execution.**
|
|
4
|
+
**Survive interruption without hidden continuation.**
|
|
5
|
+
|
|
6
|
+
<p align="center">
|
|
7
|
+
<a href="docs/demo/hero/">
|
|
8
|
+
<img alt="Hero demo: AI proposes a 4-task refactor, operator inspects, run is killed mid-flight after task 2, operator verifies the resume token, then resumes - no inherited approvals, no hidden state." src="docs/demo/assets/hero/multistep-refactor.svg" width="900" />
|
|
9
|
+
</a>
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
<p align="center">
|
|
13
|
+
<em>One narrative, ~80 seconds, five beats: <strong>inspect</strong> -> approve -> run -> <strong>interrupt</strong> -> verify token -> <strong>resume</strong>. See the <a href="docs/demo/hero/">storyboard</a>.</em>
|
|
14
|
+
</p>
|
|
15
|
+
|
|
16
|
+
UseSteady is AI-assisted execution that is operationally trustworthy. You describe the workflow, UseSteady inspects it, you approve it, and only then does the work happen. When a long workflow gets interrupted - Ctrl+C, CI timeout, machine reboot - you resume from a visible token without inheriting approval authority and without hidden state.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
# 1. Inspect a workflow before running it. Read-only. Deterministic. No LLM.
|
|
20
|
+
npx usesteady workflow inspect spec.json
|
|
21
|
+
|
|
22
|
+
# 2. Run it. After each task, a resume token is written to
|
|
23
|
+
# <workspace>/.usesteady/resume-tokens/<runId>.json
|
|
24
|
+
npx usesteady run spec.json --yes
|
|
25
|
+
|
|
26
|
+
# 3. Resume after interruption. Per-task verification against current disk state.
|
|
27
|
+
# Approvals are NEVER inherited. Diverged state refuses.
|
|
28
|
+
npx usesteady run spec.json --yes --resume-from <token.json>
|
|
29
|
+
|
|
30
|
+
# 4. Inspect a resume token without running anything.
|
|
31
|
+
npx usesteady workflow resume-info <token.json> --spec spec.json
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
See the [survivability demo suite](docs/demo/survivability/) for four canonical scenarios - each isolates one property in 30-60 seconds. The [hero demo](docs/demo/hero/) composes all four into one continuous flow.
|
|
35
|
+
|
|
36
|
+
### Four survivability demos
|
|
37
|
+
|
|
38
|
+
Each tile prints the operational claim it proves directly into the terminal chrome - a 3-second-readable badge so you know what you are about to watch.
|
|
39
|
+
|
|
40
|
+
<table>
|
|
41
|
+
<tr>
|
|
42
|
+
<td align="center" width="50%">
|
|
43
|
+
<a href="docs/demo/survivability/01-kill-mid-run.md">
|
|
44
|
+
<img alt="Kill mid-run -> resume. Badge: Survives interruption." src="docs/demo/assets/survivability/01-kill-mid-run.preview.svg" width="100%" />
|
|
45
|
+
</a>
|
|
46
|
+
<br />
|
|
47
|
+
<strong>Kill mid-run -> resume</strong><br />
|
|
48
|
+
<em>Survives interruption</em>
|
|
49
|
+
</td>
|
|
50
|
+
<td align="center" width="50%">
|
|
51
|
+
<a href="docs/demo/survivability/02-diverged-fs.md">
|
|
52
|
+
<img alt="Diverged filesystem -> refusal. Badge: Resume refused." src="docs/demo/assets/survivability/02-diverged-fs.preview.svg" width="100%" />
|
|
53
|
+
</a>
|
|
54
|
+
<br />
|
|
55
|
+
<strong>Diverged filesystem -> refusal</strong><br />
|
|
56
|
+
<em>Resume refused</em>
|
|
57
|
+
</td>
|
|
58
|
+
</tr>
|
|
59
|
+
<tr>
|
|
60
|
+
<td align="center" width="50%">
|
|
61
|
+
<a href="docs/demo/survivability/03-non-idempotent.md">
|
|
62
|
+
<img alt="Non-idempotent task -> re-prompt. Badge: Operator approval required." src="docs/demo/assets/survivability/03-non-idempotent.preview.svg" width="100%" />
|
|
63
|
+
</a>
|
|
64
|
+
<br />
|
|
65
|
+
<strong>Non-idempotent task -> re-prompt</strong><br />
|
|
66
|
+
<em>Operator approval required</em>
|
|
67
|
+
</td>
|
|
68
|
+
<td align="center" width="50%">
|
|
69
|
+
<a href="docs/demo/survivability/04-resume-info.md">
|
|
70
|
+
<img alt="workflow resume-info inspection. Badge: Before execution." src="docs/demo/assets/survivability/04-resume-info.preview.svg" width="100%" />
|
|
71
|
+
</a>
|
|
72
|
+
<br />
|
|
73
|
+
<strong><code>workflow resume-info</code> inspection</strong><br />
|
|
74
|
+
<em>Before execution</em>
|
|
75
|
+
</td>
|
|
76
|
+
</tr>
|
|
77
|
+
</table>
|
|
78
|
+
|
|
79
|
+
Click any tile for the walkthrough. Each demo also ships as an animated SVG (in-repo, GitHub-renders) and an [asciinema v2 `.cast`](https://docs.asciinema.org/manual/asciicast/v2/) source - upload to asciinema.org for live playback or convert to MP4/GIF with `agg` / `asciicast2gif`.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## The smaller, interactive surface
|
|
84
|
+
|
|
85
|
+
UseSteady also has an interactive single-step mode for proposing and reviewing individual edits - useful before you graduate to multi-task workflows.
|
|
4
86
|
|
|
5
87
|
```bash
|
|
6
88
|
# Interactive session
|
|
@@ -11,9 +93,6 @@ npx usesteady --prompt "replace 'Submit' with 'Send' in src/Button.tsx"
|
|
|
11
93
|
|
|
12
94
|
# Piped stdin
|
|
13
95
|
echo "rename old.ts to new.ts" | npx usesteady
|
|
14
|
-
|
|
15
|
-
# CI / automation - zero prompts
|
|
16
|
-
npx usesteady run spec.json --yes
|
|
17
96
|
```
|
|
18
97
|
|
|
19
98
|
---
|
|
@@ -137,8 +216,37 @@ Vague input -> Guidance -> You rewrite -> SYSTEM WILL
|
|
|
137
216
|
- No silent execution
|
|
138
217
|
- No vague summaries
|
|
139
218
|
- No hidden changes
|
|
219
|
+
- No hidden continuation across interrupted runs
|
|
220
|
+
- No inherited approvals on resume
|
|
221
|
+
|
|
222
|
+
You see what changes, why it changes, and how risky it is - before anything runs. When a workflow is interrupted, you see the resume token (a plain JSON file in your workspace), and resume requires an explicit `--resume-from` invocation that re-verifies every "already-done" claim against current disk state.
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## What UseSteady is NOT
|
|
227
|
+
|
|
228
|
+
- **Not an autonomous agent.** UseSteady does not run when you are not watching. It does not "figure things out" in the background. It has no daemon, no watcher, no retry loop.
|
|
229
|
+
- **Not a code-generation tool.** UseSteady doesn't write the workflow for you. You describe it (or generate it with whatever tool you like), then UseSteady inspects, approves, runs, and resumes it.
|
|
230
|
+
- **Not a replacement for AI coding assistants.** Use Cursor, Claude, Copilot for the proposal layer. UseSteady is the layer that decides what their proposals are allowed to do to your filesystem.
|
|
231
|
+
- **Not a managed service.** UseSteady runs locally. Your workflows execute on your machine. No telemetry, no cloud workspace, no remote state.
|
|
232
|
+
- **Not a workflow scheduler.** No cron, no triggers, no automatic invocation. The CLI runs when you run it.
|
|
233
|
+
- **Not "smart" about failures.** When a workflow is interrupted and the workspace has diverged from the resume token, UseSteady refuses to resume. It tells you exactly what changed. You decide what to do about it.
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## How UseSteady differs from common alternatives
|
|
238
|
+
|
|
239
|
+
| | Autonomous coding agents | AI copilots / chat assistants | Workflow engines (Airflow, Temporal) | UseSteady |
|
|
240
|
+
|---|---|---|---|---|
|
|
241
|
+
| **Who decides what runs** | The agent | The IDE (after suggestion) | The scheduler | The operator, per step |
|
|
242
|
+
| **What "resume" means** | Restore hidden state, continue | n/a (single-prompt scope) | Resume from internal checkpoint | Re-verify visible token against disk; refuse on divergence |
|
|
243
|
+
| **Approval model** | Inherited or implied | Per-completion in IDE | Configuration-time only | Per-step at runtime, never inherited |
|
|
244
|
+
| **What you can inspect** | Logs, traces, agent reasoning | Diff in the IDE | DAG topology | The exact operations, the exact targets, the exact token bytes |
|
|
245
|
+
| **Where it runs** | Often cloud-managed | IDE host | Cluster | Your local machine |
|
|
246
|
+
| **What gets persisted** | Often hidden internal state | n/a | Engine-managed state stores | A visible JSON file in your workspace |
|
|
247
|
+
| **Failure mode** | Best-effort recovery | n/a (single shot) | DAG retry policy | Refuse on divergence; surface a typed reason |
|
|
140
248
|
|
|
141
|
-
|
|
249
|
+
UseSteady fits a different niche from any of these: long-horizon, multi-step, multi-operator AI-assisted changes whose **operational trust** is more important than autonomous sophistication.
|
|
142
250
|
|
|
143
251
|
---
|
|
144
252
|
|
package/dist/src/b.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b.d.ts","sourceRoot":"","sources":["../../src/b.ts"],"names":[],"mappings":""}
|
package/dist/src/b.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"b.js","sourceRoot":"","sources":["../../src/b.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feasibility-validator.d.ts","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AAIH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAqB,MAAM,SAAS,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"feasibility-validator.d.ts","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+FG;AAIH,OAAO,KAAK,EAAE,EAAE,EAAE,SAAS,EAAqB,MAAM,SAAS,CAAC;AAChE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAUpD;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/C,CAAC;AA2NF,iBAAS,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CA8BhD;AAED,QAAA,MAAM,qBAAqB,qFACyD,CAAC;AAkErF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,CAAC;AA+fvD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAwDrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,GACxB,aAAa,GAAG,IAAI,CAUtB"}
|
|
@@ -98,6 +98,7 @@ import { existsSync, lstatSync } from "node:fs";
|
|
|
98
98
|
import { isAbsolute, join, posix } from "node:path";
|
|
99
99
|
import { canonicalizeForSafety, CanonicalizationError } from "../safety/canonicalize.js";
|
|
100
100
|
import { validateFilenameSafety, validateProtectedPath, } from "../safety/filename-safety.js";
|
|
101
|
+
import { findExtensionBearingParentSegment } from "../safety/path-segment-semantics.js";
|
|
101
102
|
const defaultFs = {
|
|
102
103
|
existsSync,
|
|
103
104
|
isSymlink: (path) => {
|
|
@@ -531,6 +532,50 @@ function verbForOp(op) {
|
|
|
531
532
|
default: return "execute";
|
|
532
533
|
}
|
|
533
534
|
}
|
|
535
|
+
// ─── Extension-bearing parent segment (#80) ──────────────────────────────────
|
|
536
|
+
//
|
|
537
|
+
// Refuse paths where an intermediate segment looks like a source/config
|
|
538
|
+
// filename (e.g. `src/Button.tsx/index.ts` would mkdir `Button.tsx/`).
|
|
539
|
+
// Basename files (`src/components/Button.tsx`) are allowed — only parent
|
|
540
|
+
// segments are checked. See `path-segment-semantics.ts`.
|
|
541
|
+
function makeExtensionBearingParentError(op, path, field, segment, extension) {
|
|
542
|
+
return {
|
|
543
|
+
stage: "validate",
|
|
544
|
+
code: "invalid_path",
|
|
545
|
+
message: `Refusing to ${verbForOp(op)}: ${field} has parent directory "${segment}" ` +
|
|
546
|
+
`which looks like a filename (extension ".${extension}"), not a directory. ` +
|
|
547
|
+
`(${field}: ${path})`,
|
|
548
|
+
operation: op,
|
|
549
|
+
};
|
|
550
|
+
}
|
|
551
|
+
function checkExtensionBearingParentForOp(op) {
|
|
552
|
+
switch (op.type) {
|
|
553
|
+
case "create": {
|
|
554
|
+
const hit = findExtensionBearingParentSegment(op.args.path);
|
|
555
|
+
if (hit === null)
|
|
556
|
+
return null;
|
|
557
|
+
return makeExtensionBearingParentError(op, op.args.path, "file", hit.segment, hit.extension);
|
|
558
|
+
}
|
|
559
|
+
case "create_dir": {
|
|
560
|
+
const hit = findExtensionBearingParentSegment(op.args.path);
|
|
561
|
+
if (hit === null)
|
|
562
|
+
return null;
|
|
563
|
+
return makeExtensionBearingParentError(op, op.args.path, "path", hit.segment, hit.extension);
|
|
564
|
+
}
|
|
565
|
+
case "rename": {
|
|
566
|
+
const hit = findExtensionBearingParentSegment(op.args.to);
|
|
567
|
+
if (hit === null)
|
|
568
|
+
return null;
|
|
569
|
+
return makeExtensionBearingParentError(op, op.args.to, "to", hit.segment, hit.extension);
|
|
570
|
+
}
|
|
571
|
+
case "delete":
|
|
572
|
+
case "replace":
|
|
573
|
+
case "append":
|
|
574
|
+
case "prepend":
|
|
575
|
+
case "run":
|
|
576
|
+
return null;
|
|
577
|
+
}
|
|
578
|
+
}
|
|
534
579
|
function checkFilenameSafetyForOp(op) {
|
|
535
580
|
switch (op.type) {
|
|
536
581
|
case "create": {
|
|
@@ -845,6 +890,12 @@ export function validateOperation(op, context) {
|
|
|
845
890
|
const containmentError = checkPathContainment(op);
|
|
846
891
|
if (containmentError !== null)
|
|
847
892
|
return containmentError;
|
|
893
|
+
// usesteady-public#80 — extension-bearing parent segment refusal.
|
|
894
|
+
// Runs before any fs probe so mkdirSync never materializes a directory
|
|
895
|
+
// named like a source file (e.g. `src/Button.tsx/`).
|
|
896
|
+
const extensionParentError = checkExtensionBearingParentForOp(op);
|
|
897
|
+
if (extensionParentError !== null)
|
|
898
|
+
return extensionParentError;
|
|
848
899
|
// Cluster B Iteration 2 / usesteady-public#50 -- filename hygiene
|
|
849
900
|
// check THIRD, before any fs probe. Orthogonal to containment.
|
|
850
901
|
// Refuses ops that would create a new on-disk filename containing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feasibility-validator.js","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"feasibility-validator.js","sourceRoot":"","sources":["../../../src/input/feasibility-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* src/input/parse-json-input.ts
|
|
3
|
+
*
|
|
4
|
+
* JSON input boundary for --json / batch surfaces (usesteady-public#79).
|
|
5
|
+
*
|
|
6
|
+
* ECMAScript JSON.parse silently applies last-write-wins when an object
|
|
7
|
+
* contains duplicate keys. This module rejects duplicate keys in the
|
|
8
|
+
* same object before parse so the operator sees a deterministic failure
|
|
9
|
+
* instead of a silently discarded earlier value.
|
|
10
|
+
*
|
|
11
|
+
* Scope: JSON boundary only. No workflow, intake, or IR changes.
|
|
12
|
+
*/
|
|
13
|
+
export type JsonInputParseResult = {
|
|
14
|
+
readonly ok: true;
|
|
15
|
+
readonly value: unknown;
|
|
16
|
+
} | {
|
|
17
|
+
readonly ok: false;
|
|
18
|
+
readonly code: "invalid_json";
|
|
19
|
+
readonly message: string;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Parse JSON input for CLI --json / batch, refusing duplicate object keys.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseJsonInput(text: string): JsonInputParseResult;
|
|
25
|
+
/**
|
|
26
|
+
* Return the first duplicate key name found in any JSON object, or null.
|
|
27
|
+
* Nested objects are scoped independently; the same key in different
|
|
28
|
+
* objects is allowed.
|
|
29
|
+
*/
|
|
30
|
+
export declare function findDuplicateJsonObjectKey(text: string): string | null;
|
|
31
|
+
//# sourceMappingURL=parse-json-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-json-input.d.ts","sourceRoot":"","sources":["../../../src/input/parse-json-input.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAmBjE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAGtE"}
|