@msn-control/liftoff 0.10.4 → 0.11.2

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 (700) hide show
  1. package/DEVELOPER.md +238 -77
  2. package/README.md +38 -33
  3. package/assets/supported-stack.json +3 -136
  4. package/dist/adapters/azure/governance-assessment.d.ts +2 -0
  5. package/dist/adapters/azure/governance-assessment.js +21 -0
  6. package/dist/adapters/azure/governance-assessment.js.map +1 -0
  7. package/dist/adapters/filesystem/atomic-write.d.ts +2 -0
  8. package/dist/adapters/filesystem/atomic-write.js +74 -0
  9. package/dist/adapters/filesystem/atomic-write.js.map +1 -0
  10. package/dist/adapters/filesystem/errors.d.ts +2 -0
  11. package/dist/adapters/filesystem/errors.js +8 -0
  12. package/dist/adapters/filesystem/errors.js.map +1 -0
  13. package/dist/adapters/filesystem/manifest-file.d.ts +1 -0
  14. package/dist/adapters/filesystem/manifest-file.js +21 -0
  15. package/dist/adapters/filesystem/manifest-file.js.map +1 -0
  16. package/dist/adapters/filesystem/project-config.d.ts +4 -0
  17. package/dist/adapters/filesystem/project-config.js +157 -0
  18. package/dist/adapters/filesystem/project-config.js.map +1 -0
  19. package/dist/adapters/filesystem/project-discovery.d.ts +2 -0
  20. package/dist/adapters/filesystem/project-discovery.js +30 -0
  21. package/dist/adapters/filesystem/project-discovery.js.map +1 -0
  22. package/dist/adapters/filesystem/project-files.d.ts +6 -0
  23. package/dist/adapters/filesystem/project-files.js +68 -0
  24. package/dist/adapters/filesystem/project-files.js.map +1 -0
  25. package/dist/adapters/filesystem/project-lock.d.ts +8 -0
  26. package/dist/adapters/filesystem/project-lock.js +164 -0
  27. package/dist/adapters/filesystem/project-lock.js.map +1 -0
  28. package/dist/adapters/filesystem/project-paths.d.ts +2 -0
  29. package/dist/adapters/filesystem/project-paths.js +60 -0
  30. package/dist/adapters/filesystem/project-paths.js.map +1 -0
  31. package/dist/adapters/filesystem/project-transaction.d.ts +24 -0
  32. package/dist/adapters/filesystem/project-transaction.js +177 -0
  33. package/dist/adapters/filesystem/project-transaction.js.map +1 -0
  34. package/dist/adapters/filesystem/reviewed-update-transaction.d.ts +53 -0
  35. package/dist/adapters/filesystem/reviewed-update-transaction.js +864 -0
  36. package/dist/adapters/filesystem/reviewed-update-transaction.js.map +1 -0
  37. package/dist/adapters/filesystem/update-previews.d.ts +50 -0
  38. package/dist/adapters/filesystem/update-previews.js +613 -0
  39. package/dist/adapters/filesystem/update-previews.js.map +1 -0
  40. package/dist/adapters/git/governance-assessment.d.ts +22 -0
  41. package/dist/adapters/git/governance-assessment.js +161 -0
  42. package/dist/adapters/git/governance-assessment.js.map +1 -0
  43. package/dist/adapters/github/governance-assessment.d.ts +2 -0
  44. package/dist/adapters/github/governance-assessment.js +18 -0
  45. package/dist/adapters/github/governance-assessment.js.map +1 -0
  46. package/dist/adapters/packaged-assets/package-root.d.ts +3 -0
  47. package/dist/adapters/packaged-assets/package-root.js +21 -0
  48. package/dist/adapters/packaged-assets/package-root.js.map +1 -0
  49. package/dist/adapters/packaged-assets/supported-stack.d.ts +4 -0
  50. package/dist/adapters/packaged-assets/supported-stack.js +18 -0
  51. package/dist/adapters/packaged-assets/supported-stack.js.map +1 -0
  52. package/dist/adapters/packaged-assets/template-assets.d.ts +23 -0
  53. package/dist/adapters/packaged-assets/template-assets.js +36 -0
  54. package/dist/adapters/packaged-assets/template-assets.js.map +1 -0
  55. package/dist/adapters/process/shell-command.d.ts +6 -0
  56. package/dist/adapters/process/shell-command.js +27 -0
  57. package/dist/adapters/process/shell-command.js.map +1 -0
  58. package/dist/application/context.d.ts +25 -0
  59. package/dist/application/context.js +2 -0
  60. package/dist/application/context.js.map +1 -0
  61. package/dist/application/diagnose/doctor.d.ts +21 -0
  62. package/dist/application/diagnose/doctor.js +580 -0
  63. package/dist/application/diagnose/doctor.js.map +1 -0
  64. package/dist/application/diagnose/generated-project.d.ts +1 -0
  65. package/dist/application/diagnose/generated-project.js +105 -0
  66. package/dist/application/diagnose/generated-project.js.map +1 -0
  67. package/dist/application/diagnose/validate.d.ts +6 -0
  68. package/dist/application/diagnose/validate.js +27 -0
  69. package/dist/application/diagnose/validate.js.map +1 -0
  70. package/dist/application/initialize/fixture.d.ts +2 -0
  71. package/dist/application/initialize/fixture.js +39 -0
  72. package/dist/application/initialize/fixture.js.map +1 -0
  73. package/dist/application/initialize/inputs.d.ts +3 -0
  74. package/dist/application/initialize/inputs.js +35 -0
  75. package/dist/application/initialize/inputs.js.map +1 -0
  76. package/dist/application/initialize/use-case.d.ts +23 -0
  77. package/dist/application/initialize/use-case.js +360 -0
  78. package/dist/application/initialize/use-case.js.map +1 -0
  79. package/dist/application/migrate/use-case.d.ts +7 -0
  80. package/dist/application/migrate/use-case.js +378 -0
  81. package/dist/application/migrate/use-case.js.map +1 -0
  82. package/dist/application/project/catalog.d.ts +46 -0
  83. package/dist/application/project/catalog.js +12 -0
  84. package/dist/application/project/catalog.js.map +1 -0
  85. package/dist/application/project/manifest.d.ts +2 -0
  86. package/dist/application/project/manifest.js +29 -0
  87. package/dist/application/project/manifest.js.map +1 -0
  88. package/dist/application/project/planning.d.ts +6 -0
  89. package/dist/application/project/planning.js +12 -0
  90. package/dist/application/project/planning.js.map +1 -0
  91. package/dist/application/update/approval.d.ts +39 -0
  92. package/dist/application/update/approval.js +54 -0
  93. package/dist/application/update/approval.js.map +1 -0
  94. package/dist/application/update/command-guidance.d.ts +2 -0
  95. package/dist/application/update/command-guidance.js +14 -0
  96. package/dist/application/update/command-guidance.js.map +1 -0
  97. package/dist/application/update/inspection.d.ts +37 -0
  98. package/dist/application/update/inspection.js +235 -0
  99. package/dist/application/update/inspection.js.map +1 -0
  100. package/dist/application/update/migration-runtime.d.ts +14 -0
  101. package/dist/application/update/migration-runtime.js +178 -0
  102. package/dist/application/update/migration-runtime.js.map +1 -0
  103. package/dist/application/update/output.d.ts +134 -0
  104. package/dist/application/update/output.js +182 -0
  105. package/dist/application/update/output.js.map +1 -0
  106. package/dist/application/update/planning.d.ts +40 -0
  107. package/dist/application/update/planning.js +293 -0
  108. package/dist/application/update/planning.js.map +1 -0
  109. package/dist/application/update/preview.d.ts +49 -0
  110. package/dist/application/update/preview.js +220 -0
  111. package/dist/application/update/preview.js.map +1 -0
  112. package/dist/application/update/protected-source.d.ts +25 -0
  113. package/dist/application/update/protected-source.js +81 -0
  114. package/dist/application/update/protected-source.js.map +1 -0
  115. package/dist/application/update/reporting.d.ts +42 -0
  116. package/dist/application/update/reporting.js +326 -0
  117. package/dist/application/update/reporting.js.map +1 -0
  118. package/dist/application/update/revalidation-plan.d.ts +22 -0
  119. package/dist/application/update/revalidation-plan.js +108 -0
  120. package/dist/application/update/revalidation-plan.js.map +1 -0
  121. package/dist/application/update/revalidation.d.ts +70 -0
  122. package/dist/application/update/revalidation.js +337 -0
  123. package/dist/application/update/revalidation.js.map +1 -0
  124. package/dist/application/update/review-plan.d.ts +25 -0
  125. package/dist/application/update/review-plan.js +89 -0
  126. package/dist/application/update/review-plan.js.map +1 -0
  127. package/dist/application/update/transaction-approval.d.ts +29 -0
  128. package/dist/application/update/transaction-approval.js +82 -0
  129. package/dist/application/update/transaction-approval.js.map +1 -0
  130. package/dist/application/update/use-case.d.ts +9 -0
  131. package/dist/application/update/use-case.js +271 -0
  132. package/dist/application/update/use-case.js.map +1 -0
  133. package/dist/application/update/write-plan.d.ts +15 -0
  134. package/dist/application/update/write-plan.js +115 -0
  135. package/dist/application/update/write-plan.js.map +1 -0
  136. package/dist/application/upgrade/use-case.d.ts +6 -0
  137. package/dist/application/upgrade/use-case.js +82 -0
  138. package/dist/application/upgrade/use-case.js.map +1 -0
  139. package/dist/args.d.ts +5 -65
  140. package/dist/args.js +4 -472
  141. package/dist/args.js.map +1 -1
  142. package/dist/artifact-lifecycle.d.ts +1 -21
  143. package/dist/artifact-lifecycle.js +1 -75
  144. package/dist/artifact-lifecycle.js.map +1 -1
  145. package/dist/catalogs.d.ts +1 -50
  146. package/dist/catalogs.js +1 -472
  147. package/dist/catalogs.js.map +1 -1
  148. package/dist/cli/args/contracts.d.ts +51 -0
  149. package/dist/cli/args/contracts.js +2 -0
  150. package/dist/cli/args/contracts.js.map +1 -0
  151. package/dist/cli/args/definitions.d.ts +6 -0
  152. package/dist/cli/args/definitions.js +188 -0
  153. package/dist/cli/args/definitions.js.map +1 -0
  154. package/dist/cli/args/help.d.ts +5 -0
  155. package/dist/cli/args/help.js +142 -0
  156. package/dist/cli/args/help.js.map +1 -0
  157. package/dist/cli/args/parser.d.ts +5 -0
  158. package/dist/cli/args/parser.js +160 -0
  159. package/dist/cli/args/parser.js.map +1 -0
  160. package/dist/cli/args/readers.d.ts +4 -0
  161. package/dist/cli/args/readers.js +19 -0
  162. package/dist/cli/args/readers.js.map +1 -0
  163. package/dist/cli/commands/diagnose.d.ts +4 -0
  164. package/dist/cli/commands/diagnose.js +12 -0
  165. package/dist/cli/commands/diagnose.js.map +1 -0
  166. package/dist/cli/commands/dispatch.d.ts +3 -0
  167. package/dist/cli/commands/dispatch.js +94 -0
  168. package/dist/cli/commands/dispatch.js.map +1 -0
  169. package/dist/cli/commands/help.d.ts +3 -0
  170. package/dist/cli/commands/help.js +32 -0
  171. package/dist/cli/commands/help.js.map +1 -0
  172. package/dist/cli/commands/helpers.d.ts +8 -0
  173. package/dist/cli/commands/helpers.js +97 -0
  174. package/dist/cli/commands/helpers.js.map +1 -0
  175. package/dist/cli/commands/initialize.d.ts +3 -0
  176. package/dist/cli/commands/initialize.js +7 -0
  177. package/dist/cli/commands/initialize.js.map +1 -0
  178. package/dist/cli/commands/migrate.d.ts +3 -0
  179. package/dist/cli/commands/migrate.js +8 -0
  180. package/dist/cli/commands/migrate.js.map +1 -0
  181. package/dist/cli/commands/plan.d.ts +3 -0
  182. package/dist/cli/commands/plan.js +34 -0
  183. package/dist/cli/commands/plan.js.map +1 -0
  184. package/dist/cli/commands/reference.d.ts +5 -0
  185. package/dist/cli/commands/reference.js +43 -0
  186. package/dist/cli/commands/reference.js.map +1 -0
  187. package/dist/cli/commands/update.d.ts +3 -0
  188. package/dist/cli/commands/update.js +10 -0
  189. package/dist/cli/commands/update.js.map +1 -0
  190. package/dist/cli/commands/upgrade.d.ts +3 -0
  191. package/dist/cli/commands/upgrade.js +7 -0
  192. package/dist/cli/commands/upgrade.js.map +1 -0
  193. package/dist/cli/context.d.ts +1 -0
  194. package/dist/cli/context.js +2 -0
  195. package/dist/cli/context.js.map +1 -0
  196. package/dist/cli/project-options.d.ts +3 -0
  197. package/dist/cli/project-options.js +41 -0
  198. package/dist/cli/project-options.js.map +1 -0
  199. package/dist/cli.d.ts +3 -3
  200. package/dist/cli.js +2 -2
  201. package/dist/cli.js.map +1 -1
  202. package/dist/commands.d.ts +4 -35
  203. package/dist/commands.js +3 -2969
  204. package/dist/commands.js.map +1 -1
  205. package/dist/container-validation.d.ts +1 -1
  206. package/dist/domain/governance/activation/approvals.d.ts +351 -0
  207. package/dist/domain/governance/activation/approvals.js +528 -0
  208. package/dist/domain/governance/activation/approvals.js.map +1 -0
  209. package/dist/domain/governance/activation/canonical-json.d.ts +4 -0
  210. package/dist/domain/governance/activation/canonical-json.js +39 -0
  211. package/dist/domain/governance/activation/canonical-json.js.map +1 -0
  212. package/dist/domain/governance/activation/capabilities.d.ts +7 -0
  213. package/dist/domain/governance/activation/capabilities.js +33 -0
  214. package/dist/domain/governance/activation/capabilities.js.map +1 -0
  215. package/dist/domain/governance/activation/evidence.d.ts +63 -0
  216. package/dist/domain/governance/activation/evidence.js +444 -0
  217. package/dist/domain/governance/activation/evidence.js.map +1 -0
  218. package/dist/domain/governance/activation/graph.d.ts +397 -0
  219. package/dist/domain/governance/activation/graph.js +441 -0
  220. package/dist/domain/governance/activation/graph.js.map +1 -0
  221. package/dist/domain/governance/activation/inputs.d.ts +25 -0
  222. package/dist/domain/governance/activation/inputs.js +63 -0
  223. package/dist/domain/governance/activation/inputs.js.map +1 -0
  224. package/dist/domain/governance/activation/operations.d.ts +19 -0
  225. package/dist/domain/governance/activation/operations.js +181 -0
  226. package/dist/domain/governance/activation/operations.js.map +1 -0
  227. package/dist/domain/governance/activation/readiness.d.ts +27 -0
  228. package/dist/domain/governance/activation/readiness.js +269 -0
  229. package/dist/domain/governance/activation/readiness.js.map +1 -0
  230. package/dist/domain/governance/activation/types.d.ts +399 -0
  231. package/dist/domain/governance/activation/types.js +109 -0
  232. package/dist/domain/governance/activation/types.js.map +1 -0
  233. package/dist/domain/governance/activation/validators.d.ts +22 -0
  234. package/dist/domain/governance/activation/validators.js +1347 -0
  235. package/dist/domain/governance/activation/validators.js.map +1 -0
  236. package/dist/domain/governance/assessment/catalog.d.ts +14 -0
  237. package/dist/domain/governance/assessment/catalog.js +105 -0
  238. package/dist/domain/governance/assessment/catalog.js.map +1 -0
  239. package/dist/domain/governance/assessment/errors.d.ts +10 -0
  240. package/dist/domain/governance/assessment/errors.js +22 -0
  241. package/dist/domain/governance/assessment/errors.js.map +1 -0
  242. package/dist/domain/governance/assessment/index.d.ts +8 -0
  243. package/dist/domain/governance/assessment/index.js +9 -0
  244. package/dist/domain/governance/assessment/index.js.map +1 -0
  245. package/dist/domain/governance/assessment/live-normalize.d.ts +19 -0
  246. package/dist/domain/governance/assessment/live-normalize.js +403 -0
  247. package/dist/domain/governance/assessment/live-normalize.js.map +1 -0
  248. package/dist/domain/governance/assessment/predicates.d.ts +36 -0
  249. package/dist/domain/governance/assessment/predicates.js +545 -0
  250. package/dist/domain/governance/assessment/predicates.js.map +1 -0
  251. package/dist/domain/governance/assessment/report.d.ts +23 -0
  252. package/dist/domain/governance/assessment/report.js +266 -0
  253. package/dist/domain/governance/assessment/report.js.map +1 -0
  254. package/dist/domain/governance/assessment/sanitize.d.ts +8 -0
  255. package/dist/domain/governance/assessment/sanitize.js +60 -0
  256. package/dist/domain/governance/assessment/sanitize.js.map +1 -0
  257. package/dist/domain/governance/assessment/types.d.ts +174 -0
  258. package/dist/domain/governance/assessment/types.js +13 -0
  259. package/dist/domain/governance/assessment/types.js.map +1 -0
  260. package/dist/domain/governance/assessment/yaml.d.ts +6 -0
  261. package/dist/domain/governance/assessment/yaml.js +30 -0
  262. package/dist/domain/governance/assessment/yaml.js.map +1 -0
  263. package/dist/domain/governance/policy/identity.d.ts +64 -0
  264. package/dist/domain/governance/policy/identity.js +112 -0
  265. package/dist/domain/governance/policy/identity.js.map +1 -0
  266. package/dist/domain/migration/dependencies.d.ts +7 -0
  267. package/dist/domain/migration/dependencies.js +221 -0
  268. package/dist/domain/migration/dependencies.js.map +1 -0
  269. package/dist/domain/migration/inventory.d.ts +3 -0
  270. package/dist/domain/migration/inventory.js +15 -0
  271. package/dist/domain/migration/inventory.js.map +1 -0
  272. package/dist/domain/project/artifact-lifecycle.d.ts +69 -0
  273. package/dist/domain/project/artifact-lifecycle.js +137 -0
  274. package/dist/domain/project/artifact-lifecycle.js.map +1 -0
  275. package/dist/domain/project/catalog.d.ts +48 -0
  276. package/dist/domain/project/catalog.js +507 -0
  277. package/dist/domain/project/catalog.js.map +1 -0
  278. package/dist/domain/project/contracts.d.ts +247 -0
  279. package/dist/domain/project/contracts.js +2 -0
  280. package/dist/domain/project/contracts.js.map +1 -0
  281. package/dist/domain/project/errors.d.ts +3 -0
  282. package/dist/domain/project/errors.js +7 -0
  283. package/dist/domain/project/errors.js.map +1 -0
  284. package/dist/domain/project/infrastructure-layout.d.ts +26 -0
  285. package/dist/domain/project/infrastructure-layout.js +125 -0
  286. package/dist/domain/project/infrastructure-layout.js.map +1 -0
  287. package/dist/domain/project/inputs.d.ts +21 -0
  288. package/dist/domain/project/inputs.js +41 -0
  289. package/dist/domain/project/inputs.js.map +1 -0
  290. package/dist/domain/project/manifest/artifacts.d.ts +8 -0
  291. package/dist/domain/project/manifest/artifacts.js +150 -0
  292. package/dist/domain/project/manifest/artifacts.js.map +1 -0
  293. package/dist/domain/project/manifest/context.d.ts +13 -0
  294. package/dist/domain/project/manifest/context.js +2 -0
  295. package/dist/domain/project/manifest/context.js.map +1 -0
  296. package/dist/domain/project/manifest/fields.d.ts +6 -0
  297. package/dist/domain/project/manifest/fields.js +36 -0
  298. package/dist/domain/project/manifest/fields.js.map +1 -0
  299. package/dist/domain/project/manifest/governance.d.ts +8 -0
  300. package/dist/domain/project/manifest/governance.js +161 -0
  301. package/dist/domain/project/manifest/governance.js.map +1 -0
  302. package/dist/domain/project/manifest/project-identity.d.ts +6 -0
  303. package/dist/domain/project/manifest/project-identity.js +273 -0
  304. package/dist/domain/project/manifest/project-identity.js.map +1 -0
  305. package/dist/domain/project/manifest/reader.d.ts +9 -0
  306. package/dist/domain/project/manifest/reader.js +141 -0
  307. package/dist/domain/project/manifest/reader.js.map +1 -0
  308. package/dist/domain/project/paths.d.ts +2 -0
  309. package/dist/domain/project/paths.js +29 -0
  310. package/dist/domain/project/paths.js.map +1 -0
  311. package/dist/domain/project/planning.d.ts +19 -0
  312. package/dist/domain/project/planning.js +329 -0
  313. package/dist/domain/project/planning.js.map +1 -0
  314. package/dist/domain/project/retired-workload.d.ts +4 -0
  315. package/dist/domain/project/retired-workload.js +18 -0
  316. package/dist/domain/project/retired-workload.js.map +1 -0
  317. package/dist/domain/project/reviewed-update-artifacts.d.ts +2 -0
  318. package/dist/domain/project/reviewed-update-artifacts.js +3 -0
  319. package/dist/domain/project/reviewed-update-artifacts.js.map +1 -0
  320. package/dist/domain/project/supported-stack.d.ts +113 -0
  321. package/dist/domain/project/supported-stack.js +426 -0
  322. package/dist/domain/project/supported-stack.js.map +1 -0
  323. package/dist/domain/workstation/constraints.d.ts +6 -0
  324. package/dist/domain/workstation/constraints.js +8 -0
  325. package/dist/domain/workstation/constraints.js.map +1 -0
  326. package/dist/file-system.d.ts +10 -44
  327. package/dist/file-system.js +9 -1245
  328. package/dist/file-system.js.map +1 -1
  329. package/dist/framework-adapters.d.ts +1 -1
  330. package/dist/framework-validation.d.ts +1 -1
  331. package/dist/framework-validation.js +1 -1
  332. package/dist/framework-validation.js.map +1 -1
  333. package/dist/genai-templates.d.ts +2 -9
  334. package/dist/genai-templates.js +4 -5
  335. package/dist/genai-templates.js.map +1 -1
  336. package/dist/generators/common/artifacts.d.ts +6 -0
  337. package/dist/generators/common/artifacts.js +30 -0
  338. package/dist/generators/common/artifacts.js.map +1 -0
  339. package/dist/generators/common/base.d.ts +17 -0
  340. package/dist/generators/common/base.js +425 -0
  341. package/dist/generators/common/base.js.map +1 -0
  342. package/dist/generators/common/dotenv-validation.d.ts +2 -0
  343. package/dist/generators/common/dotenv-validation.js +80 -0
  344. package/dist/generators/common/dotenv-validation.js.map +1 -0
  345. package/dist/generators/common/environments.d.ts +3 -0
  346. package/dist/generators/common/environments.js +15 -0
  347. package/dist/generators/common/environments.js.map +1 -0
  348. package/dist/generators/common/frontend.d.ts +15 -0
  349. package/dist/generators/common/frontend.js +166 -0
  350. package/dist/generators/common/frontend.js.map +1 -0
  351. package/dist/generators/common/python-settings.d.ts +2 -0
  352. package/dist/generators/common/python-settings.js +70 -0
  353. package/dist/generators/common/python-settings.js.map +1 -0
  354. package/dist/generators/common/spec-workflow.d.ts +28 -0
  355. package/dist/generators/common/spec-workflow.js +567 -0
  356. package/dist/generators/common/spec-workflow.js.map +1 -0
  357. package/dist/generators/common/values.d.ts +13 -0
  358. package/dist/generators/common/values.js +16 -0
  359. package/dist/generators/common/values.js.map +1 -0
  360. package/dist/generators/containers/compose.d.ts +7 -0
  361. package/dist/generators/containers/compose.js +196 -0
  362. package/dist/generators/containers/compose.js.map +1 -0
  363. package/dist/generators/containers/context.d.ts +1 -0
  364. package/dist/generators/containers/context.js +43 -0
  365. package/dist/generators/containers/context.js.map +1 -0
  366. package/dist/generators/containers/images.d.ts +7 -0
  367. package/dist/generators/containers/images.js +119 -0
  368. package/dist/generators/containers/images.js.map +1 -0
  369. package/dist/generators/context.d.ts +42 -0
  370. package/dist/generators/context.js +38 -0
  371. package/dist/generators/context.js.map +1 -0
  372. package/dist/generators/genai/backend.d.ts +20 -0
  373. package/dist/generators/genai/backend.js +667 -0
  374. package/dist/generators/genai/backend.js.map +1 -0
  375. package/dist/generators/genai/configuration.d.ts +3 -0
  376. package/dist/generators/genai/configuration.js +43 -0
  377. package/dist/generators/genai/configuration.js.map +1 -0
  378. package/dist/generators/genai/database.d.ts +7 -0
  379. package/dist/generators/genai/database.js +71 -0
  380. package/dist/generators/genai/database.js.map +1 -0
  381. package/dist/generators/genai/functions.d.ts +15 -0
  382. package/dist/generators/genai/functions.js +156 -0
  383. package/dist/generators/genai/functions.js.map +1 -0
  384. package/dist/generators/genai/index.d.ts +8 -0
  385. package/dist/generators/genai/index.js +11 -0
  386. package/dist/generators/genai/index.js.map +1 -0
  387. package/dist/generators/genai/patterns.d.ts +9 -0
  388. package/dist/generators/genai/patterns.js +309 -0
  389. package/dist/generators/genai/patterns.js.map +1 -0
  390. package/dist/generators/infrastructure/azure.d.ts +18 -0
  391. package/dist/generators/infrastructure/azure.js +655 -0
  392. package/dist/generators/infrastructure/azure.js.map +1 -0
  393. package/dist/generators/infrastructure/names.d.ts +23 -0
  394. package/dist/generators/infrastructure/names.js +51 -0
  395. package/dist/generators/infrastructure/names.js.map +1 -0
  396. package/dist/generators/standard/configuration.d.ts +3 -0
  397. package/dist/generators/standard/configuration.js +26 -0
  398. package/dist/generators/standard/configuration.js.map +1 -0
  399. package/dist/generators/standard/go.d.ts +17 -0
  400. package/dist/generators/standard/go.js +338 -0
  401. package/dist/generators/standard/go.js.map +1 -0
  402. package/dist/generators/standard/index.d.ts +12 -0
  403. package/dist/generators/standard/index.js +12 -0
  404. package/dist/generators/standard/index.js.map +1 -0
  405. package/dist/generators/standard/node.d.ts +20 -0
  406. package/dist/generators/standard/node.js +314 -0
  407. package/dist/generators/standard/node.js.map +1 -0
  408. package/dist/generators/standard/python.d.ts +18 -0
  409. package/dist/generators/standard/python.js +191 -0
  410. package/dist/generators/standard/python.js.map +1 -0
  411. package/dist/go-template-assets.js +3 -3
  412. package/dist/go-template-assets.js.map +1 -1
  413. package/dist/governance-activation/activation-state.d.ts +1 -1
  414. package/dist/governance-activation/activation-state.js +49 -9
  415. package/dist/governance-activation/activation-state.js.map +1 -1
  416. package/dist/governance-activation/approvals.d.ts +1 -188
  417. package/dist/governance-activation/approvals.js +1 -507
  418. package/dist/governance-activation/approvals.js.map +1 -1
  419. package/dist/governance-activation/canonical-json.d.ts +1 -3
  420. package/dist/governance-activation/canonical-json.js +1 -35
  421. package/dist/governance-activation/canonical-json.js.map +1 -1
  422. package/dist/governance-activation/commands.d.ts +6 -1
  423. package/dist/governance-activation/commands.js +135 -107
  424. package/dist/governance-activation/commands.js.map +1 -1
  425. package/dist/governance-activation/compatibility.d.ts +30 -5
  426. package/dist/governance-activation/compatibility.js +74 -8
  427. package/dist/governance-activation/compatibility.js.map +1 -1
  428. package/dist/governance-activation/credentials.d.ts +3 -3
  429. package/dist/governance-activation/credentials.js +5 -5
  430. package/dist/governance-activation/credentials.js.map +1 -1
  431. package/dist/governance-activation/doctor.d.ts +1 -1
  432. package/dist/governance-activation/doctor.js +59 -100
  433. package/dist/governance-activation/doctor.js.map +1 -1
  434. package/dist/governance-activation/evidence.d.ts +1 -49
  435. package/dist/governance-activation/evidence.js +1 -245
  436. package/dist/governance-activation/evidence.js.map +1 -1
  437. package/dist/governance-activation/git-ignore.d.ts +9 -0
  438. package/dist/governance-activation/git-ignore.js +76 -0
  439. package/dist/governance-activation/git-ignore.js.map +1 -0
  440. package/dist/governance-activation/graph.d.ts +1 -397
  441. package/dist/governance-activation/graph.js +1 -440
  442. package/dist/governance-activation/graph.js.map +1 -1
  443. package/dist/governance-activation/historical-state.d.ts +81 -0
  444. package/dist/governance-activation/historical-state.js +817 -0
  445. package/dist/governance-activation/historical-state.js.map +1 -0
  446. package/dist/governance-activation/history-contracts.d.ts +109 -0
  447. package/dist/governance-activation/history-contracts.js +303 -0
  448. package/dist/governance-activation/history-contracts.js.map +1 -0
  449. package/dist/governance-activation/identity.d.ts +1 -35
  450. package/dist/governance-activation/identity.js +1 -88
  451. package/dist/governance-activation/identity.js.map +1 -1
  452. package/dist/governance-activation/index.d.ts +3 -0
  453. package/dist/governance-activation/index.js +3 -0
  454. package/dist/governance-activation/index.js.map +1 -1
  455. package/dist/governance-activation/inputs.d.ts +10 -0
  456. package/dist/governance-activation/inputs.js +158 -0
  457. package/dist/governance-activation/inputs.js.map +1 -0
  458. package/dist/governance-activation/migration-history.d.ts +97 -0
  459. package/dist/governance-activation/migration-history.js +388 -0
  460. package/dist/governance-activation/migration-history.js.map +1 -0
  461. package/dist/governance-activation/migration.d.ts +4 -3
  462. package/dist/governance-activation/migration.js +14 -6
  463. package/dist/governance-activation/migration.js.map +1 -1
  464. package/dist/governance-activation/phase-bootstrap-state.d.ts +3 -0
  465. package/dist/governance-activation/phase-bootstrap-state.js +128 -0
  466. package/dist/governance-activation/phase-bootstrap-state.js.map +1 -0
  467. package/dist/governance-activation/phase-discovery.d.ts +2 -0
  468. package/dist/governance-activation/phase-discovery.js +88 -0
  469. package/dist/governance-activation/phase-discovery.js.map +1 -0
  470. package/dist/governance-activation/phase-governance.d.ts +4 -0
  471. package/dist/governance-activation/phase-governance.js +141 -0
  472. package/dist/governance-activation/phase-governance.js.map +1 -0
  473. package/dist/governance-activation/phase-publication.d.ts +8 -0
  474. package/dist/governance-activation/phase-publication.js +318 -0
  475. package/dist/governance-activation/phase-publication.js.map +1 -0
  476. package/dist/governance-activation/proof-records.d.ts +3 -0
  477. package/dist/governance-activation/proof-records.js +78 -0
  478. package/dist/governance-activation/proof-records.js.map +1 -0
  479. package/dist/governance-activation/read-only.d.ts +30 -0
  480. package/dist/governance-activation/read-only.js +33 -0
  481. package/dist/governance-activation/read-only.js.map +1 -0
  482. package/dist/governance-activation/readiness.d.ts +1 -25
  483. package/dist/governance-activation/readiness.js +1 -222
  484. package/dist/governance-activation/readiness.js.map +1 -1
  485. package/dist/governance-activation/reconciliation.d.ts +1 -1
  486. package/dist/governance-activation/reconciliation.js +3 -3
  487. package/dist/governance-activation/reconciliation.js.map +1 -1
  488. package/dist/governance-activation/release-integrity.d.ts +1 -1
  489. package/dist/governance-activation/release-integrity.js +2 -2
  490. package/dist/governance-activation/release-integrity.js.map +1 -1
  491. package/dist/governance-activation/seed-lifecycle.d.ts +36 -6
  492. package/dist/governance-activation/seed-lifecycle.js +444 -77
  493. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  494. package/dist/governance-activation/source-of-truth.d.ts +5 -3
  495. package/dist/governance-activation/source-of-truth.js +32 -52
  496. package/dist/governance-activation/source-of-truth.js.map +1 -1
  497. package/dist/governance-activation/spec-kit-seed.d.ts +9 -0
  498. package/dist/governance-activation/spec-kit-seed.js +43 -0
  499. package/dist/governance-activation/spec-kit-seed.js.map +1 -0
  500. package/dist/governance-activation/task-projection.d.ts +1 -1
  501. package/dist/governance-activation/transition-planning.d.ts +17 -0
  502. package/dist/governance-activation/transition-planning.js +259 -0
  503. package/dist/governance-activation/transition-planning.js.map +1 -0
  504. package/dist/governance-activation/transition-ports.d.ts +150 -0
  505. package/dist/governance-activation/transition-ports.js +2 -0
  506. package/dist/governance-activation/transition-ports.js.map +1 -0
  507. package/dist/governance-activation/transition-process.d.ts +7 -0
  508. package/dist/governance-activation/transition-process.js +21 -0
  509. package/dist/governance-activation/transition-process.js.map +1 -0
  510. package/dist/governance-activation/transition-records.d.ts +56 -0
  511. package/dist/governance-activation/transition-records.js +208 -0
  512. package/dist/governance-activation/transition-records.js.map +1 -0
  513. package/dist/governance-activation/transitions.d.ts +14 -167
  514. package/dist/governance-activation/transitions.js +173 -2061
  515. package/dist/governance-activation/transitions.js.map +1 -1
  516. package/dist/governance-activation/types.d.ts +1 -390
  517. package/dist/governance-activation/types.js +1 -107
  518. package/dist/governance-activation/types.js.map +1 -1
  519. package/dist/governance-activation/validators.d.ts +1 -17
  520. package/dist/governance-activation/validators.js +1 -1304
  521. package/dist/governance-activation/validators.js.map +1 -1
  522. package/dist/governance-assessment/catalog.d.ts +1 -2
  523. package/dist/governance-assessment/catalog.js +18 -85
  524. package/dist/governance-assessment/catalog.js.map +1 -1
  525. package/dist/governance-assessment/command.d.ts +1 -1
  526. package/dist/governance-assessment/command.js +8 -12
  527. package/dist/governance-assessment/command.js.map +1 -1
  528. package/dist/governance-assessment/engine.d.ts +6 -11
  529. package/dist/governance-assessment/engine.js +490 -114
  530. package/dist/governance-assessment/engine.js.map +1 -1
  531. package/dist/governance-assessment/live-normalize.d.ts +1 -19
  532. package/dist/governance-assessment/live-normalize.js +1 -402
  533. package/dist/governance-assessment/live-normalize.js.map +1 -1
  534. package/dist/governance-assessment/live-transport.d.ts +2 -6
  535. package/dist/governance-assessment/live-transport.js +10 -22
  536. package/dist/governance-assessment/live-transport.js.map +1 -1
  537. package/dist/governance-assessment/live.js +55 -5
  538. package/dist/governance-assessment/live.js.map +1 -1
  539. package/dist/governance-assessment/predicates.d.ts +1 -27
  540. package/dist/governance-assessment/predicates.js +1 -329
  541. package/dist/governance-assessment/predicates.js.map +1 -1
  542. package/dist/governance-assessment/project.d.ts +20 -17
  543. package/dist/governance-assessment/project.js +101 -151
  544. package/dist/governance-assessment/project.js.map +1 -1
  545. package/dist/governance-assessment/readers.d.ts +1 -5
  546. package/dist/governance-assessment/readers.js +5 -13
  547. package/dist/governance-assessment/readers.js.map +1 -1
  548. package/dist/governance-assessment/report.d.ts +1 -23
  549. package/dist/governance-assessment/report.js +1 -265
  550. package/dist/governance-assessment/report.js.map +1 -1
  551. package/dist/governance-assessment/sanitize.d.ts +1 -8
  552. package/dist/governance-assessment/sanitize.js +1 -56
  553. package/dist/governance-assessment/sanitize.js.map +1 -1
  554. package/dist/governance-assessment/types.d.ts +1 -173
  555. package/dist/governance-assessment/types.js +1 -12
  556. package/dist/governance-assessment/types.js.map +1 -1
  557. package/dist/governance-assessment/yaml.d.ts +1 -6
  558. package/dist/governance-assessment/yaml.js +1 -29
  559. package/dist/governance-assessment/yaml.js.map +1 -1
  560. package/dist/init-filesystem.d.ts +1 -1
  561. package/dist/init-filesystem.js +126 -174
  562. package/dist/init-filesystem.js.map +1 -1
  563. package/dist/interactive.d.ts +2 -2
  564. package/dist/interactive.js +42 -41
  565. package/dist/interactive.js.map +1 -1
  566. package/dist/migrate-plan.d.ts +1 -1
  567. package/dist/migrate-plan.js +14 -8
  568. package/dist/migrate-plan.js.map +1 -1
  569. package/dist/npm-template-assets.js +5 -4
  570. package/dist/npm-template-assets.js.map +1 -1
  571. package/dist/openspec-profile.d.ts +1 -1
  572. package/dist/opentofu-template-assets.js +3 -3
  573. package/dist/opentofu-template-assets.js.map +1 -1
  574. package/dist/package-identity.d.ts +3 -0
  575. package/dist/package-identity.js +13 -2
  576. package/dist/package-identity.js.map +1 -1
  577. package/dist/planner.d.ts +1 -19
  578. package/dist/planner.js +1 -565
  579. package/dist/planner.js.map +1 -1
  580. package/dist/process-runner.d.ts +1 -1
  581. package/dist/project-dependencies.d.ts +5 -3
  582. package/dist/project-dependencies.js +74 -63
  583. package/dist/project-dependencies.js.map +1 -1
  584. package/dist/published-verifier.js +61 -30
  585. package/dist/published-verifier.js.map +1 -1
  586. package/dist/python-template-assets.js +6 -9
  587. package/dist/python-template-assets.js.map +1 -1
  588. package/dist/reconcile.d.ts +1 -1
  589. package/dist/reconcile.js +2 -2
  590. package/dist/reconcile.js.map +1 -1
  591. package/dist/repository-governance.d.ts +5 -2
  592. package/dist/repository-governance.js +140 -113
  593. package/dist/repository-governance.js.map +1 -1
  594. package/dist/runtime.js +1 -1
  595. package/dist/runtime.js.map +1 -1
  596. package/dist/scan.d.ts +6 -2
  597. package/dist/scan.js +78 -30
  598. package/dist/scan.js.map +1 -1
  599. package/dist/self-upgrade.d.ts +1 -1
  600. package/dist/self-upgrade.js +20 -7
  601. package/dist/self-upgrade.js.map +1 -1
  602. package/dist/stable-release.js +7 -1
  603. package/dist/stable-release.js.map +1 -1
  604. package/dist/standard-templates.d.ts +2 -2
  605. package/dist/standard-templates.js +6 -841
  606. package/dist/standard-templates.js.map +1 -1
  607. package/dist/supported-stack.d.ts +3 -115
  608. package/dist/supported-stack.js +4 -438
  609. package/dist/supported-stack.js.map +1 -1
  610. package/dist/telemetry/index.d.ts +1 -1
  611. package/dist/templates.d.ts +10 -20
  612. package/dist/templates.js +52 -3261
  613. package/dist/templates.js.map +1 -1
  614. package/dist/types.d.ts +1 -263
  615. package/dist/types.js +1 -1
  616. package/dist/types.js.map +1 -1
  617. package/dist/version.js +2 -6
  618. package/dist/version.js.map +1 -1
  619. package/dist/workstation-catalog.d.ts +5 -2
  620. package/dist/workstation-catalog.js +33 -2
  621. package/dist/workstation-catalog.js.map +1 -1
  622. package/dist/workstation.d.ts +4 -3
  623. package/dist/workstation.js +86 -32
  624. package/dist/workstation.js.map +1 -1
  625. package/docs/assets/liftoff-terminal.svg +3 -3
  626. package/docs/azure-deployment.md +107 -10
  627. package/docs/cli-reference.md +144 -35
  628. package/docs/configuration-and-manifests.md +152 -35
  629. package/docs/existing-repositories.md +48 -12
  630. package/docs/getting-started.md +44 -31
  631. package/docs/prerequisites.md +34 -35
  632. package/docs/project-structure.md +39 -46
  633. package/docs/repository-governance.md +96 -26
  634. package/docs/safety-and-consent.md +90 -28
  635. package/docs/spec-workflows-and-agents.md +31 -28
  636. package/docs/supported-stack.md +11 -9
  637. package/docs/troubleshooting.md +114 -54
  638. package/docs/workloads.md +52 -67
  639. package/package.json +4 -7
  640. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt +0 -21
  641. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/catalog.json +0 -520
  642. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/packaged/gitignore +0 -27
  643. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/README.md +0 -25
  644. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/components.json +0 -22
  645. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/eslint.config.js +0 -23
  646. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/index.html +0 -13
  647. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package-lock.json +0 -6156
  648. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package.json +0 -60
  649. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/public/power-apps.svg +0 -55
  650. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/App.tsx +0 -17
  651. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/assets/react.svg +0 -1
  652. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/mode-toggle.tsx +0 -37
  653. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/badge.tsx +0 -46
  654. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/button.tsx +0 -60
  655. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/calendar.tsx +0 -211
  656. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/card.tsx +0 -92
  657. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/chart.tsx +0 -355
  658. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/checkbox.tsx +0 -32
  659. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/command.tsx +0 -184
  660. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dialog.tsx +0 -141
  661. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dropdown-menu.tsx +0 -257
  662. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/input.tsx +0 -21
  663. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/label.tsx +0 -22
  664. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/popover.tsx +0 -46
  665. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/progress.tsx +0 -29
  666. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/select.tsx +0 -185
  667. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/separator.tsx +0 -26
  668. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/skeleton.tsx +0 -13
  669. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/table.tsx +0 -114
  670. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tabs.tsx +0 -66
  671. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/textarea.tsx +0 -18
  672. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tooltip.tsx +0 -61
  673. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/hooks/use-theme.ts +0 -11
  674. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/index.css +0 -131
  675. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/lib/utils.ts +0 -6
  676. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/main.tsx +0 -10
  677. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/_layout.tsx +0 -31
  678. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/home.tsx +0 -59
  679. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/not-found.tsx +0 -14
  680. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/query-provider.tsx +0 -26
  681. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/sonner-provider.tsx +0 -23
  682. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/theme-provider.tsx +0 -64
  683. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/router.tsx +0 -24
  684. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.app.json +0 -34
  685. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.json +0 -13
  686. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.node.json +0 -26
  687. package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/vite.config.ts +0 -19
  688. package/assets/power-apps-code-app/README.md +0 -27
  689. package/dist/code-apps-plugin.d.ts +0 -13
  690. package/dist/code-apps-plugin.js +0 -69
  691. package/dist/code-apps-plugin.js.map +0 -1
  692. package/dist/power-apps-assets.d.ts +0 -30
  693. package/dist/power-apps-assets.js +0 -131
  694. package/dist/power-apps-assets.js.map +0 -1
  695. package/dist/power-apps-templates.d.ts +0 -3
  696. package/dist/power-apps-templates.js +0 -177
  697. package/dist/power-apps-templates.js.map +0 -1
  698. package/dist/power-apps-validation.d.ts +0 -1
  699. package/dist/power-apps-validation.js +0 -79
  700. package/dist/power-apps-validation.js.map +0 -1
