@msn-control/liftoff 0.10.1 → 0.10.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 +8 -1
- package/README.md +11 -0
- package/dist/artifact-lifecycle.d.ts +18 -1
- package/dist/artifact-lifecycle.js +34 -3
- package/dist/artifact-lifecycle.js.map +1 -1
- package/dist/commands.js +100 -8
- package/dist/commands.js.map +1 -1
- package/dist/file-system.js +64 -31
- package/dist/file-system.js.map +1 -1
- package/dist/governance-activation/commands.js +127 -7
- package/dist/governance-activation/commands.js.map +1 -1
- package/dist/governance-activation/readiness.d.ts +1 -0
- package/dist/governance-activation/readiness.js +74 -11
- package/dist/governance-activation/readiness.js.map +1 -1
- package/dist/governance-activation/seed-lifecycle.d.ts +18 -0
- package/dist/governance-activation/seed-lifecycle.js +111 -4
- package/dist/governance-activation/seed-lifecycle.js.map +1 -1
- package/dist/governance-activation/transitions.d.ts +1 -0
- package/dist/governance-activation/transitions.js +25 -3
- package/dist/governance-activation/transitions.js.map +1 -1
- package/dist/power-apps-templates.js +1 -1
- package/dist/power-apps-templates.js.map +1 -1
- package/dist/reconcile.d.ts +1 -1
- package/dist/reconcile.js +42 -0
- package/dist/reconcile.js.map +1 -1
- package/dist/repository-governance.d.ts +0 -4
- package/dist/repository-governance.js +19 -55
- package/dist/repository-governance.js.map +1 -1
- package/dist/templates.js +28 -6
- package/dist/templates.js.map +1 -1
- package/docs/cli-reference.md +10 -8
- package/docs/configuration-and-manifests.md +3 -2
- package/docs/existing-repositories.md +2 -2
- package/docs/project-structure.md +4 -6
- package/docs/repository-governance.md +16 -9
- package/docs/safety-and-consent.md +6 -5
- package/docs/troubleshooting.md +3 -2
- package/docs/workloads.md +2 -2
- package/package.json +1 -1
package/docs/cli-reference.md
CHANGED
|
@@ -30,7 +30,7 @@ install -> upgrade CLI -> plan -> init or migrate -> /liftoff-setup -> validate,
|
|
|
30
30
|
| `liftoff governance plan [project]` | Previews ready and blocked phase transitions, required evidence, approval gates, permitted mutations, and cost-envelope impact without writes |
|
|
31
31
|
| `liftoff governance apply-next [project]` | Previews the next graph-ready transition; add `--execute` to execute at most one approved mutation |
|
|
32
32
|
| `liftoff governance resume [project]` | Rechecks external blockers and readiness descendants without rerunning verified operations |
|
|
33
|
-
| `liftoff governance verify [project]` | Read-only validation of graph, state, evidence, task projection, policy identity, active-change identity, and live readback |
|
|
33
|
+
| `liftoff governance verify [project]` | Read-only validation of graph, state, evidence, task projection, policy identity, active-change identity, and live readback; reports consistency separately from setup completion and reports completion as indeterminate when inspection fails |
|
|
34
34
|
| `liftoff upgrade` | Replaces a verified global npm installation with the exact canonical stable release exposed by the configured registry |
|
|
35
35
|
| `liftoff upgrade --check` | Checks installation origin and registry parity without installing; exits 2 when an installable update exists |
|
|
36
36
|
| `liftoff update [project]` | Applies safe managed-core maintenance and authorized create-only component provisioning |
|
|
@@ -112,9 +112,8 @@ emits a setup-skill version. Future identities, unsupported compatibility
|
|
|
112
112
|
tuples, and unrecognized graph hashes block without rewriting state; the remedy
|
|
113
113
|
names the exact field and required Liftoff upgrade.
|
|
114
114
|
|
|
115
|
-
`/liftoff-setup`
|
|
116
|
-
|
|
117
|
-
checkboxes.
|
|
115
|
+
`/liftoff-setup` calls these commands instead of inferring phase completion from
|
|
116
|
+
prose or task checkboxes.
|
|
118
117
|
|
|
119
118
|
OpenSpec projects use all 12 OpenSpec 1.11 workflows with both skills and
|
|
120
119
|
commands. `--copilot-cloud` opts into the GitHub-hosted coding-agent workflow and
|
|
@@ -176,10 +175,11 @@ Plain `liftoff update` is imperative and prompt-free. It applies safe new,
|
|
|
176
175
|
missing, untouched-upgrade, clean-move, and recorded-state changes only for
|
|
177
176
|
explicit `managed-core` artifacts. For manifest v7 this includes governance
|
|
178
177
|
policy, context, guide, phase graph, compatibility metadata, credential-policy
|
|
179
|
-
schema,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
178
|
+
schema, and selected-agent `/liftoff-setup` integrations. Core conflicts are
|
|
179
|
+
skipped and core orphans are reported without deletion. During legacy governance
|
|
180
|
+
adoption, preserved unrecorded conflicts remain outside managed ownership and
|
|
181
|
+
set local state to `handoff-partial`. Forced update may remove exact retired
|
|
182
|
+
generated setup-alias entries from older manifests after review.
|
|
183
183
|
|
|
184
184
|
Application source, tests, dependencies and locks, database assets, Docker and
|
|
185
185
|
Compose files, environment files, documentation, Power Apps starter files, and
|
|
@@ -244,6 +244,8 @@ liftoff validate --json
|
|
|
244
244
|
liftoff doctor --json
|
|
245
245
|
liftoff governance status --json
|
|
246
246
|
liftoff governance plan --json
|
|
247
|
+
liftoff governance apply-next --json
|
|
248
|
+
liftoff governance apply-next --json --execute
|
|
247
249
|
liftoff governance verify --json
|
|
248
250
|
liftoff upgrade --json
|
|
249
251
|
liftoff upgrade --check --json
|
|
@@ -152,8 +152,9 @@ category or filename:
|
|
|
152
152
|
The manifest is a CLI-owned transaction record rather than an ordinary
|
|
153
153
|
template artifact. Current managed core is limited to the exact repository
|
|
154
154
|
governance policy, context, guide, phase graph, compatibility metadata,
|
|
155
|
-
credential-policy schema, `/liftoff-setup` integrations
|
|
156
|
-
|
|
155
|
+
credential-policy schema, and selected-agent `/liftoff-setup` integrations.
|
|
156
|
+
Forced update may remove exact retired generated setup-alias entries from older
|
|
157
|
+
manifests after review. A name such as `config.go`, a `configuration` category,
|
|
157
158
|
or a path under `.github` does not grant update authority.
|
|
158
159
|
|
|
159
160
|
User-owned governance artifacts are deliberately excluded from managed-core
|
|
@@ -92,8 +92,8 @@ and run `openspec update`.
|
|
|
92
92
|
Projects created before manifest artifact version 7 automatically preview the
|
|
93
93
|
default deterministic setup handoff as new named drift. Plain update safely
|
|
94
94
|
adopts collision-free policy, context, guide, phase graph, compatibility
|
|
95
|
-
metadata, credential-policy schema,
|
|
96
|
-
|
|
95
|
+
metadata, credential-policy schema, and selected-agent setup integrations
|
|
96
|
+
without rewriting a configuration that omitted `governanceProfile`.
|
|
97
97
|
Existing different files remain unowned conflicts and the v7 manifest records
|
|
98
98
|
`handoff-partial`.
|
|
99
99
|
Resolving every conflict promotes a later update to `handoff-generated`.
|
|
@@ -52,9 +52,7 @@ project/
|
|
|
52
52
|
|-- .github/workflows/copilot-setup-steps.yml # optional hosted agent
|
|
53
53
|
|-- .github/agents/openspec.agent.md # optional hosted agent
|
|
54
54
|
|-- .github/prompts/liftoff-setup.prompt.md
|
|
55
|
-
|-- .github/prompts/liftoff-repository-governance.prompt.md # compatibility alias
|
|
56
55
|
| or .claude/commands/liftoff-setup.md
|
|
57
|
-
| and .claude/commands/liftoff-repository-governance.md
|
|
58
56
|
|-- frontend/ # only when selected
|
|
59
57
|
|-- functions/<worker-name>/ # only for worker-enabled GenAI patterns
|
|
60
58
|
`-- migration/legacy/ # only after liftoff migrate
|
|
@@ -89,8 +87,7 @@ project/
|
|
|
89
87
|
generated only after explicit opt-in.
|
|
90
88
|
- `/liftoff-setup` is generated when repository governance is enabled. It calls
|
|
91
89
|
`liftoff governance status|plan|apply-next|resume|verify` and has no model
|
|
92
|
-
selection or separate setup-skill version.
|
|
93
|
-
a compatibility alias for the same state.
|
|
90
|
+
selection or separate setup-skill version.
|
|
94
91
|
|
|
95
92
|
### Conditional areas
|
|
96
93
|
|
|
@@ -148,8 +145,9 @@ Liftoff intentionally does not generate `backend/`, `database/`,
|
|
|
148
145
|
|
|
149
146
|
`liftoff.manifest.json` v7 records managed-core hashes for the governance policy,
|
|
150
147
|
context, guide, phase graph, compatibility metadata, credential-policy schema,
|
|
151
|
-
setup integrations
|
|
152
|
-
|
|
148
|
+
and setup integrations. `liftoff update` may reconcile only those managed-core
|
|
149
|
+
paths. Forced update may remove exact retired generated setup-alias ownership
|
|
150
|
+
from older manifests after review. It preserves user-owned activation state,
|
|
153
151
|
immutable evidence, approvals, credential policies, active OpenSpec changes, and
|
|
154
152
|
project source.
|
|
155
153
|
|
|
@@ -15,9 +15,8 @@ cd my-project
|
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
`/liftoff-setup` completes the generated bootstrap seed, then enters the
|
|
18
|
-
deterministic Liftoff governance engine
|
|
19
|
-
|
|
20
|
-
engine and user-owned activation state; it is not a separate activation path.
|
|
18
|
+
deterministic Liftoff governance engine, user-owned activation state, and
|
|
19
|
+
read-only Phase 0 discovery.
|
|
21
20
|
|
|
22
21
|
## Managed files and user-owned state
|
|
23
22
|
|
|
@@ -31,11 +30,13 @@ Enabled governance adds managed-core files:
|
|
|
31
30
|
.liftoff/governance/compatibility.json
|
|
32
31
|
.liftoff/governance/credential-policy.schema.json
|
|
33
32
|
.github/prompts/liftoff-setup.prompt.md # Copilot selected
|
|
34
|
-
.github/prompts/liftoff-repository-governance.prompt.md # compatibility alias
|
|
35
33
|
.claude/commands/liftoff-setup.md # Claude selected
|
|
36
|
-
.claude/commands/liftoff-repository-governance.md # compatibility alias
|
|
37
34
|
```
|
|
38
35
|
|
|
36
|
+
Older generated setup aliases are retired. Use `liftoff update --force` after
|
|
37
|
+
review to remove exact modified retired alias entries from older manifests; do
|
|
38
|
+
not invoke them as commands.
|
|
39
|
+
|
|
39
40
|
User-owned execution state is separate and is never advanced by
|
|
40
41
|
`liftoff update`:
|
|
41
42
|
|
|
@@ -170,8 +171,9 @@ seed blocks Phase 0. Exactly one compatible active governance change is resumed.
|
|
|
170
171
|
Multiple overlapping changes require a schema-valid supersession or archive
|
|
171
172
|
record before any phase advances.
|
|
172
173
|
|
|
173
|
-
Managed updates install new policy, graph, schema, compatibility metadata,
|
|
174
|
-
integrations
|
|
174
|
+
Managed updates install new policy, graph, schema, compatibility metadata, and
|
|
175
|
+
setup integrations without touching user-owned state. Forced update can remove
|
|
176
|
+
exact retired generated setup-alias entries from older manifests. When a policy,
|
|
175
177
|
activation-contract, schema, or graph-hash change affects active work, status
|
|
176
178
|
reports `reconciliation-required`, invalidates only affected descendants, and
|
|
177
179
|
waits for explicit acknowledgement of the current compatible identity and exact
|
|
@@ -204,6 +206,7 @@ The generated setup integrations call only strict, project-aware CLI commands:
|
|
|
204
206
|
```bash
|
|
205
207
|
liftoff governance status --json
|
|
206
208
|
liftoff governance plan --json
|
|
209
|
+
liftoff governance apply-next --json
|
|
207
210
|
liftoff governance apply-next --json --execute
|
|
208
211
|
liftoff governance resume --json
|
|
209
212
|
liftoff governance verify --json
|
|
@@ -211,8 +214,12 @@ liftoff governance verify --json
|
|
|
211
214
|
|
|
212
215
|
`status`, `plan`, and `verify` are read-only. `apply-next` previews mutations
|
|
213
216
|
unless `--execute` is supplied, and even then executes at most one graph-ready,
|
|
214
|
-
evidence-ready, approved phase.
|
|
215
|
-
|
|
217
|
+
evidence-ready, approved phase. Here, approved means its approval status is
|
|
218
|
+
`not-required` or `reused`. Unknown subcommands, flags, or extra positionals
|
|
219
|
+
fail before project discovery or mutation. Verification reports consistency
|
|
220
|
+
separately from setup completion: a valid not-started or in-progress state may
|
|
221
|
+
have `ok: true` and `verificationStatus: "consistent"` while `complete` remains
|
|
222
|
+
false.
|
|
216
223
|
|
|
217
224
|
## Existing projects
|
|
218
225
|
|
|
@@ -98,11 +98,12 @@ are committed only after the other mutations succeed.
|
|
|
98
98
|
|
|
99
99
|
Managed update may install manifest v7, policy v6, activation-contract v1,
|
|
100
100
|
phase graph, compatibility metadata, credential-policy schema, setup
|
|
101
|
-
integrations, and
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
integrations, and forced removal of exact retired generated setup-alias entries
|
|
102
|
+
from older manifests. It preserves user-owned activation state, approvals,
|
|
103
|
+
immutable evidence, credential policies, active OpenSpec changes, and bootstrap
|
|
104
|
+
retention/disposal records. If the current activation identity is future,
|
|
105
|
+
unsupported, or graph-incompatible, update and setup block with a remedy instead
|
|
106
|
+
of downgrading or rewriting state.
|
|
106
107
|
|
|
107
108
|
If automatic rollback itself cannot safely restore a path because another
|
|
108
109
|
process changed it, Liftoff reports the incomplete rollback rather than
|
package/docs/troubleshooting.md
CHANGED
|
@@ -193,8 +193,9 @@ completes, syncs, and archives the generated bootstrap seed with local baseline
|
|
|
193
193
|
checks, then stops at explicit authority gates for commit/push, credentials,
|
|
194
194
|
billed infrastructure or exceptions, final enforcement, destructive cleanup, or
|
|
195
195
|
external blockers. Rerun `/liftoff-setup` to resume; verified phases are not
|
|
196
|
-
repeated.
|
|
197
|
-
|
|
196
|
+
repeated. Older generated setup aliases are retired; after review,
|
|
197
|
+
`liftoff update --force` removes exact modified retired alias entries from older
|
|
198
|
+
manifests.
|
|
198
199
|
|
|
199
200
|
Missing licenses, runner-provisioning authority, a private Staging assignment or
|
|
200
201
|
reachable network path, alert routes, parallel deployment, or sufficient canary
|
package/docs/workloads.md
CHANGED
|
@@ -40,7 +40,7 @@ Automation can select the neutral starting point explicitly with
|
|
|
40
40
|
- Docker Compose and Azure OpenTofu.
|
|
41
41
|
- Optional Vue frontend and pattern-specific Azure Functions workers.
|
|
42
42
|
- Versioned repository-governance policy, workload context, guide, and
|
|
43
|
-
selected-agent
|
|
43
|
+
selected-agent `/liftoff-setup` integration unless `none` is selected.
|
|
44
44
|
|
|
45
45
|
### Deferred actions
|
|
46
46
|
|
|
@@ -107,7 +107,7 @@ environment, API frontend, Docker, or OpenTofu selection.
|
|
|
107
107
|
- `liftoff.config.json`, manifest-v7 `liftoff.manifest.json`, starter provenance,
|
|
108
108
|
and third-party attribution.
|
|
109
109
|
- Official OpenSpec or Spec Kit output and every selected agent marker.
|
|
110
|
-
- The common local governance policy and selected-agent
|
|
110
|
+
- The common local governance policy and selected-agent `/liftoff-setup` integration, with backend,
|
|
111
111
|
container, OpenTofu, custom deployment, and API DAST controls marked
|
|
112
112
|
inapplicable.
|
|
113
113
|
|