@msn-control/liftoff 0.10.3 → 0.10.4

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 (97) hide show
  1. package/DEVELOPER.md +201 -0
  2. package/README.md +1 -1
  3. package/assets/governance/single-maintainer-gitflow/assessment-controls.json +39 -0
  4. package/assets/supported-stack.json +4 -2
  5. package/dist/args.d.ts +2 -2
  6. package/dist/args.js +41 -10
  7. package/dist/args.js.map +1 -1
  8. package/dist/artifact-lifecycle.d.ts +1 -1
  9. package/dist/artifact-lifecycle.js +3 -1
  10. package/dist/artifact-lifecycle.js.map +1 -1
  11. package/dist/cli.js +2 -1
  12. package/dist/cli.js.map +1 -1
  13. package/dist/commands.js +214 -57
  14. package/dist/commands.js.map +1 -1
  15. package/dist/file-system.d.ts +3 -0
  16. package/dist/file-system.js +51 -10
  17. package/dist/file-system.js.map +1 -1
  18. package/dist/governance-activation/commands.js +40 -2
  19. package/dist/governance-activation/commands.js.map +1 -1
  20. package/dist/governance-activation/readiness.d.ts +1 -0
  21. package/dist/governance-activation/readiness.js +3 -1
  22. package/dist/governance-activation/readiness.js.map +1 -1
  23. package/dist/governance-activation/seed-lifecycle.d.ts +1 -1
  24. package/dist/governance-activation/seed-lifecycle.js +47 -3
  25. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  26. package/dist/governance-activation/transitions.d.ts +8 -0
  27. package/dist/governance-activation/transitions.js +12 -1
  28. package/dist/governance-activation/transitions.js.map +1 -1
  29. package/dist/governance-assessment/catalog.d.ts +8 -0
  30. package/dist/governance-assessment/catalog.js +98 -0
  31. package/dist/governance-assessment/catalog.js.map +1 -0
  32. package/dist/governance-assessment/command.d.ts +10 -0
  33. package/dist/governance-assessment/command.js +81 -0
  34. package/dist/governance-assessment/command.js.map +1 -0
  35. package/dist/governance-assessment/engine.d.ts +19 -0
  36. package/dist/governance-assessment/engine.js +586 -0
  37. package/dist/governance-assessment/engine.js.map +1 -0
  38. package/dist/governance-assessment/index.d.ts +5 -0
  39. package/dist/governance-assessment/index.js +6 -0
  40. package/dist/governance-assessment/index.js.map +1 -0
  41. package/dist/governance-assessment/live-normalize.d.ts +19 -0
  42. package/dist/governance-assessment/live-normalize.js +403 -0
  43. package/dist/governance-assessment/live-normalize.js.map +1 -0
  44. package/dist/governance-assessment/live-transport.d.ts +38 -0
  45. package/dist/governance-assessment/live-transport.js +467 -0
  46. package/dist/governance-assessment/live-transport.js.map +1 -0
  47. package/dist/governance-assessment/live.d.ts +2 -0
  48. package/dist/governance-assessment/live.js +639 -0
  49. package/dist/governance-assessment/live.js.map +1 -0
  50. package/dist/governance-assessment/predicates.d.ts +27 -0
  51. package/dist/governance-assessment/predicates.js +330 -0
  52. package/dist/governance-assessment/predicates.js.map +1 -0
  53. package/dist/governance-assessment/project.d.ts +37 -0
  54. package/dist/governance-assessment/project.js +268 -0
  55. package/dist/governance-assessment/project.js.map +1 -0
  56. package/dist/governance-assessment/readers.d.ts +18 -0
  57. package/dist/governance-assessment/readers.js +130 -0
  58. package/dist/governance-assessment/readers.js.map +1 -0
  59. package/dist/governance-assessment/report.d.ts +23 -0
  60. package/dist/governance-assessment/report.js +266 -0
  61. package/dist/governance-assessment/report.js.map +1 -0
  62. package/dist/governance-assessment/sanitize.d.ts +8 -0
  63. package/dist/governance-assessment/sanitize.js +57 -0
  64. package/dist/governance-assessment/sanitize.js.map +1 -0
  65. package/dist/governance-assessment/types.d.ts +178 -0
  66. package/dist/governance-assessment/types.js +13 -0
  67. package/dist/governance-assessment/types.js.map +1 -0
  68. package/dist/governance-assessment/yaml.d.ts +6 -0
  69. package/dist/governance-assessment/yaml.js +30 -0
  70. package/dist/governance-assessment/yaml.js.map +1 -0
  71. package/dist/migrate-plan.d.ts +4 -0
  72. package/dist/migrate-plan.js +73 -2
  73. package/dist/migrate-plan.js.map +1 -1
  74. package/dist/power-apps-templates.js +4 -0
  75. package/dist/power-apps-templates.js.map +1 -1
  76. package/dist/process-runner.d.ts +4 -0
  77. package/dist/process-runner.js +164 -8
  78. package/dist/process-runner.js.map +1 -1
  79. package/dist/published-verifier.js +6 -0
  80. package/dist/published-verifier.js.map +1 -1
  81. package/dist/release-identity.js +19 -0
  82. package/dist/release-identity.js.map +1 -1
  83. package/dist/repository-governance.d.ts +5 -0
  84. package/dist/repository-governance.js +128 -1
  85. package/dist/repository-governance.js.map +1 -1
  86. package/dist/telemetry/contract.d.ts +2 -0
  87. package/dist/telemetry/contract.js +7 -0
  88. package/dist/telemetry/contract.js.map +1 -1
  89. package/dist/templates.js +48 -25
  90. package/dist/templates.js.map +1 -1
  91. package/docs/cli-reference.md +80 -0
  92. package/docs/configuration-and-manifests.md +11 -1
  93. package/docs/project-structure.md +8 -3
  94. package/docs/repository-governance.md +119 -2
  95. package/docs/telemetry.md +9 -3
  96. package/docs/workloads.md +7 -0
  97. package/package.json +3 -2