@@ -22,9 +22,13 @@ Selecting repository governance or passing `--yes` authorizes only deterministic
22
22
  local handoff files. It never authorizes agent execution, Git mutation, GitHub
23
23
  APIs, Azure or other cloud resources, rulesets, security configuration,
24
24
  deployment, monitoring, file replacement, machine tools, or project
25
- dependencies. `/liftoff-setup` first completes and archives the local bootstrap
26
- seed, then stops at authority gates. Live activation begins only after explicit
25
+ dependencies. `/liftoff-setup` first verifies and archives the OpenSpec bootstrap
26
+ or finalizes the real Spec Kit bundle locally, then stops at authority gates.
27
+ Live activation requires explicit
27
28
  commit/push approval, read-only Phase 0, and activation-plan approval.
29
+ Missing public approval persistence, secure credential enrollment, or production
30
+ executors remain blockers; this sequence does not promise a complete production
31
+ activation workflow.
28
32
 
29
33
  An approved downstream local-state bootstrap remains encrypted, gitignored, and
30
34
  single-writer. It is never transferred through GitHub artifacts or secrets,
@@ -48,6 +52,9 @@ cannot redirect machine-level discovery. Canonical npm selects the target while
48
52
  the configured registry must provide that exact release. Liftoff does not expose
49
53
  registry credentials, rewrite npm configuration, bypass a stale mirror, invoke
