@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.
- package/DEVELOPER.md +238 -77
- package/README.md +38 -33
- package/assets/supported-stack.json +3 -136
- package/dist/adapters/azure/governance-assessment.d.ts +2 -0
- package/dist/adapters/azure/governance-assessment.js +21 -0
- package/dist/adapters/azure/governance-assessment.js.map +1 -0
- package/dist/adapters/filesystem/atomic-write.d.ts +2 -0
- package/dist/adapters/filesystem/atomic-write.js +74 -0
- package/dist/adapters/filesystem/atomic-write.js.map +1 -0
- package/dist/adapters/filesystem/errors.d.ts +2 -0
- package/dist/adapters/filesystem/errors.js +8 -0
- package/dist/adapters/filesystem/errors.js.map +1 -0
- package/dist/adapters/filesystem/manifest-file.d.ts +1 -0
- package/dist/adapters/filesystem/manifest-file.js +21 -0
- package/dist/adapters/filesystem/manifest-file.js.map +1 -0
- package/dist/adapters/filesystem/project-config.d.ts +4 -0
- package/dist/adapters/filesystem/project-config.js +157 -0
- package/dist/adapters/filesystem/project-config.js.map +1 -0
- package/dist/adapters/filesystem/project-discovery.d.ts +2 -0
- package/dist/adapters/filesystem/project-discovery.js +30 -0
- package/dist/adapters/filesystem/project-discovery.js.map +1 -0
- package/dist/adapters/filesystem/project-files.d.ts +6 -0
- package/dist/adapters/filesystem/project-files.js +68 -0
- package/dist/adapters/filesystem/project-files.js.map +1 -0
- package/dist/adapters/filesystem/project-lock.d.ts +8 -0
- package/dist/adapters/filesystem/project-lock.js +164 -0
- package/dist/adapters/filesystem/project-lock.js.map +1 -0
- package/dist/adapters/filesystem/project-paths.d.ts +2 -0
- package/dist/adapters/filesystem/project-paths.js +60 -0
- package/dist/adapters/filesystem/project-paths.js.map +1 -0
- package/dist/adapters/filesystem/project-transaction.d.ts +24 -0
- package/dist/adapters/filesystem/project-transaction.js +177 -0
- package/dist/adapters/filesystem/project-transaction.js.map +1 -0
- package/dist/adapters/filesystem/reviewed-update-transaction.d.ts +53 -0
- package/dist/adapters/filesystem/reviewed-update-transaction.js +864 -0
- package/dist/adapters/filesystem/reviewed-update-transaction.js.map +1 -0
- package/dist/adapters/filesystem/update-previews.d.ts +50 -0
- package/dist/adapters/filesystem/update-previews.js +613 -0
- package/dist/adapters/filesystem/update-previews.js.map +1 -0
- package/dist/adapters/git/governance-assessment.d.ts +22 -0
- package/dist/adapters/git/governance-assessment.js +161 -0
- package/dist/adapters/git/governance-assessment.js.map +1 -0
- package/dist/adapters/github/governance-assessment.d.ts +2 -0
- package/dist/adapters/github/governance-assessment.js +18 -0
- package/dist/adapters/github/governance-assessment.js.map +1 -0
- package/dist/adapters/packaged-assets/package-root.d.ts +3 -0
- package/dist/adapters/packaged-assets/package-root.js +21 -0
- package/dist/adapters/packaged-assets/package-root.js.map +1 -0
- package/dist/adapters/packaged-assets/supported-stack.d.ts +4 -0
- package/dist/adapters/packaged-assets/supported-stack.js +18 -0
- package/dist/adapters/packaged-assets/supported-stack.js.map +1 -0
- package/dist/adapters/packaged-assets/template-assets.d.ts +23 -0
- package/dist/adapters/packaged-assets/template-assets.js +36 -0
- package/dist/adapters/packaged-assets/template-assets.js.map +1 -0
- package/dist/adapters/process/shell-command.d.ts +6 -0
- package/dist/adapters/process/shell-command.js +27 -0
- package/dist/adapters/process/shell-command.js.map +1 -0
- package/dist/application/context.d.ts +25 -0
- package/dist/application/context.js +2 -0
- package/dist/application/context.js.map +1 -0
- package/dist/application/diagnose/doctor.d.ts +21 -0
- package/dist/application/diagnose/doctor.js +580 -0
- package/dist/application/diagnose/doctor.js.map +1 -0
- package/dist/application/diagnose/generated-project.d.ts +1 -0
- package/dist/application/diagnose/generated-project.js +105 -0
- package/dist/application/diagnose/generated-project.js.map +1 -0
- package/dist/application/diagnose/validate.d.ts +6 -0
- package/dist/application/diagnose/validate.js +27 -0
- package/dist/application/diagnose/validate.js.map +1 -0
- package/dist/application/initialize/fixture.d.ts +2 -0
- package/dist/application/initialize/fixture.js +39 -0
- package/dist/application/initialize/fixture.js.map +1 -0
- package/dist/application/initialize/inputs.d.ts +3 -0
- package/dist/application/initialize/inputs.js +35 -0
- package/dist/application/initialize/inputs.js.map +1 -0
- package/dist/application/initialize/use-case.d.ts +23 -0
- package/dist/application/initialize/use-case.js +360 -0
- package/dist/application/initialize/use-case.js.map +1 -0
- package/dist/application/migrate/use-case.d.ts +7 -0
- package/dist/application/migrate/use-case.js +378 -0
- package/dist/application/migrate/use-case.js.map +1 -0
- package/dist/application/project/catalog.d.ts +46 -0
- package/dist/application/project/catalog.js +12 -0
- package/dist/application/project/catalog.js.map +1 -0
- package/dist/application/project/manifest.d.ts +2 -0
- package/dist/application/project/manifest.js +29 -0
- package/dist/application/project/manifest.js.map +1 -0
- package/dist/application/project/planning.d.ts +6 -0
- package/dist/application/project/planning.js +12 -0
- package/dist/application/project/planning.js.map +1 -0
- package/dist/application/update/approval.d.ts +39 -0
- package/dist/application/update/approval.js +54 -0
- package/dist/application/update/approval.js.map +1 -0
- package/dist/application/update/command-guidance.d.ts +2 -0
- package/dist/application/update/command-guidance.js +14 -0
- package/dist/application/update/command-guidance.js.map +1 -0
- package/dist/application/update/inspection.d.ts +37 -0
- package/dist/application/update/inspection.js +235 -0
- package/dist/application/update/inspection.js.map +1 -0
- package/dist/application/update/migration-runtime.d.ts +14 -0
- package/dist/application/update/migration-runtime.js +178 -0
- package/dist/application/update/migration-runtime.js.map +1 -0
- package/dist/application/update/output.d.ts +134 -0
- package/dist/application/update/output.js +182 -0
- package/dist/application/update/output.js.map +1 -0
- package/dist/application/update/planning.d.ts +40 -0
- package/dist/application/update/planning.js +293 -0
- package/dist/application/update/planning.js.map +1 -0
- package/dist/application/update/preview.d.ts +49 -0
- package/dist/application/update/preview.js +220 -0
- package/dist/application/update/preview.js.map +1 -0
- package/dist/application/update/protected-source.d.ts +25 -0
- package/dist/application/update/protected-source.js +81 -0
- package/dist/application/update/protected-source.js.map +1 -0
- package/dist/application/update/reporting.d.ts +42 -0
- package/dist/application/update/reporting.js +326 -0
- package/dist/application/update/reporting.js.map +1 -0
- package/dist/application/update/revalidation-plan.d.ts +22 -0
- package/dist/application/update/revalidation-plan.js +108 -0
- package/dist/application/update/revalidation-plan.js.map +1 -0
- package/dist/application/update/revalidation.d.ts +70 -0
- package/dist/application/update/revalidation.js +337 -0
- package/dist/application/update/revalidation.js.map +1 -0
- package/dist/application/update/review-plan.d.ts +25 -0
- package/dist/application/update/review-plan.js +89 -0
- package/dist/application/update/review-plan.js.map +1 -0
- package/dist/application/update/transaction-approval.d.ts +29 -0
- package/dist/application/update/transaction-approval.js +82 -0
- package/dist/application/update/transaction-approval.js.map +1 -0
- package/dist/application/update/use-case.d.ts +9 -0
- package/dist/application/update/use-case.js +271 -0
- package/dist/application/update/use-case.js.map +1 -0
- package/dist/application/update/write-plan.d.ts +15 -0
- package/dist/application/update/write-plan.js +115 -0
- package/dist/application/update/write-plan.js.map +1 -0
- package/dist/application/upgrade/use-case.d.ts +6 -0
- package/dist/application/upgrade/use-case.js +82 -0
- package/dist/application/upgrade/use-case.js.map +1 -0
- package/dist/args.d.ts +5 -65
- package/dist/args.js +4 -472
- package/dist/args.js.map +1 -1
- package/dist/artifact-lifecycle.d.ts +1 -21
- package/dist/artifact-lifecycle.js +1 -75
- package/dist/artifact-lifecycle.js.map +1 -1
- package/dist/catalogs.d.ts +1 -50
- package/dist/catalogs.js +1 -472
- package/dist/catalogs.js.map +1 -1
- package/dist/cli/args/contracts.d.ts +51 -0
- package/dist/cli/args/contracts.js +2 -0
- package/dist/cli/args/contracts.js.map +1 -0
- package/dist/cli/args/definitions.d.ts +6 -0
- package/dist/cli/args/definitions.js +188 -0
- package/dist/cli/args/definitions.js.map +1 -0
- package/dist/cli/args/help.d.ts +5 -0
- package/dist/cli/args/help.js +142 -0
- package/dist/cli/args/help.js.map +1 -0
- package/dist/cli/args/parser.d.ts +5 -0
- package/dist/cli/args/parser.js +160 -0
- package/dist/cli/args/parser.js.map +1 -0
- package/dist/cli/args/readers.d.ts +4 -0
- package/dist/cli/args/readers.js +19 -0
- package/dist/cli/args/readers.js.map +1 -0
- package/dist/cli/commands/diagnose.d.ts +4 -0
- package/dist/cli/commands/diagnose.js +12 -0
- package/dist/cli/commands/diagnose.js.map +1 -0
- package/dist/cli/commands/dispatch.d.ts +3 -0
- package/dist/cli/commands/dispatch.js +94 -0
- package/dist/cli/commands/dispatch.js.map +1 -0
- package/dist/cli/commands/help.d.ts +3 -0
- package/dist/cli/commands/help.js +32 -0
- package/dist/cli/commands/help.js.map +1 -0
- package/dist/cli/commands/helpers.d.ts +8 -0
- package/dist/cli/commands/helpers.js +97 -0
- package/dist/cli/commands/helpers.js.map +1 -0
- package/dist/cli/commands/initialize.d.ts +3 -0
- package/dist/cli/commands/initialize.js +7 -0
- package/dist/cli/commands/initialize.js.map +1 -0
- package/dist/cli/commands/migrate.d.ts +3 -0
- package/dist/cli/commands/migrate.js +8 -0
- package/dist/cli/commands/migrate.js.map +1 -0
- package/dist/cli/commands/plan.d.ts +3 -0
- package/dist/cli/commands/plan.js +34 -0
- package/dist/cli/commands/plan.js.map +1 -0
- package/dist/cli/commands/reference.d.ts +5 -0
- package/dist/cli/commands/reference.js +43 -0
- package/dist/cli/commands/reference.js.map +1 -0
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.js +10 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/commands/upgrade.d.ts +3 -0
- package/dist/cli/commands/upgrade.js +7 -0
- package/dist/cli/commands/upgrade.js.map +1 -0
- package/dist/cli/context.d.ts +1 -0
- package/dist/cli/context.js +2 -0
- package/dist/cli/context.js.map +1 -0
- package/dist/cli/project-options.d.ts +3 -0
- package/dist/cli/project-options.js +41 -0
- package/dist/cli/project-options.js.map +1 -0
- package/dist/cli.d.ts +3 -3
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands.d.ts +4 -35
- package/dist/commands.js +3 -2969
- package/dist/commands.js.map +1 -1
- package/dist/container-validation.d.ts +1 -1
- package/dist/domain/governance/activation/approvals.d.ts +351 -0
- package/dist/domain/governance/activation/approvals.js +528 -0
- package/dist/domain/governance/activation/approvals.js.map +1 -0
- package/dist/domain/governance/activation/canonical-json.d.ts +4 -0
- package/dist/domain/governance/activation/canonical-json.js +39 -0
- package/dist/domain/governance/activation/canonical-json.js.map +1 -0
- package/dist/domain/governance/activation/capabilities.d.ts +7 -0
- package/dist/domain/governance/activation/capabilities.js +33 -0
- package/dist/domain/governance/activation/capabilities.js.map +1 -0
- package/dist/domain/governance/activation/evidence.d.ts +63 -0
- package/dist/domain/governance/activation/evidence.js +444 -0
- package/dist/domain/governance/activation/evidence.js.map +1 -0
- package/dist/domain/governance/activation/graph.d.ts +397 -0
- package/dist/domain/governance/activation/graph.js +441 -0
- package/dist/domain/governance/activation/graph.js.map +1 -0
- package/dist/domain/governance/activation/inputs.d.ts +25 -0
- package/dist/domain/governance/activation/inputs.js +63 -0
- package/dist/domain/governance/activation/inputs.js.map +1 -0
- package/dist/domain/governance/activation/operations.d.ts +19 -0
- package/dist/domain/governance/activation/operations.js +181 -0
- package/dist/domain/governance/activation/operations.js.map +1 -0
- package/dist/domain/governance/activation/readiness.d.ts +27 -0
- package/dist/domain/governance/activation/readiness.js +269 -0
- package/dist/domain/governance/activation/readiness.js.map +1 -0
- package/dist/domain/governance/activation/types.d.ts +399 -0
- package/dist/domain/governance/activation/types.js +109 -0
- package/dist/domain/governance/activation/types.js.map +1 -0
- package/dist/domain/governance/activation/validators.d.ts +22 -0
- package/dist/domain/governance/activation/validators.js +1347 -0
- package/dist/domain/governance/activation/validators.js.map +1 -0
- package/dist/domain/governance/assessment/catalog.d.ts +14 -0
- package/dist/domain/governance/assessment/catalog.js +105 -0
- package/dist/domain/governance/assessment/catalog.js.map +1 -0
- package/dist/domain/governance/assessment/errors.d.ts +10 -0
- package/dist/domain/governance/assessment/errors.js +22 -0
- package/dist/domain/governance/assessment/errors.js.map +1 -0
- package/dist/domain/governance/assessment/index.d.ts +8 -0
- package/dist/domain/governance/assessment/index.js +9 -0
- package/dist/domain/governance/assessment/index.js.map +1 -0
- package/dist/domain/governance/assessment/live-normalize.d.ts +19 -0
- package/dist/domain/governance/assessment/live-normalize.js +403 -0
- package/dist/domain/governance/assessment/live-normalize.js.map +1 -0
- package/dist/domain/governance/assessment/predicates.d.ts +36 -0
- package/dist/domain/governance/assessment/predicates.js +545 -0
- package/dist/domain/governance/assessment/predicates.js.map +1 -0
- package/dist/domain/governance/assessment/report.d.ts +23 -0
- package/dist/domain/governance/assessment/report.js +266 -0
- package/dist/domain/governance/assessment/report.js.map +1 -0
- package/dist/domain/governance/assessment/sanitize.d.ts +8 -0
- package/dist/domain/governance/assessment/sanitize.js +60 -0
- package/dist/domain/governance/assessment/sanitize.js.map +1 -0
- package/dist/domain/governance/assessment/types.d.ts +174 -0
- package/dist/domain/governance/assessment/types.js +13 -0
- package/dist/domain/governance/assessment/types.js.map +1 -0
- package/dist/domain/governance/assessment/yaml.d.ts +6 -0
- package/dist/domain/governance/assessment/yaml.js +30 -0
- package/dist/domain/governance/assessment/yaml.js.map +1 -0
- package/dist/domain/governance/policy/identity.d.ts +64 -0
- package/dist/domain/governance/policy/identity.js +112 -0
- package/dist/domain/governance/policy/identity.js.map +1 -0
- package/dist/domain/migration/dependencies.d.ts +7 -0
- package/dist/domain/migration/dependencies.js +221 -0
- package/dist/domain/migration/dependencies.js.map +1 -0
- package/dist/domain/migration/inventory.d.ts +3 -0
- package/dist/domain/migration/inventory.js +15 -0
- package/dist/domain/migration/inventory.js.map +1 -0
- package/dist/domain/project/artifact-lifecycle.d.ts +69 -0
- package/dist/domain/project/artifact-lifecycle.js +137 -0
- package/dist/domain/project/artifact-lifecycle.js.map +1 -0
- package/dist/domain/project/catalog.d.ts +48 -0
- package/dist/domain/project/catalog.js +507 -0
- package/dist/domain/project/catalog.js.map +1 -0
- package/dist/domain/project/contracts.d.ts +247 -0
- package/dist/domain/project/contracts.js +2 -0
- package/dist/domain/project/contracts.js.map +1 -0
- package/dist/domain/project/errors.d.ts +3 -0
- package/dist/domain/project/errors.js +7 -0
- package/dist/domain/project/errors.js.map +1 -0
- package/dist/domain/project/infrastructure-layout.d.ts +26 -0
- package/dist/domain/project/infrastructure-layout.js +125 -0
- package/dist/domain/project/infrastructure-layout.js.map +1 -0
- package/dist/domain/project/inputs.d.ts +21 -0
- package/dist/domain/project/inputs.js +41 -0
- package/dist/domain/project/inputs.js.map +1 -0
- package/dist/domain/project/manifest/artifacts.d.ts +8 -0
- package/dist/domain/project/manifest/artifacts.js +150 -0
- package/dist/domain/project/manifest/artifacts.js.map +1 -0
- package/dist/domain/project/manifest/context.d.ts +13 -0
- package/dist/domain/project/manifest/context.js +2 -0
- package/dist/domain/project/manifest/context.js.map +1 -0
- package/dist/domain/project/manifest/fields.d.ts +6 -0
- package/dist/domain/project/manifest/fields.js +36 -0
- package/dist/domain/project/manifest/fields.js.map +1 -0
- package/dist/domain/project/manifest/governance.d.ts +8 -0
- package/dist/domain/project/manifest/governance.js +161 -0
- package/dist/domain/project/manifest/governance.js.map +1 -0
- package/dist/domain/project/manifest/project-identity.d.ts +6 -0
- package/dist/domain/project/manifest/project-identity.js +273 -0
- package/dist/domain/project/manifest/project-identity.js.map +1 -0
- package/dist/domain/project/manifest/reader.d.ts +9 -0
- package/dist/domain/project/manifest/reader.js +141 -0
- package/dist/domain/project/manifest/reader.js.map +1 -0
- package/dist/domain/project/paths.d.ts +2 -0
- package/dist/domain/project/paths.js +29 -0
- package/dist/domain/project/paths.js.map +1 -0
- package/dist/domain/project/planning.d.ts +19 -0
- package/dist/domain/project/planning.js +329 -0
- package/dist/domain/project/planning.js.map +1 -0
- package/dist/domain/project/retired-workload.d.ts +4 -0
- package/dist/domain/project/retired-workload.js +18 -0
- package/dist/domain/project/retired-workload.js.map +1 -0
- package/dist/domain/project/reviewed-update-artifacts.d.ts +2 -0
- package/dist/domain/project/reviewed-update-artifacts.js +3 -0
- package/dist/domain/project/reviewed-update-artifacts.js.map +1 -0
- package/dist/domain/project/supported-stack.d.ts +113 -0
- package/dist/domain/project/supported-stack.js +426 -0
- package/dist/domain/project/supported-stack.js.map +1 -0
- package/dist/domain/workstation/constraints.d.ts +6 -0
- package/dist/domain/workstation/constraints.js +8 -0
- package/dist/domain/workstation/constraints.js.map +1 -0
- package/dist/file-system.d.ts +10 -44
- package/dist/file-system.js +9 -1245
- package/dist/file-system.js.map +1 -1
- package/dist/framework-adapters.d.ts +1 -1
- package/dist/framework-validation.d.ts +1 -1
- package/dist/framework-validation.js +1 -1
- package/dist/framework-validation.js.map +1 -1
- package/dist/genai-templates.d.ts +2 -9
- package/dist/genai-templates.js +4 -5
- package/dist/genai-templates.js.map +1 -1
- package/dist/generators/common/artifacts.d.ts +6 -0
- package/dist/generators/common/artifacts.js +30 -0
- package/dist/generators/common/artifacts.js.map +1 -0
- package/dist/generators/common/base.d.ts +17 -0
- package/dist/generators/common/base.js +425 -0
- package/dist/generators/common/base.js.map +1 -0
- package/dist/generators/common/dotenv-validation.d.ts +2 -0
- package/dist/generators/common/dotenv-validation.js +80 -0
- package/dist/generators/common/dotenv-validation.js.map +1 -0
- package/dist/generators/common/environments.d.ts +3 -0
- package/dist/generators/common/environments.js +15 -0
- package/dist/generators/common/environments.js.map +1 -0
- package/dist/generators/common/frontend.d.ts +15 -0
- package/dist/generators/common/frontend.js +166 -0
- package/dist/generators/common/frontend.js.map +1 -0
- package/dist/generators/common/python-settings.d.ts +2 -0
- package/dist/generators/common/python-settings.js +70 -0
- package/dist/generators/common/python-settings.js.map +1 -0
- package/dist/generators/common/spec-workflow.d.ts +28 -0
- package/dist/generators/common/spec-workflow.js +567 -0
- package/dist/generators/common/spec-workflow.js.map +1 -0
- package/dist/generators/common/values.d.ts +13 -0
- package/dist/generators/common/values.js +16 -0
- package/dist/generators/common/values.js.map +1 -0
- package/dist/generators/containers/compose.d.ts +7 -0
- package/dist/generators/containers/compose.js +196 -0
- package/dist/generators/containers/compose.js.map +1 -0
- package/dist/generators/containers/context.d.ts +1 -0
- package/dist/generators/containers/context.js +43 -0
- package/dist/generators/containers/context.js.map +1 -0
- package/dist/generators/containers/images.d.ts +7 -0
- package/dist/generators/containers/images.js +119 -0
- package/dist/generators/containers/images.js.map +1 -0
- package/dist/generators/context.d.ts +42 -0
- package/dist/generators/context.js +38 -0
- package/dist/generators/context.js.map +1 -0
- package/dist/generators/genai/backend.d.ts +20 -0
- package/dist/generators/genai/backend.js +667 -0
- package/dist/generators/genai/backend.js.map +1 -0
- package/dist/generators/genai/configuration.d.ts +3 -0
- package/dist/generators/genai/configuration.js +43 -0
- package/dist/generators/genai/configuration.js.map +1 -0
- package/dist/generators/genai/database.d.ts +7 -0
- package/dist/generators/genai/database.js +71 -0
- package/dist/generators/genai/database.js.map +1 -0
- package/dist/generators/genai/functions.d.ts +15 -0
- package/dist/generators/genai/functions.js +156 -0
- package/dist/generators/genai/functions.js.map +1 -0
- package/dist/generators/genai/index.d.ts +8 -0
- package/dist/generators/genai/index.js +11 -0
- package/dist/generators/genai/index.js.map +1 -0
- package/dist/generators/genai/patterns.d.ts +9 -0
- package/dist/generators/genai/patterns.js +309 -0
- package/dist/generators/genai/patterns.js.map +1 -0
- package/dist/generators/infrastructure/azure.d.ts +18 -0
- package/dist/generators/infrastructure/azure.js +655 -0
- package/dist/generators/infrastructure/azure.js.map +1 -0
- package/dist/generators/infrastructure/names.d.ts +23 -0
- package/dist/generators/infrastructure/names.js +51 -0
- package/dist/generators/infrastructure/names.js.map +1 -0
- package/dist/generators/standard/configuration.d.ts +3 -0
- package/dist/generators/standard/configuration.js +26 -0
- package/dist/generators/standard/configuration.js.map +1 -0
- package/dist/generators/standard/go.d.ts +17 -0
- package/dist/generators/standard/go.js +338 -0
- package/dist/generators/standard/go.js.map +1 -0
- package/dist/generators/standard/index.d.ts +12 -0
- package/dist/generators/standard/index.js +12 -0
- package/dist/generators/standard/index.js.map +1 -0
- package/dist/generators/standard/node.d.ts +20 -0
- package/dist/generators/standard/node.js +314 -0
- package/dist/generators/standard/node.js.map +1 -0
- package/dist/generators/standard/python.d.ts +18 -0
- package/dist/generators/standard/python.js +191 -0
- package/dist/generators/standard/python.js.map +1 -0
- package/dist/go-template-assets.js +3 -3
- package/dist/go-template-assets.js.map +1 -1
- package/dist/governance-activation/activation-state.d.ts +1 -1
- package/dist/governance-activation/activation-state.js +49 -9
- package/dist/governance-activation/activation-state.js.map +1 -1
- package/dist/governance-activation/approvals.d.ts +1 -188
- package/dist/governance-activation/approvals.js +1 -507
- package/dist/governance-activation/approvals.js.map +1 -1
- package/dist/governance-activation/canonical-json.d.ts +1 -3
- package/dist/governance-activation/canonical-json.js +1 -35
- package/dist/governance-activation/canonical-json.js.map +1 -1
- package/dist/governance-activation/commands.d.ts +6 -1
- package/dist/governance-activation/commands.js +135 -107
- package/dist/governance-activation/commands.js.map +1 -1
- package/dist/governance-activation/compatibility.d.ts +30 -5
- package/dist/governance-activation/compatibility.js +74 -8
- package/dist/governance-activation/compatibility.js.map +1 -1
- package/dist/governance-activation/credentials.d.ts +3 -3
- package/dist/governance-activation/credentials.js +5 -5
- package/dist/governance-activation/credentials.js.map +1 -1
- package/dist/governance-activation/doctor.d.ts +1 -1
- package/dist/governance-activation/doctor.js +59 -100
- package/dist/governance-activation/doctor.js.map +1 -1
- package/dist/governance-activation/evidence.d.ts +1 -49
- package/dist/governance-activation/evidence.js +1 -245
- package/dist/governance-activation/evidence.js.map +1 -1
- package/dist/governance-activation/git-ignore.d.ts +9 -0
- package/dist/governance-activation/git-ignore.js +76 -0
- package/dist/governance-activation/git-ignore.js.map +1 -0
- package/dist/governance-activation/graph.d.ts +1 -397
- package/dist/governance-activation/graph.js +1 -440
- package/dist/governance-activation/graph.js.map +1 -1
- package/dist/governance-activation/historical-state.d.ts +81 -0
- package/dist/governance-activation/historical-state.js +817 -0
- package/dist/governance-activation/historical-state.js.map +1 -0
- package/dist/governance-activation/history-contracts.d.ts +109 -0
- package/dist/governance-activation/history-contracts.js +303 -0
- package/dist/governance-activation/history-contracts.js.map +1 -0
- package/dist/governance-activation/identity.d.ts +1 -35
- package/dist/governance-activation/identity.js +1 -88
- package/dist/governance-activation/identity.js.map +1 -1
- package/dist/governance-activation/index.d.ts +3 -0
- package/dist/governance-activation/index.js +3 -0
- package/dist/governance-activation/index.js.map +1 -1
- package/dist/governance-activation/inputs.d.ts +10 -0
- package/dist/governance-activation/inputs.js +158 -0
- package/dist/governance-activation/inputs.js.map +1 -0
- package/dist/governance-activation/migration-history.d.ts +97 -0
- package/dist/governance-activation/migration-history.js +388 -0
- package/dist/governance-activation/migration-history.js.map +1 -0
- package/dist/governance-activation/migration.d.ts +4 -3
- package/dist/governance-activation/migration.js +14 -6
- package/dist/governance-activation/migration.js.map +1 -1
- package/dist/governance-activation/phase-bootstrap-state.d.ts +3 -0
- package/dist/governance-activation/phase-bootstrap-state.js +128 -0
- package/dist/governance-activation/phase-bootstrap-state.js.map +1 -0
- package/dist/governance-activation/phase-discovery.d.ts +2 -0
- package/dist/governance-activation/phase-discovery.js +88 -0
- package/dist/governance-activation/phase-discovery.js.map +1 -0
- package/dist/governance-activation/phase-governance.d.ts +4 -0
- package/dist/governance-activation/phase-governance.js +141 -0
- package/dist/governance-activation/phase-governance.js.map +1 -0
- package/dist/governance-activation/phase-publication.d.ts +8 -0
- package/dist/governance-activation/phase-publication.js +318 -0
- package/dist/governance-activation/phase-publication.js.map +1 -0
- package/dist/governance-activation/proof-records.d.ts +3 -0
- package/dist/governance-activation/proof-records.js +78 -0
- package/dist/governance-activation/proof-records.js.map +1 -0
- package/dist/governance-activation/read-only.d.ts +30 -0
- package/dist/governance-activation/read-only.js +33 -0
- package/dist/governance-activation/read-only.js.map +1 -0
- package/dist/governance-activation/readiness.d.ts +1 -25
- package/dist/governance-activation/readiness.js +1 -222
- package/dist/governance-activation/readiness.js.map +1 -1
- package/dist/governance-activation/reconciliation.d.ts +1 -1
- package/dist/governance-activation/reconciliation.js +3 -3
- package/dist/governance-activation/reconciliation.js.map +1 -1
- package/dist/governance-activation/release-integrity.d.ts +1 -1
- package/dist/governance-activation/release-integrity.js +2 -2
- package/dist/governance-activation/release-integrity.js.map +1 -1
- package/dist/governance-activation/seed-lifecycle.d.ts +36 -6
- package/dist/governance-activation/seed-lifecycle.js +444 -77
- package/dist/governance-activation/seed-lifecycle.js.map +1 -1
- package/dist/governance-activation/source-of-truth.d.ts +5 -3
- package/dist/governance-activation/source-of-truth.js +32 -52
- package/dist/governance-activation/source-of-truth.js.map +1 -1
- package/dist/governance-activation/spec-kit-seed.d.ts +9 -0
- package/dist/governance-activation/spec-kit-seed.js +43 -0
- package/dist/governance-activation/spec-kit-seed.js.map +1 -0
- package/dist/governance-activation/task-projection.d.ts +1 -1
- package/dist/governance-activation/transition-planning.d.ts +17 -0
- package/dist/governance-activation/transition-planning.js +259 -0
- package/dist/governance-activation/transition-planning.js.map +1 -0
- package/dist/governance-activation/transition-ports.d.ts +150 -0
- package/dist/governance-activation/transition-ports.js +2 -0
- package/dist/governance-activation/transition-ports.js.map +1 -0
- package/dist/governance-activation/transition-process.d.ts +7 -0
- package/dist/governance-activation/transition-process.js +21 -0
- package/dist/governance-activation/transition-process.js.map +1 -0
- package/dist/governance-activation/transition-records.d.ts +56 -0
- package/dist/governance-activation/transition-records.js +208 -0
- package/dist/governance-activation/transition-records.js.map +1 -0
- package/dist/governance-activation/transitions.d.ts +14 -167
- package/dist/governance-activation/transitions.js +173 -2061
- package/dist/governance-activation/transitions.js.map +1 -1
- package/dist/governance-activation/types.d.ts +1 -390
- package/dist/governance-activation/types.js +1 -107
- package/dist/governance-activation/types.js.map +1 -1
- package/dist/governance-activation/validators.d.ts +1 -17
- package/dist/governance-activation/validators.js +1 -1304
- package/dist/governance-activation/validators.js.map +1 -1
- package/dist/governance-assessment/catalog.d.ts +1 -2
- package/dist/governance-assessment/catalog.js +18 -85
- package/dist/governance-assessment/catalog.js.map +1 -1
- package/dist/governance-assessment/command.d.ts +1 -1
- package/dist/governance-assessment/command.js +8 -12
- package/dist/governance-assessment/command.js.map +1 -1
- package/dist/governance-assessment/engine.d.ts +6 -11
- package/dist/governance-assessment/engine.js +490 -114
- package/dist/governance-assessment/engine.js.map +1 -1
- package/dist/governance-assessment/live-normalize.d.ts +1 -19
- package/dist/governance-assessment/live-normalize.js +1 -402
- package/dist/governance-assessment/live-normalize.js.map +1 -1
- package/dist/governance-assessment/live-transport.d.ts +2 -6
- package/dist/governance-assessment/live-transport.js +10 -22
- package/dist/governance-assessment/live-transport.js.map +1 -1
- package/dist/governance-assessment/live.js +55 -5
- package/dist/governance-assessment/live.js.map +1 -1
- package/dist/governance-assessment/predicates.d.ts +1 -27
- package/dist/governance-assessment/predicates.js +1 -329
- package/dist/governance-assessment/predicates.js.map +1 -1
- package/dist/governance-assessment/project.d.ts +20 -17
- package/dist/governance-assessment/project.js +101 -151
- package/dist/governance-assessment/project.js.map +1 -1
- package/dist/governance-assessment/readers.d.ts +1 -5
- package/dist/governance-assessment/readers.js +5 -13
- package/dist/governance-assessment/readers.js.map +1 -1
- package/dist/governance-assessment/report.d.ts +1 -23
- package/dist/governance-assessment/report.js +1 -265
- package/dist/governance-assessment/report.js.map +1 -1
- package/dist/governance-assessment/sanitize.d.ts +1 -8
- package/dist/governance-assessment/sanitize.js +1 -56
- package/dist/governance-assessment/sanitize.js.map +1 -1
- package/dist/governance-assessment/types.d.ts +1 -173
- package/dist/governance-assessment/types.js +1 -12
- package/dist/governance-assessment/types.js.map +1 -1
- package/dist/governance-assessment/yaml.d.ts +1 -6
- package/dist/governance-assessment/yaml.js +1 -29
- package/dist/governance-assessment/yaml.js.map +1 -1
- package/dist/init-filesystem.d.ts +1 -1
- package/dist/init-filesystem.js +126 -174
- package/dist/init-filesystem.js.map +1 -1
- package/dist/interactive.d.ts +2 -2
- package/dist/interactive.js +42 -41
- package/dist/interactive.js.map +1 -1
- package/dist/migrate-plan.d.ts +1 -1
- package/dist/migrate-plan.js +14 -8
- package/dist/migrate-plan.js.map +1 -1
- package/dist/npm-template-assets.js +5 -4
- package/dist/npm-template-assets.js.map +1 -1
- package/dist/openspec-profile.d.ts +1 -1
- package/dist/opentofu-template-assets.js +3 -3
- package/dist/opentofu-template-assets.js.map +1 -1
- package/dist/package-identity.d.ts +3 -0
- package/dist/package-identity.js +13 -2
- package/dist/package-identity.js.map +1 -1
- package/dist/planner.d.ts +1 -19
- package/dist/planner.js +1 -565
- package/dist/planner.js.map +1 -1
- package/dist/process-runner.d.ts +1 -1
- package/dist/project-dependencies.d.ts +5 -3
- package/dist/project-dependencies.js +74 -63
- package/dist/project-dependencies.js.map +1 -1
- package/dist/published-verifier.js +61 -30
- package/dist/published-verifier.js.map +1 -1
- package/dist/python-template-assets.js +6 -9
- package/dist/python-template-assets.js.map +1 -1
- package/dist/reconcile.d.ts +1 -1
- package/dist/reconcile.js +2 -2
- package/dist/reconcile.js.map +1 -1
- package/dist/repository-governance.d.ts +5 -2
- package/dist/repository-governance.js +140 -113
- package/dist/repository-governance.js.map +1 -1
- package/dist/runtime.js +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/scan.d.ts +6 -2
- package/dist/scan.js +78 -30
- package/dist/scan.js.map +1 -1
- package/dist/self-upgrade.d.ts +1 -1
- package/dist/self-upgrade.js +20 -7
- package/dist/self-upgrade.js.map +1 -1
- package/dist/stable-release.js +7 -1
- package/dist/stable-release.js.map +1 -1
- package/dist/standard-templates.d.ts +2 -2
- package/dist/standard-templates.js +6 -841
- package/dist/standard-templates.js.map +1 -1
- package/dist/supported-stack.d.ts +3 -115
- package/dist/supported-stack.js +4 -438
- package/dist/supported-stack.js.map +1 -1
- package/dist/telemetry/index.d.ts +1 -1
- package/dist/templates.d.ts +10 -20
- package/dist/templates.js +52 -3261
- package/dist/templates.js.map +1 -1
- package/dist/types.d.ts +1 -263
- package/dist/types.js +1 -1
- package/dist/types.js.map +1 -1
- package/dist/version.js +2 -6
- package/dist/version.js.map +1 -1
- package/dist/workstation-catalog.d.ts +5 -2
- package/dist/workstation-catalog.js +33 -2
- package/dist/workstation-catalog.js.map +1 -1
- package/dist/workstation.d.ts +4 -3
- package/dist/workstation.js +86 -32
- package/dist/workstation.js.map +1 -1
- package/docs/assets/liftoff-terminal.svg +3 -3
- package/docs/azure-deployment.md +107 -10
- package/docs/cli-reference.md +144 -35
- package/docs/configuration-and-manifests.md +152 -35
- package/docs/existing-repositories.md +48 -12
- package/docs/getting-started.md +44 -31
- package/docs/prerequisites.md +34 -35
- package/docs/project-structure.md +39 -46
- package/docs/repository-governance.md +96 -26
- package/docs/safety-and-consent.md +90 -28
- package/docs/spec-workflows-and-agents.md +31 -28
- package/docs/supported-stack.md +11 -9
- package/docs/troubleshooting.md +114 -54
- package/docs/workloads.md +52 -67
- package/package.json +4 -7
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/UPSTREAM_LICENSE.txt +0 -21
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/catalog.json +0 -520
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/packaged/gitignore +0 -27
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/README.md +0 -25
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/components.json +0 -22
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/eslint.config.js +0 -23
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/index.html +0 -13
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package-lock.json +0 -6156
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/package.json +0 -60
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/public/power-apps.svg +0 -55
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/App.tsx +0 -17
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/assets/react.svg +0 -1
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/mode-toggle.tsx +0 -37
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/badge.tsx +0 -46
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/button.tsx +0 -60
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/calendar.tsx +0 -211
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/card.tsx +0 -92
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/chart.tsx +0 -355
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/checkbox.tsx +0 -32
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/command.tsx +0 -184
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dialog.tsx +0 -141
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/dropdown-menu.tsx +0 -257
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/input.tsx +0 -21
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/label.tsx +0 -22
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/popover.tsx +0 -46
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/progress.tsx +0 -29
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/select.tsx +0 -185
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/separator.tsx +0 -26
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/skeleton.tsx +0 -13
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/table.tsx +0 -114
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tabs.tsx +0 -66
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/textarea.tsx +0 -18
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/components/ui/tooltip.tsx +0 -61
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/hooks/use-theme.ts +0 -11
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/index.css +0 -131
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/lib/utils.ts +0 -6
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/main.tsx +0 -10
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/_layout.tsx +0 -31
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/home.tsx +0 -59
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/pages/not-found.tsx +0 -14
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/query-provider.tsx +0 -26
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/sonner-provider.tsx +0 -23
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/providers/theme-provider.tsx +0 -64
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/src/router.tsx +0 -24
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.app.json +0 -34
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.json +0 -13
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/tsconfig.node.json +0 -26
- package/assets/power-apps-code-app/3438c352483e40982f6c5c0fc36fd71f8e7adbbb/starter/vite.config.ts +0 -19
- package/assets/power-apps-code-app/README.md +0 -27
- package/dist/code-apps-plugin.d.ts +0 -13
- package/dist/code-apps-plugin.js +0 -69
- package/dist/code-apps-plugin.js.map +0 -1
- package/dist/power-apps-assets.d.ts +0 -30
- package/dist/power-apps-assets.js +0 -131
- package/dist/power-apps-assets.js.map +0 -1
- package/dist/power-apps-templates.d.ts +0 -3
- package/dist/power-apps-templates.js +0 -177
- package/dist/power-apps-templates.js.map +0 -1
- package/dist/power-apps-validation.d.ts +0 -1
- package/dist/power-apps-validation.js +0 -79
- 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
|
|
26
|
-
|
|
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
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
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
|
-
|
|
113
|
-
|
|
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`
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
- `
|
|
125
|
-
|
|
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
|
|
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
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
-
-
|
|
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.
|
|
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
|
|
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.
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
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.
|
package/docs/supported-stack.md
CHANGED
|
@@ -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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
|
59
|
-
|
|
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
|
|
package/docs/troubleshooting.md
CHANGED
|
@@ -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
|
|
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`
|
|
144
|
-
|
|
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
|
-
`
|
|
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
|
|
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,
|
|
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
|
|
193
|
-
|
|
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.
|
|
212
|
-
approved minimum `bootstrap-local` phase,
|
|
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` |
|
|
243
|
-
| `phase-blocked` | Read the
|
|
244
|
-
| `evidence-stale` |
|
|
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
|
|
247
|
-
| `identity-incompatible` | Upgrade
|
|
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` |
|
|
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
|
-
|
|
257
|
-
required read permissions.
|
|
258
|
-
|
|
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
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
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
|
|
276
|
-
|
|
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
|
|
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
|
|
284
|
-
|
|
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
|
|
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
|
-
|
|
313
|
-
|
|
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
|
-
|
|
325
|
-
|
|
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
|
|