package/DEVELOPER.md CHANGED
@@ -43,6 +43,10 @@ There is no separate `/liftoff-setup` skill version. The setup integration is a
43
43
  thin managed artifact; its managed content hash plus the activation contract and
44
44
  graph hash are sufficient identity.
45
45
 
46
+ The same rule applies to `/liftoff-governance-assess`: it has no independent
47
+ assessment-skill version. Report schema v1 and the packaged assessment catalog
48
+ schema identify read-only data contracts, not a new policy or activation identity.
49
+
46
50
  ## Bump rules
47
51
 
48
52
  | Change | Required bump |
@@ -71,6 +75,67 @@ changes in another.
71
75
  - Never fabricate history: prose, filenames, timestamps, or checked tasks are
72
76
  not evidence.
73
77
 
78
+ ## Read-only assessment maintenance
79
+
80
+ The pinned target is the installed CLI's packaged policy, activation identity,
81
+ phase graph, and control catalog, never registry latest. The local-only
82
+ `liftoff governance assess --json` path must make no network requests or require
83
+ cloud credentials. Only an explicit `--live` request authorizes bounded
84
+ read-only GitHub/Azure metadata using existing permissions and validated scope.
85
+ No mode may enroll credentials, run project scripts, mutate configuration,
86
+ update or upgrade anything, or write state, approvals, or evidence.
87
+ Every assessment invocation, including `--live` and `--help`, must skip telemetry
88
+ and disclosure entirely. Local Git reads use only repository root, HEAD, and
89
+ origin metadata; never call `git status`, whose clean filters can execute code.
90
+ Azure scope and evidence-backed applicability require a current active-baseline
91
+ and referenced, validated saved-plan/evidence receipts. Reject placeholder
92
+ digests, future-dated approvals, and inferred bindings. Missing bindings remain
93
+ `not-observed`; remediation must never suggest manually fabricating activation
94
+ state, baselines, receipts, or evidence.
95
+
96
+ Reports distinguish target, recorded baseline, declared configuration, and
97
+ observed enforcement with expected/observed values, provenance, impact, and
98
+ ownership-aware advisory remediation. Preserve all seven classifications:
99
+ `aligned`, `outdated`, `missing`, `conflicting`, `approved-exception`,
100
+ `inapplicable`, and `not-observed`. Coverage must expose unknown applicability,
101
+ unobserved live proof, stale evidence, and unsupported evaluators.
102
+ Exit 0 means fully observed aligned or explicitly disabled not-applicable
103
+ governance, not interchangeable claims; exit 2 means partial coverage or
104
+ differences including approved exceptions; exit 1 means error. An assessment
105
+ cannot advance a phase or supply approval for a future governance upgrade.
106
+ Show the project policy version when available and expected/observed values.
107
+ Optional normalized observation `facts` retain sanitized details alongside
108
+ evaluator predicate values without retaining raw provider payloads.
109
+
110
+ When adding a control or evaluator:
111
+
112
+ - Use unique stable control IDs, normative policy references, explicit expected
113
+ values, applicability/proof layers, valid phase IDs, and narrow exception scope.
114
+ - Bind the catalog digest to the canonical policy digest; test policy/catalog
115
+ coherence and non-empty enabled coverage. Keep every normative policy family
116
+ in the reviewed inventory, including explicit unsupported coverage.
117
+ - Add deterministic fixtures for equivalent reordered facts, known differences,
118
+ stale/denied/unknown/incomplete observations, and scope-bound exceptions.
119
+ Unknown proof must not become missing, inapplicable, or aligned.
120
+ - Prove read-only behavior with filesystem fingerprints and injected operation
121
+ logs, including failure paths and unsupported identities. Test redaction
122
+ before retention/truncation and fixed live read allowlists and limits.
123
+ - Cover Windows/macOS/Linux paths, CRLF, spaces, case handling, and
124
+ symlink/junction rejection; never execute project YAML, hooks, or scripts.
125
+ - Keep both agent wrappers equivalent and limited to
126
+ `liftoff governance assess --json` or, after explicit live consent,
127
+ `liftoff governance assess --live --json`. Keep `/liftoff-setup` primary.
128
+ - Append exact `liftoff-governance-assess-copilot` and
129
+ `liftoff-governance-assess-claude` ownership identities and portable paths.
130
+ Older supported inventories must load and expose safe new drift. Test
131
+ unowned collision protection under force, managed conflict handling,
132
+ transactional rollback, and unchanged state/evidence bytes.
133
+
134
+ Assessment diagnoses unsupported activation mappings without weakening mutation
135
+ loaders or claiming a migration exists. A future governance upgrade must collect
136
+ fresh observations, produce its own authoritative plan, and obtain approvals.
137
+ See [assessment guidance](docs/repository-governance.md#read-only-governance-assessment).
138
+
74
139
  ## Release integrity requirements
75
140
 
76
141
  - Validate the canonical graph, graph hash, per-phase contract digests, and
@@ -80,17 +145,25 @@ changes in another.
80
145
  bump and affected descendant invalidation.
81
146
  - Generated OpenSpec seeds must include metadata, proposal, design, tasks, and
82
147
  declared capability specs, and must pass strict validation immediately.
148
+ Test external archival before activation as well: the baseline must retain
149
+ every applicable local check and validate synchronized specs rather than an
150
+ inactive change name. A persisted archived-baseline blocker is retryable only
151
+ through a new explicit execution, never by fabricating evidence on resume.
83
152
  - Copilot and Claude `/liftoff-setup` integrations must be behaviorally
84
153
  equivalent, command-only, model-agnostic, and free of skill-version fields.
85
154
  They must distinguish the read-only `apply-next --json` preview from
86
155
  `apply-next --json --execute`, and execute only when approval status is
87
156
  `not-required` or `reused`.
157
+ Use `selectedPhase` and `executedPhase` for the apply-next attempt; read the
158
+ subsequent status or verify result for post-transition `nextReadyPhase`.
88
159
  - Governance verification must report state consistency separately from setup
89
160
  progress. A consistent `not-started` or `in-progress` result is not complete;
90
161
  completion requires every phase to have a successful terminal state.
91
162
  - Credential tests must prove PAT/App policy equivalence, exact workflow/job
92
163
  allowlists, masked input, no command-argument/file/log/evidence leaks, and
93
164
  compromised revoke/rotate guidance.
165
+ OpenSpec failure diagnostics must be bounded, stripped of terminal controls,
166
+ and screened for credential-shaped content before truncation or persistence.
94
167
  - Path tests must cover Windows, macOS, and Linux path-part arrays, symlink
95
168
  rejection, atomic state writes, and rollback.
96
169
 
@@ -103,6 +176,8 @@ npx vitest run tests/documentation.test.ts
103
176
  npx vitest run tests/templates.test.ts tests/repository-governance.test.ts
104
177
  npx vitest run tests/governance-activation.test.ts tests/governance-commands.test.ts tests/governance-credentials.test.ts
105
178
  npx vitest run tests/seed-lifecycle.test.ts
179
+ npx vitest run tests/governance-assessment.test.ts tests/governance-assessment-engine.test.ts
180
+ npx vitest run tests/commands.test.ts tests/file-system.test.ts tests/contract.test.ts tests/update.test.ts
106
181
  npm run build
107
182
  openspec validate add-deterministic-liftoff-setup --strict
108
183
  ```
@@ -147,3 +222,129 @@ signing material in repository files, workflow logs, chat, screenshots, or
147
222
  evidence. Failed post-publish verification requires a dist-tag correction when
148
223
  the immutable package is correct, or a corrected patch release; do not unpublish
149
224
  as routine recovery.
225
+
226
+ ## Functional engines and recommended boundaries
227
+
228
+ Grouped at the top-level command/workflow-domain boundary, Liftoff currently
229
+ has eight functional engines. Each contains smaller services; these are
230
+ responsibility groups, not eight classes named `Engine`:
231
+
232
+ | Subsystem | Current implementation |
233
+ | --- | --- |
234
+ | Project planning and generation | `planner.ts`, `templates.ts`, workload renderers and template assets |
235
+ | Workstation/framework bootstrap | `workstation.ts`, `project-dependencies.ts`, framework adapters and initialization safety |
236
+ | Source migration | `scan.ts`, `migrate-plan.ts`, migration orchestration |
237
+ | Managed project maintenance | `reconcile.ts`, artifact lifecycle declarations and guarded filesystem transactions |
238
+ | CLI self-upgrade | `self-upgrade.ts`, stable release lookup and installed-package verification |
239
+ | Diagnostics | Manifest validation, doctor, runtime and framework checks |
240
+ | Governance activation | `governance-activation/` state graph, approvals, evidence and transition dispatch |
241
+ | Governance assessment | `governance-assessment/` control catalog, observations, comparison and reporting |
242
+
243
+ Telemetry, terminal presentation, process execution, catalogs, and filesystem
244
+ access support those subsystems rather than constituting additional business
245
+ engines.
246
+
247
+ The next structural change should be incremental. First extract the command
248
+ handlers from the large `commands.ts` orchestrator. Then separate pure domain
249
+ rules from filesystem/process/GitHub/Azure adapters, and group workload
250
+ generators separately from governance policy definitions:
251
+
252
+ ```text
253
+ src/
254
+ cli/ # arguments, per-command handlers, presentation
255
+ application/ # bootstrap, migration, update and upgrade use cases
256
+ domain/
257
+ project/ # manifests, ownership and compatibility
258
+ governance/ # versioned policy and common control definitions
259
+ activation/ # phases, approval envelopes and evidence
260
+ assessment/ # pure comparison and coverage rules
261
+ infrastructure/ # filesystem, process, Git, GitHub, Azure and npm ports
262
+ generators/ # common, standard, GenAI and Power Apps renderers
263
+ assets/governance/ # immutable policy bundles, catalogs and compatibility data
264
+ ```
265
+
266
+ Keep one source of truth for policy and version identities, retain content
267
+ digest checks between policy/catalog/graph artifacts, and make read-only and
268
+ mutating adapter capabilities distinct. Preserve current import/CLI contracts
269
+ through small extraction changes rather than mixing a broad refactor into a
270
+ feature release.
271
+
272
+ ## Activation completeness and separate follow-up plan
273
+
274
+ The activation engine is not yet an end-to-end production provisioning engine.
275
+ Of its 26 declared phases, 10 have built-in handler paths, 2 require an injected
276
+ GitHub ruleset adapter that the public CLI does not currently supply, and 14
277
+ fall back to an explicit missing-production-adapter blocker.
278
+
279
+ The missing production phase handlers are `provider-ready`,
280
+ `state-path-selected`, `existing-private-path`, `bootstrap-local`,
281
+ `runner-ready`, `private-backend-proof`, `remote-import-verified`,
282
+ `application-foundation`, `workflow-source-ready`, `dev-proof`,
283
+ `staging-qualified`, `production-rehearsed`, `green-red-proof`, and
284
+ `enforcement-approved`. `rulesets-applied` and `live-readback` have adapter
285
+ contracts but need production wiring.
286
+
287
+ Built-in handler presence does not establish a complete user journey:
288
+ approval envelopes are read from disk but no public approval-persistence
289
+ command is exposed; secure credential enrollment helpers are not wired into
290
+ the command-only setup flow; and existing activation inspection still uses
291
+ placeholder baseline/input digests. Assessment does not accept those
292
+ placeholders as current proof. Do not fabricate state, approvals, or evidence
293
+ to get past these gaps.
294
+
295
+ Complete this work separately from the read-only assessment feature:
296
+
297
+ 1. Add explicit approval-persistence and secure credential-enrollment entry
298
+ points with narrow consent and selected-agent command contracts.
299
+ 2. Bind activation contexts to actual baseline, phase inputs, and transitions;
300
+ define reviewed reconciliation for existing placeholder-bound history
301
+ without rewriting immutable evidence or inventing completion.
302
+ 3. Supply production implementations for the missing phase adapters and the
303
+ GitHub ruleset adapter, enforcing resource, permission, cost, and destructive
304
+ bounds at execution.
305
+ 4. Complete retry and rollback behavior, including recovery from active local
306
+ baseline failures, without blanket retries of remote or destructive phases.
307
+ 5. Prove the entire activation and upgrade/reconciliation path with
308
+ end-to-end positive and negative cases, then gated live readback where
309
+ explicitly authorized.
310
+
311
+ The assessment/bootstrap patch can ship independently while these fail-closed
312
+ limitations remain documented; it must not advertise them as completed
313
+ production capabilities.
314
+
315
+ ## Broader audit follow-ups
316
+
317
+ The whole-CLI review also identified work outside the bounded assessment,
318
+ bootstrap, release-safety, and guidance patch. These are not repaired by
319
+ successful rendering, unit tests, package smoke, or OpenTofu syntax validation:
320
+
321
+ - **GenAI capability completeness:** review catalog scaffold labels against an
322
+ executable behavior matrix. Current RAG retrieval/citation code, conversation
323
+ and tool orchestration, prompt-file loading, worker handlers, and streaming
324
+ behavior still require project-level implementation work in several patterns.
325
+ - **Azure deployment completeness:** finish RAG publisher configuration and
326
+ sender permissions, Function code packaging/deployment, dependency readiness,
327
+ authenticated ingress, private connectivity, environment-specific safeguards,
328
+ and regional service settings before treating generated applications as
329
+ production-ready.
330
+ - **Baseline prerequisites:** keep dependency installation separately
331
+ consented. Python test settings and npm dependency preparation need explicit
332
+ validated recipes; an unprepared baseline must block with a remedy, not pass
333
+ vacuously.
334
+ - **Persistent validation coverage:** expand framework delivery validation and
335
+ Power Apps lock compatibility checks, validate exact plugin
336
+ identity/version/enabled state, and strengthen deep readiness rather than
337
+ equating liveness with dependency health.
338
+ - **Supply-chain delivery:** configured-registry version parity is not proof
339
+ that its bytes equal the canonical release. Plan canonical artifact integrity
340
+ verification before self-upgrade installation, with an explicit trust model
341
+ for dependencies and approved mirrors. Pin or package mutable runtime/CDN
342
+ assets as part of that work.
343
+ - **Filesystem concurrency:** strengthen shared mutation locking and
344
+ no-follow/fd-relative writes against noncooperating processes replacing
345
+ ancestors between validation and mutation. Existing preflight/rollback
346
+ safeguards are not a complete adversarial-filesystem isolation mechanism.
347
+
348
+ Treat these as separate reviewed changes with workload/runtime acceptance
349
+ criteria. Do not enlarge a patch into a production platform rewrite or claim
350
+ that unavailable behavior has been implemented.
package/README.md CHANGED
@@ -106,7 +106,7 @@ write failures.
106
106
  | [Getting started](docs/getting-started.md) | Install safely and complete the first interactive project |
107
107
  | [Workloads](docs/workloads.md) | Compare GenAI, API, and Power Apps choices and outputs |
108
108
  | [Spec workflows and agents](docs/spec-workflows-and-agents.md) | Configure OpenSpec, Spec Kit, Copilot, Claude, and the optional Code Apps plugin |
109
- | [Repository governance](docs/repository-governance.md) | Review `/liftoff-setup`, phase order, authority gates, evidence, credentials, and compatibility |
109
+ | [Repository governance](docs/repository-governance.md) | Review `/liftoff-setup`, read-only `/liftoff-governance-assess`, authority gates, evidence, and compatibility |
110
110
  | [Existing repositories](docs/existing-repositories.md) | Understand in-place, child-directory, and migration behavior |
111
111
  | [Prerequisites](docs/prerequisites.md) | Review plan-derived runtimes, tools, authentication, and dependency setup |
112
112
  | [Supported stack baseline](docs/supported-stack.md) | Review pinned runtimes, frameworks, dependency locks, images, and refresh policy |
@@ -0,0 +1,39 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "profile": "single-maintainer-gitflow",
4
+ "policyVersion": "6",
5
+ "policyDigest": "9444e7339ea7747e49b8c11bada6ebc2f52e3e53cee7e1e8fd593353ce1ab149",
6
+ "families": ["azure", "deployment", "documentation", "dora", "environments", "evidence", "gitflow", "governance", "health", "identity", "monitoring", "promotion", "release", "retention", "rollback", "runner", "security"],
7
+ "controls": [
8
+ {"id":"identity.activation","title":"Recorded activation identity","policySection":"Liftoff activation protocol","severity":"warning","applicability":"always","evaluator":"identity","proofLayers":["recorded"],"expected":"installed-activation-identity","phaseIds":[],"supported":true,"exceptionAllowed":false,"ownership":"managed-core","recommendation":"Inspect the found and installed identities. Use a release with an explicit compatibility mapping; assessment cannot migrate state."},
9
+ {"id":"identity.managed-core","title":"Managed governance file drift","policySection":"Liftoff activation protocol","severity":"warning","applicability":"always","evaluator":"managed-core","proofLayers":["recorded","declared"],"expected":"installed-managed-artifacts","phaseIds":[],"supported":true,"exceptionAllowed":false,"ownership":"managed-core","recommendation":"Run liftoff update --check and review exact managed-core drift. Force cannot acquire unowned files or bypass compatibility."},
10
+ {"id":"gitflow.default-branch","title":"Default integration branch","policySection":"Phase 1 - Branching model","severity":"error","applicability":"always","evaluator":"default-branch","proofLayers":["live"],"expected":"develop","phaseIds":["phase-0-complete"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review the repository default branch through a separately approved governance change."},
11
+ {"id":"gitflow.protected-refs","title":"Protected GitFlow refs","policySection":"Phase 5 - Governance as code","severity":"error","applicability":"always","evaluator":"protected-refs","proofLayers":["declared","live"],"expected":true,"phaseIds":["rulesets-applied","live-readback"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review repository rulesets for develop, main, release/** and hotfix/** with deletion and force-push protection, strict checks, and no bypass actors."},
12
+ {"id":"governance.single-maintainer","title":"Single-maintainer pull request rules","policySection":"Fixed context - Single-maintainer repositories","severity":"error","applicability":"always","evaluator":"single-maintainer","proofLayers":["declared","live"],"expected":true,"phaseIds":["rulesets-applied"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Keep required approving reviews at zero, code-owner review false, and last-push approval false. Automated checks remain the gate."},
13
+ {"id":"governance.no-codeowners","title":"No CODEOWNERS approval dependency","policySection":"Fixed context - Do not require human approval","severity":"warning","applicability":"always","evaluator":"no-codeowners","proofLayers":["declared"],"expected":false,"phaseIds":["workflow-source-ready"],"supported":true,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review CODEOWNERS usage without introducing another human merge or deployment gate."},
14
+ {"id":"release.tag-controls","title":"Separate release tag creation and immutability rules","policySection":"Phase 5 - Governance as code","severity":"error","applicability":"always","evaluator":"tag-controls","proofLayers":["declared","live"],"expected":true,"phaseIds":["rulesets-applied"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review separate v* creation and immutable-tag rules; only the verified GitHub Actions application may bypass creation."},
15
+ {"id":"governance.required-contexts","title":"Observed exact required check contexts","policySection":"Phase 5 - Fail-closed sequencing","severity":"error","applicability":"always","evaluator":"required-contexts","proofLayers":["declared","live"],"expected":true,"phaseIds":["green-red-proof","rulesets-applied"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Bind required check names and application identities to observed runs on the exact assessed commit. Review missing or skipped contexts before ruleset changes."},
16
+ {"id":"security.push-protection","title":"GitHub Secret Protection","policySection":"Phase 4 - Security pipeline","severity":"error","applicability":"always","evaluator":"push-protection","proofLayers":["live"],"expected":true,"phaseIds":["green-red-proof"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review GitHub secret scanning and push-protection settings using existing licensed capability; do not substitute duplicate scanners."},
17
+ {"id":"security.workflow-permissions","title":"Explicit bounded workflow permissions","policySection":"Fixed context - Automation identity","severity":"warning","applicability":"always","evaluator":"workflow-permissions","proofLayers":["declared"],"expected":true,"phaseIds":["workflow-source-ready"],"supported":true,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review explicit least-privilege workflow and job permissions; broad write-all permissions are not a safe default."},
18
+ {"id":"security.action-pinning","title":"Immutable action references","policySection":"Phase 4 - SLSA L3 generator exception","severity":"warning","applicability":"always","evaluator":"action-pinning","proofLayers":["declared"],"expected":true,"phaseIds":["workflow-source-ready"],"supported":true,"exceptionAllowed":true,"ownership":"project-owned","recommendation":"Review immutable action references. The only permitted action-reference exception is the exact official SLSA generator with scoped, expiring approval."},
19
+ {"id":"security.fail-open-flags","title":"Required-job fail-open configuration","policySection":"Phase 5 - No required check may fail open","severity":"error","applicability":"always","evaluator":"fail-open-flags","proofLayers":["declared"],"expected":false,"phaseIds":["workflow-source-ready","green-red-proof"],"supported":true,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review continue-on-error and unresolved conditions on required jobs. Static inspection does not establish full script failure semantics."},
20
+ {"id":"security.pipeline","title":"Declared security stage and tool inventory","policySection":"Phase 4 - Security pipeline","severity":"warning","applicability":"always","evaluator":"pipeline","proofLayers":["declared","live"],"expected":true,"phaseIds":["workflow-source-ready","green-red-proof"],"supported":true,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review the canonical GitHub, Checkov, Trivy, report-only Grype, ZAP, attestation and Scorecard roles. Unresolved reusable workflows or scripts need separate evidence."},
21
+ {"id":"environments.configuration","title":"Applicable deployment environments and review gates","policySection":"Phase 3 - Promotion","severity":"error","applicability":"api","evaluator":"environments","proofLayers":["live"],"expected":"project-environments-without-reviewers","phaseIds":["staging-qualified","production-rehearsed"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review the project's declared environments and GitHub environment restrictions without human reviewer gates."},
22
+ {"id":"runner.private-assignment","title":"Repository-bound private runner assignment","policySection":"Private Staging runner provisioning contract","severity":"error","applicability":"private-dast","evaluator":"runner","proofLayers":["recorded","live"],"expected":true,"phaseIds":["runner-ready"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review the exact hosted-runner, group, network, labels and selected-repository bindings. Assessment does not create or broaden assignments."},
23
+ {"id":"azure.providers","title":"Required provider registration states","policySection":"Private Staging runner provisioning contract","severity":"error","applicability":"api","evaluator":"providers","proofLayers":["live"],"expected":"Registered","phaseIds":["provider-ready"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review only the namespaces needed by explicitly bound resources. Provider registration requires a separately approved execution plan."},
24
+ {"id":"azure.storage-redundancy","title":"Bound storage redundancy","policySection":"Pre-answered platform defaults","severity":"error","applicability":"api","evaluator":"storage","proofLayers":["live"],"expected":{"state":"ZRS in every environment","application":{"dev":"LRS","staging":"ZRS","prod":"ZRS"}},"phaseIds":["remote-ready","application-foundation"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Compare the explicitly bound storage role and environment before planning redundancy changes; never provision an unused service."},
25
+ {"id":"azure.network-egress","title":"Explicit private runner egress","policySection":"Private Staging runner provisioning contract - explicit outbound mode","severity":"error","applicability":"private-dast","evaluator":"network","proofLayers":["recorded","live"],"expected":true,"phaseIds":["bootstrap-local","runner-ready"],"supported":true,"exceptionAllowed":false,"ownership":"remote","recommendation":"Review explicit outbound access and mutually exclusive NAT/Firewall routing using validated Staging bindings; never share another repository's firewall."},
26
+ {"id":"evidence.governance","title":"Current authoritative governance evidence","policySection":"Liftoff activation protocol","severity":"warning","applicability":"always","evaluator":"evidence","proofLayers":["evidence"],"expected":true,"phaseIds":[],"supported":true,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Refresh missing or stale proof through supported setup operations after reviewing blockers; reports and task checkboxes are not phase evidence."},
27
+ {"id":"documentation.inventory","title":"Required operational and security documentation","policySection":"Phase 6 - Documentation","severity":"warning","applicability":"always","evaluator":"documentation","proofLayers":["declared"],"expected":true,"phaseIds":["workflow-source-ready"],"supported":true,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review missing governance, scanning, alerting, health, audit-evidence, acceptable-use and rollback runbook documents in a separate project change."},
28
+ {"id":"release.provenance","title":"Release version and verified attestation binding","policySection":"Phase 2 - Release versioning on main","severity":"warning","applicability":"always","evaluator":"unsupported","proofLayers":["evidence"],"expected":"verified version, candidate SHA, deployed digest and signer binding","phaseIds":["production-rehearsed"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Supply independently verifiable release and attestation evidence; file or asset presence alone does not verify provenance."},
29
+ {"id":"promotion.identical-artifact","title":"Build-once identical artifact promotion","policySection":"Phase 3 - Promotion","severity":"warning","applicability":"always","evaluator":"unsupported","proofLayers":["evidence"],"expected":"same qualified digest across environments","phaseIds":["staging-qualified","production-rehearsed"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Verify immutable candidate and deployed digest records. Assessment does not build, scan, dispatch, or deploy artifacts."},
30
+ {"id":"deployment.blue-green-canary","title":"Blue-green and canary execution proof","policySection":"Deployment strategy - blue-green mechanism, canary exposure","severity":"warning","applicability":"api","evaluator":"unsupported","proofLayers":["evidence"],"expected":"validated rollout observations","phaseIds":["production-rehearsed"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review real rollout and traffic evidence; declarative files alone do not prove behavior."},
31
+ {"id":"rollback.rehearsal","title":"Ungated rollback rehearsal","policySection":"Roll back first, debug later","severity":"warning","applicability":"always","evaluator":"unsupported","proofLayers":["evidence"],"expected":"dated successful rollback by prior digest","phaseIds":["production-rehearsed"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Provide rollback rehearsal evidence; assessment never triggers a rollback or adds a reviewer gate."},
32
+ {"id":"monitoring.alert-delivery","title":"Runtime monitoring and end-to-end alerts","policySection":"Runtime monitoring and alerting","severity":"warning","applicability":"always","evaluator":"unsupported","proofLayers":["evidence"],"expected":"observed health signals and alert delivery","phaseIds":["production-rehearsed"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Supply verified alert delivery and monitoring evidence without exposing webhook or credential values."},
33
+ {"id":"health.deep-checks","title":"Deep dependency health and recovery order","policySection":"Service health model","severity":"warning","applicability":"api","evaluator":"unsupported","proofLayers":["evidence"],"expected":"validated component and dependency health","phaseIds":["application-foundation"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review observed deep health and dependency recovery evidence; do not infer it from endpoint names."},
34
+ {"id":"dora.measurements","title":"Delivery performance measurements","policySection":"Delivery performance - DORA four keys","severity":"info","applicability":"always","evaluator":"unsupported","proofLayers":["evidence"],"expected":"source-bound delivery metrics","phaseIds":[],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review measured delivery outcomes; no DORA measurement adapter is available in this assessment version."},
35
+ {"id":"runner.private-reachability","title":"Private DNS and Staging reachability proof","policySection":"Private Staging runner provisioning contract - Prove isolation and the private path","severity":"warning","applicability":"private-dast","evaluator":"unsupported","proofLayers":["evidence"],"expected":"live private path proof from the assigned runner","phaseIds":["private-backend-proof","staging-qualified"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Provide current runner-origin private reachability evidence; assessment does not schedule DAST or infer reachability from a VNet."},
36
+ {"id":"retention.bootstrap-disposal","title":"Bootstrap state custody and day-30 disposal","policySection":"Pre-answered platform defaults","severity":"warning","applicability":"state-path","evaluator":"unsupported","proofLayers":["evidence"],"expected":"validated encrypted custody and disposal evidence","phaseIds":["bootstrap-state-disposed"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Review non-secret retention and deletion evidence. Assessment never reads state payloads or encryption keys."},
37
+ {"id":"security.fail-closed-execution","title":"Deliberate negative required-check proof","policySection":"Phase 5 - Prove each check fails","severity":"warning","applicability":"always","evaluator":"unsupported","proofLayers":["evidence"],"expected":"green and deliberate red proof for exact required contexts","phaseIds":["green-red-proof"],"supported":false,"exceptionAllowed":false,"ownership":"project-owned","recommendation":"Use existing authoritative negative-test evidence; assessment must not plant violations or trigger validation workflows."}
38
+ ]
39
+ }
@@ -84,7 +84,8 @@
84
84
  "dependencies": {
85
85
  "@inquirer/prompts": "^8.6.0",
86
86
  "cross-spawn": "^7.0.6",
87
- "picocolors": "^1.1.1"
87
+ "picocolors": "^1.1.1",
88
+ "yaml": "^2.9.0"
88
89
  },
89
90
  "devDependencies": {
90
91
  "@types/cross-spawn": "^6.0.6",
@@ -98,7 +99,8 @@
98
99
  "dependencies": {
99
100
  "@inquirer/prompts": "8.7.0",
100
101
  "cross-spawn": "7.0.6",
101
- "picocolors": "1.1.1"
102
+ "picocolors": "1.1.1",
103
+ "yaml": "2.9.0"
102
104
  },
103
105
  "devDependencies": {
104
106
  "@types/cross-spawn": "6.0.6",
package/dist/args.d.ts CHANGED
@@ -55,8 +55,8 @@ export declare class UsageError extends Error {
55
55
  constructor(message: string);
56
56
  }
57
57
  export declare function parseArgs(argv: string[]): ParsedArgs;
58
- export declare function getCommandHelp(command: string): CommandHelpModel;
59
- export declare function formatCommandHelp(command: string): string;
58
+ export declare function getCommandHelp(command: string, subcommand?: string): CommandHelpModel;
59
+ export declare function formatCommandHelp(command: string, subcommand?: string): string;
60
60
  export declare function getGeneralHelp(version: string): GeneralHelpModel;
61
61
  export declare function formatGeneralHelp(version: string): string;
62
62
  export declare function readStringFlag(flags: ParsedArgs['flags'], name: string): string | undefined;
package/dist/args.js CHANGED
@@ -144,16 +144,17 @@ export const commandDefinitions = {
144
144
  defaultMaxPositionals: 0
145
145
  },
146
146
  governance: {
147
- description: 'Inspect deterministic governance activation',
148
- usage: '<status|plan|apply-next|resume|verify> [project-path]',
147
+ description: 'Inspect governance activation and assess policy alignment',
148
+ usage: '<status|plan|apply-next|resume|verify|assess> [project-path]',
149
149
  group: 'Operations',
150
150
  flags: {
151
151
  project: valueFlag('Liftoff project path', 'Project', 'path'),
152
152
  execute: booleanFlag('Execute the reviewed governance apply-next plan; required for any mutation', 'Consent'),
153
+ live: booleanFlag('Assess only: request bounded read-only GitHub/Azure metadata with existing permissions', 'Consent'),
153
154
  json: booleanFlag('Emit machine-readable JSON', 'Output'),
154
155
  ...helpFlag
155
156
  },
156
- subcommands: ['status', 'plan', 'apply-next', 'resume', 'verify'],
157
+ subcommands: ['status', 'plan', 'apply-next', 'resume', 'verify', 'assess'],
157
158
  arguments: [{ syntax: 'project-path', description: 'Liftoff project to inspect' }],
158
159
  defaultMaxPositionals: 0,
159
160
  subcommandMaxPositionals: {
@@ -161,7 +162,8 @@ export const commandDefinitions = {
161
162
  plan: 1,
162
163
  'apply-next': 1,
163
164
  resume: 1,
164
- verify: 1
165
+ verify: 1,
166
+ assess: 1
165
167
  }
166
168
  },
167
169
  dev: {
@@ -298,6 +300,19 @@ export function parseArgs(argv) {
298
300
  throw new UsageError('Flags --check and --force cannot be combined. Run `liftoff update --check` ' +
299
301
  'to inspect managed-core drift or `liftoff update --force` to overwrite core conflicts.');
300
302
  }
303
+ if (command === 'governance') {
304
+ if (Object.hasOwn(flags, 'live') && subcommand !== 'assess') {
305
+ throw new UsageError('Flag --live is allowed only for `liftoff governance assess`.');
306
+ }
307
+ if (subcommand === 'assess') {
308
+ if (Object.hasOwn(flags, 'execute')) {
309
+ throw new UsageError('Flag --execute is not allowed for read-only `liftoff governance assess`.');
310
+ }
311
+ if (positional.length > 0 && Object.hasOwn(flags, 'project')) {
312
+ throw new UsageError('Provide the assessment project either positionally or with --project, not both.');
313
+ }
314
+ }
315
+ }
301
316
  const maxPositionals = subcommand
302
317
  ? definition.subcommandMaxPositionals?.[subcommand] ?? 0
303
318
  : definition.defaultMaxPositionals;
@@ -315,11 +330,27 @@ function flagSyntax(name, flag) {
315
330
  const negated = flag.negatable ? ` / --no-${name}` : '';
316
331
  return `--${name}${value}${negated}`;
317
332
  }
318
- export function getCommandHelp(command) {
319
- const definition = commandDefinitions[command];
333
+ export function getCommandHelp(command, subcommand) {
334
+ const assessment = command === 'governance' && subcommand === 'assess';
335
+ const definition = assessment
336
+ ? {
337
+ description: 'Read-only comparison against the installed CLI policy, activation identity, and control catalog. Local-only by default: no network or credentials required. Exit 0: aligned or explicitly disabled (not-applicable); 2: partial coverage or differences, including approved exceptions; 1: invalid or unsafe input. This is not setup, an upgrade, or permission to remediate.',
338
+ usage: '[project-path] [--json] [--live]',
339
+ group: 'Operations',
340
+ flags: {
341
+ project: commandDefinitions.governance.flags.project,
342
+ live: booleanFlag('Opt into bounded repository/resource-scoped GitHub/Azure reads using existing permissions; denied or unavailable proof stays not-observed', 'Consent'),
343
+ json: booleanFlag('Emit the schema-v1 report with pinned target, findings, provenance, and coverage to stdout; never write state or evidence', 'Output'),
344
+ ...helpFlag
345
+ },
346
+ arguments: commandDefinitions.governance.arguments,
347
+ defaultMaxPositionals: 1
348
+ }
349
+ : commandDefinitions[command];
320
350
  if (!definition) {
321
351
  throw new UsageError(`Unknown command for help: ${command}.`);
322
352
  }
353
+ const helpCommand = assessment ? 'governance assess' : command;
323
354
  const groupedFlags = Object.entries(definition.flags).reduce((groups, entry) => {
324
355
  const group = entry[1].group;
325
356
  const entries = groups.get(group) ?? [];
@@ -328,9 +359,9 @@ export function getCommandHelp(command) {
328
359
  return groups;
329
360
  }, new Map());
330
361
  return {
331
- command,
362
+ command: helpCommand,
332
363
  description: definition.description,
333
- usage: `liftoff ${command}${definition.usage ? ` ${definition.usage}` : ''}`,
364
+ usage: `liftoff ${helpCommand}${definition.usage ? ` ${definition.usage}` : ''}`,
334
365
  arguments: (definition.arguments ?? []).map((argument) => ({
335
366
  syntax: argument.syntax,
336
367
  description: argument.description
@@ -346,8 +377,8 @@ export function getCommandHelp(command) {
346
377
  }))
347
378
  };
348
379
  }
349
- export function formatCommandHelp(command) {
350
- const help = getCommandHelp(command);
380
+ export function formatCommandHelp(command, subcommand) {
381
+ const help = getCommandHelp(command, subcommand);
351
382
  const lines = [
352
383
  `${help.command} - ${help.description}`,
353
384
  '',
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ProjectProvisioningGroup } from './types.js';
2
- export declare const managedCoreLogicalNames: readonly ['repository-governance-policy', 'repository-governance-context', 'repository-governance-guide', 'repository-governance-phase-graph', 'repository-governance-compatibility', 'repository-governance-credential-policy-schema', 'liftoff-setup-copilot', 'liftoff-setup-claude'];
2
+ export declare const managedCoreLogicalNames: readonly ['repository-governance-policy', 'repository-governance-context', 'repository-governance-guide', 'repository-governance-phase-graph', 'repository-governance-compatibility', 'repository-governance-credential-policy-schema', 'liftoff-setup-copilot', 'liftoff-setup-claude', 'liftoff-governance-assess-copilot', 'liftoff-governance-assess-claude'];
3
3
  export declare function isManagedCoreLogicalName(logicalName: string): boolean;
4
4
  export declare const retiredManagedCoreIdentities: readonly [{
5
5
  readonly logicalName: 'repository-governance-copilot-launcher';
@@ -7,7 +7,9 @@ export const managedCoreLogicalNames = [
7
7
  'repository-governance-compatibility',
8
8
  'repository-governance-credential-policy-schema',
9
9
  'liftoff-setup-copilot',
10
- 'liftoff-setup-claude'
10
+ 'liftoff-setup-claude',
11
+ 'liftoff-governance-assess-copilot',
12
+ 'liftoff-governance-assess-claude'
11
13
  ];
12
14
  const managedCoreLogicalNameSet = new Set(managedCoreLogicalNames);
13
15
  export function isManagedCoreLogicalName(logicalName) {
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-lifecycle.js","sourceRoot":"","sources":["../src/artifact-lifecycle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact-lifecycle.js","sourceRoot":"","sources":["../src/artifact-lifecycle.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -8,6 +8,7 @@ import { nodeRuntimeError } from './runtime.js';
8
8
  import { maybeShowTelemetryNotice, telemetryCommandFor, trackCommand } from './telemetry/index.js';
9
9
  import { PresentationSession } from './terminal.js';
10
10
  import { liftoffVersion } from './version.js';
11
+ import { isTelemetryExcludedCommand } from './telemetry/contract.js';
11
12
  const defaultTelemetryHooks = {
12
13
  beforeCommand: (stderr, env) => maybeShowTelemetryNotice({ stderr, env }),
13
14
  afterCommand: async (parsed, exitCode, env) => {
@@ -61,7 +62,7 @@ export async function runCli(options = {}) {
61
62
  renderEntrypointError(error, stdout, stderr);
62
63
  return 1;
63
64
  }
64
- const telemetryReady = await safelyPrepareTelemetry(() => telemetry.beforeCommand(stderr, env));
65
+ const telemetryReady = !isTelemetryExcludedCommand(parsed) && await safelyPrepareTelemetry(() => telemetry.beforeCommand(stderr, env));
65
66
  let exitCode;
66
67
  try {
67
68
  exitCode = await execute(parsed, {