50
54
  `sudo` or another elevation mechanism, or touch project files.
55
+ Machine-level `@msn-control:registry` takes precedence over default `registry`;
56
+ canonical verification isolates both settings, but installation still honors
57
+ the effective delivery registry.
51
58
 
52
59
  npm replacement is not a Liftoff file transaction. If npm or post-install
53
60
  verification fails, Liftoff reports an exact-version repair command and does not
@@ -87,16 +94,40 @@ Structural collisions are not overridable:
87
94
 
88
95
  ## Atomic writes and rollback
89
96
 
97
+ Project mutations share an exclusive cooperating-writer lock across initialization,
98
+ migration, dependency setup, managed update, and setup execution. The lock is a
99
+ sibling file named `.liftoff-mutation-<project-path-digest>.lock`, created with
100
+ 0600 mode where POSIX permissions apply; the target's
101
+ parent directory must be writable. Reserving a new target does not create that
102
+ target or project state. Nested steps in one operation retain the same lock.
103
+ Reservation identities are NFC-normalized and lowercased on every platform; this
104
+ may serialize case-distinct sibling projects on case-sensitive volumes, but never
105
+ merges their ownership.
106
+ Read-only commands, including assessment and `update --check`, never acquire it.
107
+ An existing or changed lock blocks mutation and is never automatically stolen or
108
+ removed. After an interrupted process, verify its owner has stopped before
109
+ reviewing the exact reported lock. This coordinates Liftoff writers; it does not
110
+ replace path/content preconditions or isolate the project from other programs.
111
+
90
112
  Individual project files use temporary-file replacement. Initialization keeps
