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.
Files changed (100) hide show
  1. package/CHANGELOG.md +226 -0
  2. package/README.md +114 -6
  3. package/dist/src/b.d.ts +2 -0
  4. package/dist/src/b.d.ts.map +1 -0
  5. package/dist/src/b.js +2 -0
  6. package/dist/src/b.js.map +1 -0
  7. package/dist/src/input/feasibility-validator.d.ts.map +1 -1
  8. package/dist/src/input/feasibility-validator.js +51 -0
  9. package/dist/src/input/feasibility-validator.js.map +1 -1
  10. package/dist/src/input/parse-json-input.d.ts +31 -0
  11. package/dist/src/input/parse-json-input.d.ts.map +1 -0
  12. package/dist/src/input/parse-json-input.js +216 -0
  13. package/dist/src/input/parse-json-input.js.map +1 -0
  14. package/dist/src/kernel/classifier.d.ts +18 -12
  15. package/dist/src/kernel/classifier.d.ts.map +1 -1
  16. package/dist/src/kernel/classifier.js +55 -32
  17. package/dist/src/kernel/classifier.js.map +1 -1
  18. package/dist/src/kernel/command-classifier.d.ts +71 -35
  19. package/dist/src/kernel/command-classifier.d.ts.map +1 -1
  20. package/dist/src/kernel/command-classifier.js +79 -37
  21. package/dist/src/kernel/command-classifier.js.map +1 -1
  22. package/dist/src/kernel/execution-replay.d.ts.map +1 -1
  23. package/dist/src/kernel/execution-replay.js +90 -44
  24. package/dist/src/kernel/execution-replay.js.map +1 -1
  25. package/dist/src/kernel/inline-js-classifier.d.ts +126 -0
  26. package/dist/src/kernel/inline-js-classifier.d.ts.map +1 -0
  27. package/dist/src/kernel/inline-js-classifier.js +275 -0
  28. package/dist/src/kernel/inline-js-classifier.js.map +1 -0
  29. package/dist/src/kernel/types.d.ts +2 -2
  30. package/dist/src/kernel/types.d.ts.map +1 -1
  31. package/dist/src/product/cursor-product-session.d.ts +8 -1
  32. package/dist/src/product/cursor-product-session.d.ts.map +1 -1
  33. package/dist/src/product/cursor-product-session.js +101 -6
  34. package/dist/src/product/cursor-product-session.js.map +1 -1
  35. package/dist/src/safety/filename-safety.d.ts.map +1 -1
  36. package/dist/src/safety/filename-safety.js +57 -37
  37. package/dist/src/safety/filename-safety.js.map +1 -1
  38. package/dist/src/safety/path-segment-semantics.d.ts +25 -0
  39. package/dist/src/safety/path-segment-semantics.d.ts.map +1 -0
  40. package/dist/src/safety/path-segment-semantics.js +60 -0
  41. package/dist/src/safety/path-segment-semantics.js.map +1 -0
  42. package/dist/src/shell/cli/doctor.d.ts +44 -0
  43. package/dist/src/shell/cli/doctor.d.ts.map +1 -0
  44. package/dist/src/shell/cli/doctor.js +338 -0
  45. package/dist/src/shell/cli/doctor.js.map +1 -0
  46. package/dist/src/shell/cli/main.d.ts +49 -25
  47. package/dist/src/shell/cli/main.d.ts.map +1 -1
  48. package/dist/src/shell/cli/main.js +212 -373
  49. package/dist/src/shell/cli/main.js.map +1 -1
  50. package/dist/src/shell/cli/use-steady.js +223 -19
  51. package/dist/src/shell/cli/use-steady.js.map +1 -1
  52. package/dist/src/shell/cli/workflow-inspect-target-tree.d.ts +121 -0
  53. package/dist/src/shell/cli/workflow-inspect-target-tree.d.ts.map +1 -0
  54. package/dist/src/shell/cli/workflow-inspect-target-tree.js +256 -0
  55. package/dist/src/shell/cli/workflow-inspect-target-tree.js.map +1 -0
  56. package/dist/src/shell/cli/workflow-inspect-task-to-ir.d.ts +67 -0
  57. package/dist/src/shell/cli/workflow-inspect-task-to-ir.d.ts.map +1 -0
  58. package/dist/src/shell/cli/workflow-inspect-task-to-ir.js +192 -0
  59. package/dist/src/shell/cli/workflow-inspect-task-to-ir.js.map +1 -0
  60. package/dist/src/shell/cli/workflow-inspect.d.ts +142 -0
  61. package/dist/src/shell/cli/workflow-inspect.d.ts.map +1 -0
  62. package/dist/src/shell/cli/workflow-inspect.js +381 -0
  63. package/dist/src/shell/cli/workflow-inspect.js.map +1 -0
  64. package/dist/src/shell/cli/workflow-resume-info.d.ts +93 -0
  65. package/dist/src/shell/cli/workflow-resume-info.d.ts.map +1 -0
  66. package/dist/src/shell/cli/workflow-resume-info.js +185 -0
  67. package/dist/src/shell/cli/workflow-resume-info.js.map +1 -0
  68. package/dist/src/shell/cli/workflow-spec-loader.d.ts +69 -0
  69. package/dist/src/shell/cli/workflow-spec-loader.d.ts.map +1 -0
  70. package/dist/src/shell/cli/workflow-spec-loader.js +292 -0
  71. package/dist/src/shell/cli/workflow-spec-loader.js.map +1 -0
  72. package/dist/src/shell/repl-guide-presenter.d.ts +25 -0
  73. package/dist/src/shell/repl-guide-presenter.d.ts.map +1 -0
  74. package/dist/src/shell/repl-guide-presenter.js +45 -0
  75. package/dist/src/shell/repl-guide-presenter.js.map +1 -0
  76. package/dist/src/workflow/resume-token-builder.d.ts +54 -0
  77. package/dist/src/workflow/resume-token-builder.d.ts.map +1 -0
  78. package/dist/src/workflow/resume-token-builder.js +71 -0
  79. package/dist/src/workflow/resume-token-builder.js.map +1 -0
  80. package/dist/src/workflow/resume-token-io.d.ts +99 -0
  81. package/dist/src/workflow/resume-token-io.d.ts.map +1 -0
  82. package/dist/src/workflow/resume-token-io.js +198 -0
  83. package/dist/src/workflow/resume-token-io.js.map +1 -0
  84. package/dist/src/workflow/resume-token-types.d.ts +131 -0
  85. package/dist/src/workflow/resume-token-types.d.ts.map +1 -0
  86. package/dist/src/workflow/resume-token-types.js +36 -0
  87. package/dist/src/workflow/resume-token-types.js.map +1 -0
  88. package/dist/src/workflow/resume-token-validator.d.ts +48 -0
  89. package/dist/src/workflow/resume-token-validator.d.ts.map +1 -0
  90. package/dist/src/workflow/resume-token-validator.js +161 -0
  91. package/dist/src/workflow/resume-token-validator.js.map +1 -0
  92. package/dist/src/workflow/resume-verifier-types.d.ts +104 -0
  93. package/dist/src/workflow/resume-verifier-types.d.ts.map +1 -0
  94. package/dist/src/workflow/resume-verifier-types.js +19 -0
  95. package/dist/src/workflow/resume-verifier-types.js.map +1 -0
  96. package/dist/src/workflow/resume-verifier.d.ts +75 -0
  97. package/dist/src/workflow/resume-verifier.d.ts.map +1 -0
  98. package/dist/src/workflow/resume-verifier.js +335 -0
  99. package/dist/src/workflow/resume-verifier.js.map +1 -0
  100. 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 - Review AI actions before they run
1
+ # UseSteady
2
2
 
3
- UseSteady shows you exactly what AI will do - before it executes anything.
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
- You see what changes, why it changes, and how risky it is - before anything runs.
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
 
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=b.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=b.js.map
@@ -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;AASpD;;;;;;;;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;AAocvD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,gBAAgB,GACxB,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAkDrC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CACxB,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,gBAAgB,GACxB,aAAa,GAAG,IAAI,CAUtB"}
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"}