@msn-control/liftoff 0.11.2 → 0.11.3
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/DEVELOPER.md +9 -8
- package/dist/adapters/filesystem/update-previews.js +1 -2
- package/dist/adapters/filesystem/update-previews.js.map +1 -1
- package/dist/adapters/process/shell-command.d.ts +1 -0
- package/dist/adapters/process/shell-command.js +5 -2
- package/dist/adapters/process/shell-command.js.map +1 -1
- package/dist/application/update/command-guidance.d.ts +19 -2
- package/dist/application/update/command-guidance.js +20 -6
- package/dist/application/update/command-guidance.js.map +1 -1
- package/dist/application/update/guidance-context.d.ts +2 -0
- package/dist/application/update/guidance-context.js +35 -0
- package/dist/application/update/guidance-context.js.map +1 -0
- package/dist/application/update/inspection.d.ts +5 -2
- package/dist/application/update/inspection.js +12 -6
- package/dist/application/update/inspection.js.map +1 -1
- package/dist/application/update/migration-runtime.js +1 -2
- package/dist/application/update/migration-runtime.js.map +1 -1
- package/dist/application/update/output.d.ts +2 -1
- package/dist/application/update/output.js +3 -3
- package/dist/application/update/output.js.map +1 -1
- package/dist/application/update/preview.d.ts +10 -1
- package/dist/application/update/preview.js +26 -4
- package/dist/application/update/preview.js.map +1 -1
- package/dist/application/update/revalidation-plan.js +2 -3
- package/dist/application/update/revalidation-plan.js.map +1 -1
- package/dist/application/update/revalidation.js +2 -2
- package/dist/application/update/revalidation.js.map +1 -1
- package/dist/application/update/use-case.js +26 -13
- package/dist/application/update/use-case.js.map +1 -1
- package/dist/domain/project/infrastructure-layout.d.ts +1 -1
- package/dist/domain/project/infrastructure-layout.js +2 -1
- package/dist/domain/project/infrastructure-layout.js.map +1 -1
- package/docs/cli-reference.md +35 -2
- package/docs/configuration-and-manifests.md +6 -6
- package/docs/troubleshooting.md +28 -0
- package/package.json +1 -1
package/docs/cli-reference.md
CHANGED
|
@@ -273,6 +273,20 @@ liftoff update --check --json
|
|
|
273
273
|
liftoff update --approve-plan <fingerprint> --json
|
|
274
274
|
```
|
|
275
275
|
|
|
276
|
+
Run update from the project root or a subdirectory: Liftoff finds the nearest
|
|
277
|
+
`liftoff.manifest.json`, so `--project` is not required for that project.
|
|
278
|
+
Human follow-ups omit `--project` when discovery from the invocation directory
|
|
279
|
+
selects the same target, and identify the selected project separately.
|
|
280
|
+
When a positional path or `--project` selects a different project, follow-ups
|
|
281
|
+
keep its explicit absolute target. An inner project never substitutes for an
|
|
282
|
+
explicitly selected outer project. JSON remedies remain explicitly targeted so
|
|
283
|
+
they can be used outside the originating shell.
|
|
284
|
+
|
|
285
|
+
After apply, the recommended validation sequence omits a directory change when
|
|
286
|
+
already at the project root. From other directories, including project
|
|
287
|
+
subdirectories, it retains the change to that root. Validate must succeed before
|
|
288
|
+
doctor runs; Liftoff prints these instructions without executing them.
|
|
289
|
+
|
|
276
290
|
`liftoff update --check` is the human-first compatibility and migration preview.
|
|
277
291
|
It changes no project bytes, but saves and discloses a project-bound preview
|
|
278
292
|
receipt in user-local storage outside the repository. A receipt is not approval.
|
|
@@ -280,6 +294,10 @@ receipt in user-local storage outside the repository. A receipt is not approval.
|
|
|
280
294
|
asks for explicit approval with a negative default. Missing or stale previews
|
|
281
295
|
stop with instructions to rerun check. No-op inspection requires no approval.
|
|
282
296
|
|
|
297
|
+
Run check and apply as separate commands; do not join check and apply with `&&`.
|
|
298
|
+
Check returns exit code 2 for an actionable preview, so a success-only shell
|
|
299
|
+
chain would skip apply even though the preview was created successfully.
|
|
300
|
+
|
|
283
301
|
Noninteractive apply additionally requires the exact full plan fingerprint
|
|
284
302
|
through `--approve-plan`. Check and apply must share the same materialized
|
|
285
303
|
checkout and user-local storage; another runner, worktree, or moved project
|
|
@@ -348,8 +366,23 @@ repository:
|
|
|
348
366
|
An empty or relative override is an error, not a request to use the fallback.
|
|
349
367
|
Unsafe paths, links/junctions, or storage inside the project or repository also
|
|
350
368
|
block the update; repair the reported storage issue rather than moving a receipt
|
|
351
|
-
into the project.
|
|
352
|
-
native-shell quoting and retain the selected
|
|
369
|
+
into the project. When an explicit target is needed, commands containing spaces
|
|
370
|
+
or shell metacharacters use literal native-shell quoting and retain the selected
|
|
371
|
+
project path.
|
|
372
|
+
|
|
373
|
+
`preview-missing` means no saved preview was found for the selected project.
|
|
374
|
+
It does not mean project discovery failed or that storage is damaged. A receipt
|
|
375
|
+
may have been consumed or may be absent from this user-local store; run a fresh
|
|
376
|
+
check, review it, then approve the matching apply plan. `preview-mismatch` also
|
|
377
|
+
requires a fresh check because the saved preview no longer matches the current
|
|
378
|
+
plan. Repeating the project argument does not satisfy either prerequisite.
|
|
379
|
+
|
|
380
|
+
Other preview failures retain their specific diagnosis: `preview-storage` names
|
|
381
|
+
a storage operation or path to repair, `preview-invalid` identifies an invalid
|
|
382
|
+
receipt, `preview-unsupported` reports a format incompatibility, and
|
|
383
|
+
`preview-busy` reports concurrent access. Follow the named remedy rather than
|
|
384
|
+
treating every failure as a missing preview. Do not remove an active lock or
|
|
385
|
+
change project files to repair preview metadata.
|
|
353
386
|
|
|
354
387
|
The immutable history snapshot travels inside the project. Preview receipts and
|
|
355
388
|
approval records do not: another machine, checkout, worktree, or moved project
|
|
@@ -210,7 +210,7 @@ comparisons to infer execution safety.
|
|
|
210
210
|
|
|
211
211
|
| Contract | Current version |
|
|
212
212
|
| --- | --- |
|
|
213
|
-
| CLI package version | 0.11.
|
|
213
|
+
| CLI package version | 0.11.3 |
|
|
214
214
|
| Activation package identity | 0.11.0 |
|
|
215
215
|
| Manifest write / supported reads | 7 / 2-7 for API and GenAI |
|
|
216
216
|
| Normative policy | 6 |
|
|
@@ -221,12 +221,12 @@ comparisons to infer execution safety.
|
|
|
221
221
|
| Phase graph, supersession, credential policy | 1 |
|
|
222
222
|
| Assessment report and control catalog | 1 |
|
|
223
223
|
|
|
224
|
-
The 0.11.
|
|
224
|
+
The 0.11.3 CLI patch retains the 0.11.0 activation identity because its phase
|
|
225
225
|
semantics and graph are unchanged. Independent infrastructure provenance
|
|
226
|
-
explicitly recognizes generation versions 0.11.0, 0.11.1, and 0.11.
|
|
227
|
-
mixed component histories; unknown releases are not automatically
|
|
228
|
-
treated as compatible. The mandatory preview/approval workflow and
|
|
229
|
-
update reports
|
|
226
|
+
explicitly recognizes generation versions 0.11.0, 0.11.1, 0.11.2, and 0.11.3,
|
|
227
|
+
including mixed component histories; unknown releases are not automatically
|
|
228
|
+
trusted or treated as compatible. The mandatory preview/approval workflow and
|
|
229
|
+
schema-3 update reports remain unchanged by this patch.
|
|
230
230
|
|
|
231
231
|
Known activation-v1 history remains **diagnostic-only**, not executable proof.
|
|
232
232
|
Compatibility metadata v3 separately declares the exact history-preserving
|
package/docs/troubleshooting.md
CHANGED
|
@@ -146,6 +146,34 @@ Restore `liftoff.manifest.json` from version control or regenerate the project
|
|
|
146
146
|
with the matching Liftoff version. Do not weaken path validation or retain a
|
|
147
147
|
hand-edited unsafe path.
|
|
148
148
|
|
|
149
|
+
## Update reports a missing preview
|
|
150
|
+
|
|
151
|
+
`preview-missing` means Liftoff found the project but has no saved update preview
|
|
152
|
+
for it in the current user-local store. It is not a requirement to repeat the
|
|
153
|
+
project folder or evidence of a storage fault. From inside the project, run
|
|
154
|
+
these commands separately:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
liftoff update --check
|
|
158
|
+
liftoff update
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Review the preview before approving apply. Check exits 2 when it finds actionable
|
|
162
|
+
work, so joining check and apply with `&&` would skip the second command.
|
|
163
|
+
A previously saved preview may have been consumed; run a fresh check rather than
|
|
164
|
+
assuming the earlier check is still available.
|
|
165
|
+
|
|
166
|
+
Human follow-ups omit a redundant `--project` when the current directory resolves
|
|
167
|
+
to the selected project. They retain an explicit target when operating on another
|
|
168
|
+
project or when the caller's context cannot be established. JSON remedies keep
|
|
169
|
+
explicit targets. Completion omits a redundant directory change only when
|
|
170
|
+
already at the project root.
|
|
171
|
+
|
|
172
|
+
A stale preview (`preview-mismatch`) also needs a fresh check and approval.
|
|
173
|
+
Storage, invalid-receipt, unsupported-format, and busy-operation failures have
|
|
174
|
+
their own remedies; repair the named condition instead of changing the project
|
|
175
|
+
argument or deleting an active lock.
|
|
176
|
+
|
|
149
177
|
## Update reports managed-core conflicts or orphans
|
|
150
178
|
|
|
151
179
|
Run `liftoff update --check` before apply. `liftoff update` requires the matching
|