91
113
  backups for replaced files and records created files and directories. A handled
92
- merge failure restores or removes those entries in reverse order.
93
-
94
- Plain `liftoff update` preflights every eligible managed-core or authorized
95
- create-only provisioning path and applies those writes, managed-core moves or
96
- deletes, and the manifest as one rollback-capable transaction. Schema upgrades
97
- are committed only after the other mutations succeed.
98
-
99
- Managed update may install manifest v7, policy v6, activation-contract v1,
114
+ merge failure restores or removes attributable unchanged entries in reverse
115
+ order; concurrent or uncertain edits are preserved and reported.
116
+ Existing destination modes are preserved where supported, including POSIX 0600
117
+ files. Windows does not provide equivalent POSIX mode-bit guarantees; this is
118
+ not a promise to preserve all Windows ACLs or filesystem metadata.
119
+
120
+ `liftoff update --check` presents compatibility and the exact proposed changes,
121
+ then discloses its external preview receipt without changing project bytes.
122
+ Apply requires that matching preview and explicit exact-plan approval. It
123
+ rechecks protected inputs under the project lock before writing. Noninteractive
124
+ approval uses `--approve-plan <fingerprint>`, not a generic yes.
125
+
126
+ The approved transaction preflights exact managed-core and create-only
127
+ provisioning paths separately from any explicitly authorized activation migration.
128
+ Schema/successor changes commit consistently with their manifest and history link.
129
+
130
+ Managed update may install manifest v7, policy v6, activation-contract v2,
100
131
  phase graph, compatibility metadata, credential-policy schema, setup
101
132
  integrations, and forced removal of exact retired generated setup-alias entries
102
133
  from older manifests. It preserves user-owned activation state, approvals,
@@ -104,25 +135,40 @@ immutable evidence, credential policies, active OpenSpec changes, and bootstrap
104
135
  retention/disposal records. If the current activation identity is future,
105
136
  unsupported, or graph-incompatible, update and setup block with a remedy instead
106
137
  of downgrading or rewriting state.
138
+ Exact known historical v1 can use the reviewed successor lane, not in-place
139
+ retagging. Original records are copied byte-for-byte into immutable in-project
140
+ history before their exact active paths are retired or replaced. A linked v2
141
+ activation obtains fresh evidence; historical approvals never become current
142
+ permission. Unavailable revalidation remains an explicit blocker.
107
143
 
108
144
  If automatic rollback itself cannot safely restore a path because another
109
145
  process changed it, Liftoff reports the incomplete rollback rather than
110
146
  overwriting unknown bytes.
111
147
 
112
- Update snapshots exist only for rollback after a failed transaction. Liftoff
113
- does not retain them as backups after success.
148
+ Ordinary transaction backups are for failed-write recovery. Activation history
149
+ is different: it remains after success and is never removed with disposable
150
+ preview receipts. A durable recovery journal must match a separately persisted
151
+ external transaction approval; a project-local claim alone cannot authorize
152
+ recovery. Post-commit revalidation failure preserves v2 and its historical link.
153
+
154
+ Dependency execution has a different recovery boundary: installer scripts can
155
+ write arbitrary project files, and a concurrent developer edit cannot be
156
+ attributed safely from a content difference alone. Changed or deleted protected
157
+ metadata is therefore preserved and reported, not automatically restored.
158
+ Liftoff stops further dependency commands and identifies the recovery shell and
159
+ literal-path recipe. This does not claim the entire scaffold was unchanged.
114
160
 
115
161
  ## Update ownership
116
162
 
117
163
  Update mode is selected explicitly rather than from terminal interactivity:
118
164
 
119
165
  - Existing project artifacts are never compared with current template bytes.
120
- - Plain `liftoff update` immediately applies safe new, missing,
121
- untouched-upgrade, clean-move, and recorded-state changes only for exact
122
- managed-core artifacts.
123
- - `liftoff update --check` is read-only and performs no preflight or mutation.
124
- - `liftoff update --json` applies safe changes and returns an apply result;
125
- `liftoff update --check --json` is the read-only machine drift gate.
166
+ - Plain `liftoff update` applies the matching explicitly approved plan, retaining
167
+ safe managed-core classification and the separate migration/provisioning lanes.
168
+ - `liftoff update --check` changes no project bytes but saves and discloses a
169
+ preview receipt outside the repository.
170
+ - `--json` changes output formatting only; machine apply still requires the
171
+ matching preview and exact plan-fingerprint approval.
126
172
  - Managed-core developer edits are conflicts. Project edits are outside update.
127
173
  - Default update skips core conflicts and lists them by portable relative path.
128
174
  `liftoff update --force` extends authority only to those guarded core
@@ -133,18 +179,27 @@ Update mode is selected explicitly rather than from terminal interactivity:
133
179
  - A newly selected frontend or environment is provisioned once only at absent
134
180
  or byte-identical destinations. A collision blocks the complete group and
135
181
  cannot be forced.
182
+ - A new environment additionally requires recorded independent-root provenance
183
+ and safe existing shared-module files. Legacy or unknown layouts are blocked
184
+ without moving state or rewriting project-owned infrastructure.
136
185
  - Unrecorded governance conflicts remain outside manifest ownership and produce
137
186
  `handoff-partial` until a later update safely writes or adopts every artifact.
138
187
  - Orphans are reported and left on disk for manual review.
139
188
  - Dependency definitions and locks are project-owned; update neither changes
140
189
  nor installs them.
141
190
 
142
- `--force` cannot be combined with `--check` and cannot weaken project-boundary,
143
- symlink, collision, manifest, or transaction guards.
191
+ `--force` cannot be combined with `--check` and cannot weaken preview, approval,
192
+ compatibility, project-boundary, symlink, collision, manifest, or transaction guards.
193
+
194
+ Power Apps support is retired. Its manifests are rejected without fetching
195
+ starter source, changing application files, or treating force as conversion
196
+ authority.
144
197
 
145
- Power Apps starter source and metadata are project-owned after generation.
146
- Update does not fetch upstream source or transition an existing project to a
147
- newer packaged starter.
198
+ The eight flat-root OpenTofu identities are retired from new 0.11.0 output only.
199
+ Their historical records, paths, generation hashes, files, and state remain
200
+ unchanged by update, force, helpers, or assessment. They are not aliases to new
201
+ roots or managed-core deletion targets; see the
202
+ [explicit inventory](azure-deployment.md#explicit-flat-root-identity-retirement).
148
203
 
149
204
  ## Framework and seed ownership
150
205
 
@@ -153,7 +208,11 @@ initializers. Liftoff validates the selected contract and agent markers but
153
208
  does not claim framework-owned files in durable artifact hashes.
154
209
 
155
210
  One-time seed content is also omitted from durable hashes so it can follow its
156
- own lifecycle after generation.
211
+ own lifecycle after generation. Spec Kit's `000-liftoff-bootstrap` bundle is
212
+ project-owned, separate from official markers, and not an active governance
213
+ change. Missing older seeds require reviewed adoption. Failed local checks leave
214
+ B001–B006 unchecked; explicit successful execution commits the projection with
215
+ body/full-plan-bound evidence. Read-only verify, status, and resume never mark it.
157
216
 
158
217
  OpenSpec workflow profile and delivery are global machine preferences. Liftoff
159
218
  changes them only after dedicated consent and verifies the result before
@@ -188,19 +247,22 @@ Liftoff does not:
188
247
  - Store cloud or agent credentials.
189
248
  - Perform cloud sign-in.
190
249
  - Apply OpenTofu.
191
- - Bind or push a Power Apps code app.
192
- - Run Microsoft's broad Code Apps marketplace installer.
250
+ - Restore or manage the retired Power Apps workload or Code Apps integration.
193
251
 
194
252
  Those actions require their own review, authentication, and consent.
195
253
 
196
254
  Governance runner-preflight credentials have a stricter contract. Setup first
197
255
  uses an existing verified selected-repository GitHub App installation when it
198
- has the required read permissions. Otherwise it guides one fine-grained PAT:
256
+ has the required read permissions. The normative fallback specifies one
257
+ fine-grained PAT:
199
258
  display name `<repo>-runner-preflight-read`, repository secret
200
259
  `RUNNER_CONFIGURATION_READ_TOKEN`, 30-day lifetime, current repository only,
201
260
  repository metadata read, organization hosted-runner read and
202
261
  network-configuration read, no writes, and only the recorded workflow/job
203
- allowlist. The value must be entered through masked input only. Never paste or
262
+ allowlist. The CLI currently lacks public secure enrollment, independent
263
+ credential readback, and approval-persistence entry points; stop at the capability
264
+ blocker instead of creating JSON or inventing an input channel. Any future
265
+ supported enrollment must use masked input. Never paste or
204
266
  show it in chat, argv, command arguments, logs, evidence, generated files, or
205
267
  screenshots. If it appears there, treat it as compromised and manually revoke and
206
268
  rotate it before continuing.
@@ -36,6 +36,29 @@ integration, and records the default separately from the full agent set.
36
36
  Generated projects contain `.specify/`, `specs/`, and the selected agent
37
37
  integration markers.
38
38
 
39
+ New projects also receive `specs/000-liftoff-bootstrap/spec.md`, `plan.md`, and
40
+ `tasks.md`. These are explicit one-time, project-owned `seed` artifacts, separate
41
+ from official framework templates. Local setup validates the real bundle and
42
+ official markers, performs the applicable baseline, and then finalizes its task
43
+ projection and receipt. It creates neither a Git branch nor an OpenSpec archive.
44
+
45
+ All three files identify `000-liftoff-bootstrap`. The tasks contain exactly one
46
+ initial unchecked entry each for **B001–B006**: review the real bundle and markers;
47
+ use already-installed locked dependencies or install with explicit consent;
48
+ run Liftoff/backend/applicable-worker checks; build the frontend or record
49
+ inapplicability; validate Compose and all infrastructure roots; then finalize.
50
+ The non-checkbox command reference list is not execution evidence.
51
+ Only after every applicable check passes does explicit setup execution commit
52
+ the checked projection with body/full-plan-bound baseline evidence. Failed checks
53
+ leave tasks untouched; status, verify, and resume do not edit checkboxes.
54
+ `seed-archived` means a local handoff for Spec Kit, not an archive operation.
55
+ This exact bootstrap is not an active governance change and has no
56
+ `liftoff-governance.json`.
57
+
58
+ An existing Spec Kit project without this bundle receives a seed-adoption
59
+ blocker. Adopting it requires separate reviewed project work; ordinary update,
60
+ force, and assessment do not create seeds or infer earlier completion.
61
+
39
62
  Liftoff does not hand-write framework-owned core or integration output. It
40
63
  executes the tested official initializer, confines its writes to allowed roots,
41
64
  and validates the declared markers before merging.
@@ -92,9 +115,9 @@ files.
92
115
  Repository-governance launchers are separate managed-core Liftoff files at the exact
93
116
  Copilot prompt and Claude command paths documented in
94
117
  [repository governance](repository-governance.md). They reference one canonical
95
- policy and context rather than duplicating framework-owned content. After
96
- read-only Phase 0 and explicit approval, the agent creates a new change using
97
- the selected framework; Liftoff never pre-creates or restores that change.
118
+ policy and context rather than duplicating framework-owned content. Later
119
+ governance changes are distinct from the exact bootstrap seed. The setup kernel
120
+ does not invent an active change, approval, or missing production executor.
98
121
 
99
122
  Install the exact selected framework release with its supported package manager:
100
123
 
@@ -118,29 +141,9 @@ Use `--copilot-cloud` or `--no-copilot-cloud` in automation. The choice is
118
141
  recorded as `githubCopilot.cloudAgent` in `openspec/config.yaml`; it is not stored
119
142
  as Liftoff overwrite or machine-configuration consent.
120
143
 
121
- ## Optional Code Apps plugin
122
-
123
- Power Apps projects can request Microsoft's
124
- `code-apps-preview@power-platform-skills` plugin. The integration is optional,
125
- Preview, and independent for each selected agent.
126
-
127
- Liftoff runs only allowlisted read-only plugin-list probes. A missing or
128
- unobservable plugin produces advisory guidance and never makes initialization
129
- or doctor fail by itself.
130
-
131
- Install the targeted plugin manually inside the selected agent:
132
-
133
- ```text
134
- /plugin marketplace add microsoft/power-platform-skills
135
- /plugin install code-apps-preview@power-platform-skills
136
- ```
137
-
138
- Liftoff does not run Microsoft's broad marketplace installer and does not
139
- invoke `/create-code-app`. The plugin's connector and deployment skills remain
140
- available for post-creation work.
144
+ ## Retired Code Apps integration
141
145
 
142
- Changing the valid plugin preference in `liftoff.config.json` is reconciled by
143
- plain `liftoff update`; it updates manifest intent and applicable managed-core
144
- governance context without rewriting the project-owned Power Apps README or
145
- starter. Use `liftoff update --check` to inspect that maintenance without
146
- writing.
146
+ The Power Apps workload and Code Apps plugin options are retired. Liftoff no
147
+ longer installs, probes, or manages that integration. This does not uninstall
148
+ machine-wide tools or plugins; existing installations remain outside Liftoff's
149
+ maintenance authority.
@@ -17,17 +17,20 @@ file; they never resolve mutable `latest` versions.
17
17
  | OpenSpec | 1.11.0 |
18
18
  | Spec Kit | 1.0.1 |
19
19
  | AzureRM provider | 5.3.0 |
20
- | Power Apps SDK | 1.2.7 |
21
20
 
22
- Power Apps SDK 1.2.7 is an explicit compatibility selection. Versions 1.2.12
23
- and newer remove the project-local `power-apps` CLI required by Liftoff's
24
- current workload contract. Moving to Microsoft's global `pa` CLI is a separate
25
- reviewed workload migration; the freshness check recognizes only the recorded
26
- 1.3.0 exclusion and will reopen the decision when a newer candidate appears.
21
+ Python's tested patch is 3.14.7; its supported runtime floor is 3.14.0 within
22
+ 3.14.x. Floors, tested versions, and allowed release lines are separate values
23
+ in the baseline; a newer untested major is not automatically compatible.
24
+
25
+ Power Apps is retired and has no active SDK, starter snapshot, or source-commit
26
+ compatibility lane in the supported baseline.
27
27
 
28
28
  Generated npm projects include `package-lock.json`. Python projects include
29
29
  `uv.lock` and use `uv sync --frozen`. Go projects include `go.mod` and
30
30
  `go.sum`. Generated OpenTofu includes a multi-platform `.terraform.lock.hcl`.
31
+ Each selected independent environment root receives its own provider lock and
32
+ backend configuration; the application module is shared. Generic GenAI's default
33
+ Python project and lock do not require a `pgvector` package.
31
34
 
32
35
  Container references include a readable stable tag and an immutable
33
36
  multi-architecture digest. The optional Langfuse profile uses the v4 web and
@@ -52,11 +55,10 @@ digests and upstream provenance, then run:
52
55
  npm run refresh:supported-stack
53
56
  npm run check
54
57
  npm run verify:standard-node-templates
55
- npm run verify:power-apps-starter
56
58
  ```
57
59
 
58
- Power Apps source is refreshed only through its reviewed immutable upstream
59
- commit workflow. Do not edit Microsoft-owned starter files independently.
60
+ Retired Power Apps fixtures are negative inputs only and do not participate in
61
+ generation, freshness, or dependency promotion.
60
62
 
61
63
  ## Existing generated projects
62
64
 
@@ -5,7 +5,7 @@
5
5
  Check the canonical release:
6
6
 
7
7
  ```bash
8
- npm view @msn-control/liftoff@latest version --registry=https://registry.npmjs.org
8
+ npm view @msn-control/liftoff@latest version --registry=https://registry.npmjs.org --@msn-control:registry=https://registry.npmjs.org
9
9
  liftoff --version
10
10
  liftoff upgrade --check
11
11
  liftoff upgrade
@@ -21,7 +21,7 @@ that version supported.
21
21
  Versions that predate `liftoff upgrade` require one manual global installation:
22
22
 
23
23
  ```bash
24
- npm install -g @msn-control/liftoff@latest --registry=https://registry.npmjs.org
24
+ npm install -g @msn-control/liftoff@latest
25
25
  ```
26
26
 
27
27
  ## CLI upgrade is blocked by installation origin
@@ -38,6 +38,14 @@ Canonical npm defines the exact stable target, but Liftoff installs through the
38
38
  configured registry. Ask the mirror owner to synchronize or approve that exact
39
39
  version, then rerun `liftoff upgrade --check`. Liftoff does not edit `.npmrc` or
40
40
  bypass the managed registry.
41
+ The package's machine-level `@msn-control:registry` takes precedence over npm's
42
+ default `registry`. A canonical default does not cancel a scoped mirror.
43
+ Liftoff reads this configuration from a neutral directory, not a project's
44
+ `.npmrc`, and never prints credential-bearing registry values.
45
+
46
+ A response-body timeout is a transport failure, not invalid release metadata.
47
+ Retry after connectivity is restored; do not change registry policy or regenerate
48
+ project locks to work around it.
41
49
 
42
50
  ## npm cannot write the global prefix
43
51
 
@@ -140,11 +148,12 @@ hand-edited unsafe path.
140
148
 
141
149
  ## Update reports managed-core conflicts or orphans
142
150
 
143
- `liftoff update` applies safe managed-core changes immediately and skips core
144
- conflicts.
151
+ Run `liftoff update --check` before apply. `liftoff update` requires the matching
152
+ preview and explicit approval, then applies its safe scope and skips core
153
+ conflicts. A missing or stale receipt requires a fresh check, not force.
145
154
 
146
- - Use `liftoff update --check` for a read-only human report or
147
- `liftoff update --check --json` for an automation drift gate.
155
+ - Use `liftoff update --check` for a project-read-only human report or add
156
+ `--json` for automation. Both disclose an external preview receipt.
148
157
  - Project-owned application files never enter the report or mutation set.
149
158
  - Managed-core conflicts remain untouched by default.
150
159
  - Use `liftoff update --force` only after reviewing every listed path and
@@ -154,7 +163,8 @@ conflicts.
154
163
  - Update neither changes nor installs project dependencies.
155
164
 
156
165
  Commit or copy local work before overwriting. Transaction rollback protects a
157
- failed update, but Liftoff keeps no backup after success.
166
+ failed ordinary update. Activation migration additionally retains original
167
+ history after success; failed revalidation retains blocked/resumable v2.
158
168
 
159
169
  For a new governance policy or launcher conflict, review that exact local file
160
170
  before considering `liftoff update --force`; do not delete it or activate remote
@@ -168,7 +178,7 @@ unrecorded conflicting file remains user-owned and is not reported as an
168
178
  orphan.
169
179
 
170
180
  If a newer Liftoff release contains different source, dependencies, schemas,
171
- containers, environment files, Power Apps starter files, or infrastructure,
181
+ containers, environment files, or infrastructure,
172
182
  ordinary update intentionally reports nothing for those project-owned
173
183
  differences. Review and migrate them as production changes. The existing
174
184
  `liftoff migrate` command does not perform an in-place Liftoff project upgrade.
@@ -189,8 +199,9 @@ the existing project files and infrastructure are project-owned.
189
199
 
190
200
  That is the expected initial state. The manifest records `handoff-generated`,
191
201
  not active enforcement. Run `/liftoff-setup` from a selected agent. It first
192
- completes, syncs, and archives the generated bootstrap seed with local baseline
193
- checks, then stops at explicit authority gates for commit/push, credentials,
202
+ completes, syncs, and archives the OpenSpec bootstrap, or finalizes Spec Kit's
203
+ real `000-liftoff-bootstrap` bundle locally after baseline checks. It then stops
204
+ at explicit authority gates for commit/push, credentials,
194
205
  billed infrastructure or exceptions, final enforcement, destructive cleanup, or
195
206
  external blockers. Rerun `/liftoff-setup` to resume; verified phases are not
196
207
  repeated. Older generated setup aliases are retired; after review,
@@ -205,14 +216,20 @@ policy's repository-dedicated provisioning exception, but it must stop for
205
216
  explicit approval before creating any Azure or GitHub resource. Do not replace
206
217
  missing capability with duplicate scanners, partial provisioning, or
207
218
  placeholder success.
219
+ These are target-policy requirements; 14 production phases lack executors and
220
+ two ruleset phases require an injected adapter absent from the public CLI.
221
+ Public approval persistence and credential enrollment also remain unavailable.
222
+ An unavailable executor or authority entry point is a blocker, not an instruction
223
+ to run its provider commands directly.
208
224
 
209
225
  If a private ZRS state backend cannot be reached because public network access
210
226
  is disabled and no approved private management path exists, do not enable
211
- public access or upload local state to GitHub. Use the policy's explicitly
212
- approved minimum `bootstrap-local` phase, adopt resources through declarative
227
+ public access or upload local state to GitHub. The target policy requires an
228
+ explicitly approved minimum `bootstrap-local` phase, adoption through declarative
213
229
  imports from the private runner, verify identity parity, locking, versioning,
214
230
  and a clean no-change plan, then retain the frozen local state read-only for 30
215
- days before secure deletion.
231
+ days before secure deletion. That production adapter is not implemented by this
232
+ release; stop at the capability blocker and plan separately reviewed platform work.
216
233
 
217
234
  If an Azure bootstrap fails with a namespace-not-registered error while
218
235
  `resource_provider_registrations = "none"` is configured, do not retry the same
@@ -239,23 +256,23 @@ or allow TCP and UDP 53 to exact custom resolver addresses.
239
256
 
240
257
  | State | Remedy |
241
258
  | --- | --- |
242
- | `seed-incomplete` | Run `/liftoff-setup`; fix failing local baseline checks and rerun until the seed is archived. |
243
- | `phase-blocked` | Read the blocking phase, evidence requirement, and approval gate; satisfy the named prerequisite rather than skipping it. |
244
- | `evidence-stale` | Regenerate evidence from the current baseline, activation identity, graph hash, and phase input digest. |
259
+ | `seed-incomplete` | Repair local checks, then explicitly retry the supported seed phase. OpenSpec archives; Spec Kit finalizes its real bundle locally. |
260
+ | `phase-blocked` | Read the phase, proof, and authority blocker; unavailable production or enrollment capabilities remain blocked. |
261
+ | `evidence-stale` | Obtain fresh proof through supported, authorized execution from current inputs; never edit receipts or reuse stale headers as current inputs. |
245
262
  | `credential-expiring` | Rotate before the recorded lead time using the same App or PAT policy. |
246
- | `reconciliation-required` | Review the policy/contract/schema/graph change and acknowledge the current compatible identity before applying another phase. |
247
- | `identity-incompatible` | Upgrade to the reported minimum Liftoff version or provide an explicit supported migration/import mapping. |
263
+ | `reconciliation-required` | Review `liftoff update --check`. An exact supported v1 source can use the approved history-preserving successor lane; unknown formats remain blocked. Never edit JSON to acknowledge identity. |
264
+ | `identity-incompatible` | Upgrade when the supported tuple requires a newer CLI. A historical receipt never becomes executable through force, retagging, or an invented mapping. |
248
265
  | `enforcement-incomplete` | Prove exact required contexts green and deliberately red, then approve final enforcement before ruleset mutation. |
249
- | `disposal-pending` | After day 30, approve destructive disposal of retained bootstrap state and rerun setup. |
266
+ | `disposal-pending` | Review retention, exact imported paths, destructive scope, and proof. Execution requires valid authority; there is no public approval-entry shortcut. |
250
267
 
251
268
  Do not hand-edit task checkboxes to clear these states. Tasks are projections of
252
269
  validated phase evidence.
253
270
 
254
271
  ## Runner-preflight credential setup is blocked
255
272
 
256
- Setup first prefers an existing verified selected-repository GitHub App with the
257
- required read permissions. If none is available, create one fine-grained PAT with
258
- exactly these fields: display name `<repo>-runner-preflight-read`, secret
273
+ The policy prefers an existing verified selected-repository GitHub App with the
274
+ required read permissions. Its fallback contract describes a fine-grained PAT
275
+ with these fields: display name `<repo>-runner-preflight-read`, secret
259
276
  `RUNNER_CONFIGURATION_READ_TOKEN`, 30-day lifetime, current repository only,
260
277
  repository metadata read, organization hosted-runner read and
261
278
  network-configuration read, no writes, and the recorded workflow/job allowlist
@@ -264,24 +281,81 @@ network-configuration read, no writes, and the recorded workflow/job allowlist
264
281
  `private-dast-preflight` unless the generated policy records a narrower
265
282
  applicable set).
266
283
 
267
- Enter the value only through the masked input. Never paste or show the value in
268
- chat, argv, command arguments, logs, evidence, files, or screenshots. A leaked value is
269
- compromised; manually revoke it, create a replacement, update the repository
270
- secret through setup, and rerun `liftoff governance verify --json`.
284
+ This release does not expose public credential enrollment or masked input.
285
+ Do not create or submit a credential through an invented setup channel, and do
286
+ not hand-write state or receipts to bypass the capability blocker. Never paste
287
+ or show the value in chat, argv, command arguments, logs, evidence, files, or
288
+ screenshots. Revoke and rotate leaked credentials through their owner-controlled
289
+ system. A payload-free policy file alone is not independent readback evidence.
271
290
 
272
291
  ## Governance identity or manifest migration is blocked
273
292
 
274
293
  Current Liftoff reads manifest v2-v7 and writes v7. It resumes only explicit
275
- compatible tuples: policy version 6, activation contract 1, schema-v1 activation
276
- artifacts, and a recognized phase-graph hash. Future versions, individually
294
+ compatible tuples: policy version 6, activation contract 2, state/evidence-header/
295
+ approval/compatibility metadata versions 2, and a recognized phase-graph hash.
296
+ Phase graph, supersession, and credential-policy schemas stay at 1.
297
+ Future versions, individually
277
298
  known but unsupported combinations, unknown graph hashes, or unversioned ad hoc
278
299
  state block without rewriting files. Use the exact upgrade, import-mapping, or
279
- reconciliation remedy printed by status or update; do not downgrade the
280
- manifest or copy evidence between identities.
300
+ reconciliation diagnostic printed by status or update; do not downgrade the
301
+ manifest or copy evidence between identities. Historical v1 state and evidence
302
+ remain diagnostic-only and byte-preserved. This release has no automatic or
303
+ public historical-state reconciliation workflow; managed-core update does not
304
+ make that history executable.
281
305
 
282
306
  Do not run an older Liftoff release to reverse a completed baseline migration.
283
- Restore the affected generated files and `liftoff.manifest.json` through version
284
- control, then reinstall from the restored locks.
307
+ Restore separately reviewed project changes through version control and reinstall
308
+ from the restored locks; do not alter immutable activation evidence to claim
309
+ compatibility.
310
+
311
+ ## Spec Kit setup reports seed adoption required
312
+
313
+ The real bundle must contain `specs/000-liftoff-bootstrap/spec.md`, `plan.md`,
314
+ and `tasks.md`, its identity markers, and B001–B006 exactly once. Framework
315
+ templates are not a substitute for project artifacts. Existing projects missing
316
+ the bundle need separate reviewed adoption; update, force, assessment, or
317
+ read-only resume will not create it. Never invent an OpenSpec archive or Git
318
+ branch to make Spec Kit setup pass.
319
+
320
+ ## Infrastructure helpers or baseline report migration required
321
+
322
+ Independent roots require exact recorded shared-module/root provenance and safe
323
+ existing module files. Creating folders alone, changing tfvars paths, or updating
324
+ managed governance context does not establish eligibility. Existing flat-root
325
+ provenance remains unchanged after the explicit new-output-only retirement.
326
+ Do not move state or force new roots into place to clear the result; plan a
327
+ separate reviewed migration.
328
+
329
+ ## Native startup rejects configuration or appears to ignore the file
330
+
331
+ Python and Node read root `.env`; Python backend-CWD startup still resolves that
332
+ same file. Go's backend-CWD recipe reads `../runtime.config.json`. Use
333
+ `LIFTOFF_ENV_FILE` for an explicit selection, relative to the startup directory
334
+ unless absolute. Process values override the file, and settings are resolved
335
+ once, so restart after edits.
336
+
337
+ An explicit missing, unreadable, malformed, invalid-UTF-8, or NUL-containing
338
+ dotenv file fails rather than falling back. Fix `KEY=value` syntax and balanced
339
+ quotes; Node rejects escaped quote delimiters, so use the other quote style.
340
+ Go requires valid JSON with string values, not null or numeric values.
341
+ Do not source configuration as shell code. An absent default file is allowed
342
+ only when the required settings come from process configuration.
343
+
344
+ For offline `/health`, `/ready`, and `/openapi.json` probes, provide
345
+ `DATABASE_URL` and `REDIS_URL` but leave `PYDANTIC_AI_MODEL`,
346
+ `LANGFUSE_PUBLIC_KEY`, and `LANGFUSE_SECRET_KEY` blank. These probes do not
347
+ contact a model or prove external-service health. `PYDANTIC_AI_MODEL=test` is
348
+ not a supported model provider; no special test-model flag is needed.
349
+
350
+ See [runtime recipes](configuration-and-manifests.md#application-runtime-configuration).
351
+
352
+ ## A locally prepared container build includes host files
353
+
354
+ Keep the generated root and frontend `.dockerignore` files in their respective
355
+ build contexts. They exclude host `.venv`, `node_modules`, caches, build output,
356
+ VCS metadata, state, and local secrets. Function publication uses its own
357
+ `.funcignore`. If those project-owned files were changed or removed, repair them
358
+ through reviewed project work; update or force cannot restore them.
285
359
 
286
360
  ## A frozen Python install cannot reach the package index
287
361
 
@@ -299,30 +373,16 @@ docker build --build-arg UV_DEFAULT_INDEX=https://packages.example.test/simple/
299
373
  Do not place credentials in build arguments. Configure authenticated registries
300
374
  through an approved secret-aware build mechanism.
301
375
 
302
- ## Power Apps dependencies or CLI are missing
303
-
304
- From the project root:
305
-
306
- ```bash
307
- npm ci
308
- npx --no-install power-apps --version
309
- npm run dev
310
- ```
376
+ ## Power Apps workload or Code Apps options are rejected
311
377
 
312
- The CLI is project-local. Do not replace the locked install with an unrelated
313
- global package.
314
-
315
- ## The Code Apps plugin is missing or not observable
316
-
317
- Plugin state is advisory. In each selected agent session, use:
318
-
319
- ```text
320
- /plugin marketplace add microsoft/power-platform-skills
321
- /plugin install code-apps-preview@power-platform-skills
322
- ```
378
+ Power Apps creation and existing-project support are retired. The workload and
379
+ plugin options now fail explicitly; this is not a missing dependency or an
380
+ installation problem.
323
381
 
324
- Then rerun `liftoff doctor`. Do not run `/create-code-app` in a Liftoff project.
325
- Liftoff does not run Microsoft's broad plugin installer.
382
+ The rejection leaves application files, dependencies, framework files, and
383
+ historical state unchanged. Do not change the manifest's workload identity, hide
384
+ it to trigger another discovery path, or use force to bypass retirement. This
385
+ CLI provides no automatic conversion or continued Power Apps maintenance lane.
326
386
 
327
387
  ## Terminal output is hard to read or being captured
328
388