@msn-control/liftoff 0.11.3 → 0.12.0

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 (326) hide show
  1. package/DEVELOPER.md +19 -18
  2. package/README.md +18 -18
  3. package/assets/governance/single-maintainer-gitflow/activation-v2-graph.json +1583 -0
  4. package/dist/adapters/credentials/github-enrollment.d.ts +51 -0
  5. package/dist/adapters/credentials/github-enrollment.js +226 -0
  6. package/dist/adapters/credentials/github-enrollment.js.map +1 -0
  7. package/dist/adapters/credentials/protected-input.d.ts +7 -0
  8. package/dist/adapters/credentials/protected-input.js +68 -0
  9. package/dist/adapters/credentials/protected-input.js.map +1 -0
  10. package/dist/adapters/filesystem/executables.d.ts +2 -0
  11. package/dist/adapters/filesystem/executables.js +70 -0
  12. package/dist/adapters/filesystem/executables.js.map +1 -0
  13. package/dist/adapters/filesystem/update-previews.d.ts +9 -0
  14. package/dist/adapters/filesystem/update-previews.js +44 -0
  15. package/dist/adapters/filesystem/update-previews.js.map +1 -1
  16. package/dist/adapters/filesystem/workstation-attempts.d.ts +13 -0
  17. package/dist/adapters/filesystem/workstation-attempts.js +78 -0
  18. package/dist/adapters/filesystem/workstation-attempts.js.map +1 -0
  19. package/dist/adapters/github/activation-rest.d.ts +40 -0
  20. package/dist/adapters/github/activation-rest.js +272 -0
  21. package/dist/adapters/github/activation-rest.js.map +1 -0
  22. package/dist/adapters/state/azure-blob.d.ts +43 -0
  23. package/dist/adapters/state/azure-blob.js +335 -0
  24. package/dist/adapters/state/azure-blob.js.map +1 -0
  25. package/dist/adapters/state/darwin-capabilities.d.ts +33 -0
  26. package/dist/adapters/state/darwin-capabilities.js +146 -0
  27. package/dist/adapters/state/darwin-capabilities.js.map +1 -0
  28. package/dist/adapters/state/darwin-native-host.d.ts +32 -0
  29. package/dist/adapters/state/darwin-native-host.js +294 -0
  30. package/dist/adapters/state/darwin-native-host.js.map +1 -0
  31. package/dist/adapters/state/darwin-profile.d.ts +6 -0
  32. package/dist/adapters/state/darwin-profile.js +56 -0
  33. package/dist/adapters/state/darwin-profile.js.map +1 -0
  34. package/dist/adapters/state/darwin-system-program.d.ts +1 -0
  35. package/dist/adapters/state/darwin-system-program.js +94 -0
  36. package/dist/adapters/state/darwin-system-program.js.map +1 -0
  37. package/dist/adapters/state/local-qualification.d.ts +16 -0
  38. package/dist/adapters/state/local-qualification.js +299 -0
  39. package/dist/adapters/state/local-qualification.js.map +1 -0
  40. package/dist/adapters/state/local.d.ts +25 -0
  41. package/dist/adapters/state/local.js +145 -0
  42. package/dist/adapters/state/local.js.map +1 -0
  43. package/dist/adapters/state/native-command.d.ts +21 -0
  44. package/dist/adapters/state/native-command.js +82 -0
  45. package/dist/adapters/state/native-command.js.map +1 -0
  46. package/dist/adapters/state/native-files.d.ts +2 -0
  47. package/dist/adapters/state/native-files.js +47 -0
  48. package/dist/adapters/state/native-files.js.map +1 -0
  49. package/dist/adapters/state/native-system.d.ts +38 -0
  50. package/dist/adapters/state/native-system.js +86 -0
  51. package/dist/adapters/state/native-system.js.map +1 -0
  52. package/dist/adapters/state/opentofu.d.ts +35 -0
  53. package/dist/adapters/state/opentofu.js +350 -0
  54. package/dist/adapters/state/opentofu.js.map +1 -0
  55. package/dist/adapters/state/owned-process.d.ts +43 -0
  56. package/dist/adapters/state/owned-process.js +252 -0
  57. package/dist/adapters/state/owned-process.js.map +1 -0
  58. package/dist/adapters/state/posix-lock-program.d.ts +1 -0
  59. package/dist/adapters/state/posix-lock-program.js +185 -0
  60. package/dist/adapters/state/posix-lock-program.js.map +1 -0
  61. package/dist/adapters/state/posix-native-lock.d.ts +15 -0
  62. package/dist/adapters/state/posix-native-lock.js +145 -0
  63. package/dist/adapters/state/posix-native-lock.js.map +1 -0
  64. package/dist/adapters/state/protected-workspace.d.ts +57 -0
  65. package/dist/adapters/state/protected-workspace.js +412 -0
  66. package/dist/adapters/state/protected-workspace.js.map +1 -0
  67. package/dist/application/context.d.ts +3 -0
  68. package/dist/application/diagnose/doctor.d.ts +5 -0
  69. package/dist/application/diagnose/doctor.js +21 -5
  70. package/dist/application/diagnose/doctor.js.map +1 -1
  71. package/dist/application/diagnose/generated-project.js +2 -7
  72. package/dist/application/diagnose/generated-project.js.map +1 -1
  73. package/dist/application/initialize/fixture.js +8 -1
  74. package/dist/application/initialize/fixture.js.map +1 -1
  75. package/dist/application/initialize/use-case.js +70 -36
  76. package/dist/application/initialize/use-case.js.map +1 -1
  77. package/dist/application/project/manifest.js +5 -4
  78. package/dist/application/project/manifest.js.map +1 -1
  79. package/dist/application/state-migration/execution.d.ts +32 -0
  80. package/dist/application/state-migration/execution.js +440 -0
  81. package/dist/application/state-migration/execution.js.map +1 -0
  82. package/dist/application/state-migration/index.d.ts +22 -0
  83. package/dist/application/state-migration/index.js +17 -0
  84. package/dist/application/state-migration/index.js.map +1 -0
  85. package/dist/application/state-migration/lifecycle.d.ts +3 -0
  86. package/dist/application/state-migration/lifecycle.js +149 -0
  87. package/dist/application/state-migration/lifecycle.js.map +1 -0
  88. package/dist/application/state-migration/planning.d.ts +7 -0
  89. package/dist/application/state-migration/planning.js +150 -0
  90. package/dist/application/state-migration/planning.js.map +1 -0
  91. package/dist/application/state-migration/recovery.d.ts +5 -0
  92. package/dist/application/state-migration/recovery.js +145 -0
  93. package/dist/application/state-migration/recovery.js.map +1 -0
  94. package/dist/application/state-migration/runtime.d.ts +32 -0
  95. package/dist/application/state-migration/runtime.js +188 -0
  96. package/dist/application/state-migration/runtime.js.map +1 -0
  97. package/dist/application/state-migration/service.d.ts +2 -0
  98. package/dist/application/state-migration/service.js +20 -0
  99. package/dist/application/state-migration/service.js.map +1 -0
  100. package/dist/application/update/inspection.d.ts +16 -2
  101. package/dist/application/update/inspection.js +76 -23
  102. package/dist/application/update/inspection.js.map +1 -1
  103. package/dist/application/update/migration-runtime.js +24 -11
  104. package/dist/application/update/migration-runtime.js.map +1 -1
  105. package/dist/application/update/output.d.ts +2 -0
  106. package/dist/application/update/output.js +11 -1
  107. package/dist/application/update/output.js.map +1 -1
  108. package/dist/application/update/revalidation-plan.d.ts +1 -0
  109. package/dist/application/update/revalidation-plan.js +25 -12
  110. package/dist/application/update/revalidation-plan.js.map +1 -1
  111. package/dist/application/update/revalidation.d.ts +4 -1
  112. package/dist/application/update/revalidation.js +62 -21
  113. package/dist/application/update/revalidation.js.map +1 -1
  114. package/dist/application/update/use-case.js +25 -17
  115. package/dist/application/update/use-case.js.map +1 -1
  116. package/dist/cli/args/definitions.js +11 -3
  117. package/dist/cli/args/definitions.js.map +1 -1
  118. package/dist/cli/args/parser.js +29 -3
  119. package/dist/cli/args/parser.js.map +1 -1
  120. package/dist/domain/governance/activation/approvals.d.ts +264 -7
  121. package/dist/domain/governance/activation/approvals.js +166 -23
  122. package/dist/domain/governance/activation/approvals.js.map +1 -1
  123. package/dist/domain/governance/activation/capabilities.js +5 -2
  124. package/dist/domain/governance/activation/capabilities.js.map +1 -1
  125. package/dist/domain/governance/activation/evidence.d.ts +2 -1
  126. package/dist/domain/governance/activation/evidence.js +64 -11
  127. package/dist/domain/governance/activation/evidence.js.map +1 -1
  128. package/dist/domain/governance/activation/graph.d.ts +11 -384
  129. package/dist/domain/governance/activation/graph.js +424 -379
  130. package/dist/domain/governance/activation/graph.js.map +1 -1
  131. package/dist/domain/governance/activation/inputs.d.ts +3 -1
  132. package/dist/domain/governance/activation/inputs.js +47 -6
  133. package/dist/domain/governance/activation/inputs.js.map +1 -1
  134. package/dist/domain/governance/activation/operations.d.ts +4 -1
  135. package/dist/domain/governance/activation/operations.js +110 -22
  136. package/dist/domain/governance/activation/operations.js.map +1 -1
  137. package/dist/domain/governance/activation/readiness.d.ts +10 -0
  138. package/dist/domain/governance/activation/readiness.js +77 -38
  139. package/dist/domain/governance/activation/readiness.js.map +1 -1
  140. package/dist/domain/governance/activation/types.d.ts +151 -9
  141. package/dist/domain/governance/activation/types.js +23 -1
  142. package/dist/domain/governance/activation/types.js.map +1 -1
  143. package/dist/domain/governance/activation/validators.d.ts +4 -1
  144. package/dist/domain/governance/activation/validators.js +419 -26
  145. package/dist/domain/governance/activation/validators.js.map +1 -1
  146. package/dist/domain/governance/policy/identity.d.ts +55 -13
  147. package/dist/domain/governance/policy/identity.js +28 -8
  148. package/dist/domain/governance/policy/identity.js.map +1 -1
  149. package/dist/domain/project/artifact-lifecycle.d.ts +2 -1
  150. package/dist/domain/project/artifact-lifecycle.js +7 -1
  151. package/dist/domain/project/artifact-lifecycle.js.map +1 -1
  152. package/dist/domain/project/catalog.d.ts +50 -1
  153. package/dist/domain/project/catalog.js +104 -4
  154. package/dist/domain/project/catalog.js.map +1 -1
  155. package/dist/domain/project/contracts.d.ts +9 -1
  156. package/dist/domain/project/infrastructure-layout.d.ts +1 -1
  157. package/dist/domain/project/infrastructure-layout.js +2 -1
  158. package/dist/domain/project/infrastructure-layout.js.map +1 -1
  159. package/dist/domain/project/manifest/governance.d.ts +1 -1
  160. package/dist/domain/project/manifest/governance.js +9 -10
  161. package/dist/domain/project/manifest/governance.js.map +1 -1
  162. package/dist/domain/project/planning.js +4 -5
  163. package/dist/domain/project/planning.js.map +1 -1
  164. package/dist/domain/repair/stateful-bounded.d.ts +1 -0
  165. package/dist/domain/repair/stateful-bounded.js +37 -0
  166. package/dist/domain/repair/stateful-bounded.js.map +1 -0
  167. package/dist/domain/repair/stateful-invariants.d.ts +28 -0
  168. package/dist/domain/repair/stateful-invariants.js +278 -0
  169. package/dist/domain/repair/stateful-invariants.js.map +1 -0
  170. package/dist/domain/repair/stateful.d.ts +690 -0
  171. package/dist/domain/repair/stateful.js +26 -0
  172. package/dist/domain/repair/stateful.js.map +1 -0
  173. package/dist/domain/workstation/constraints.d.ts +1 -0
  174. package/dist/domain/workstation/constraints.js.map +1 -1
  175. package/dist/domain/workstation/contracts.d.ts +42 -0
  176. package/dist/domain/workstation/contracts.js +2 -0
  177. package/dist/domain/workstation/contracts.js.map +1 -0
  178. package/dist/domain/workstation/executables.d.ts +19 -0
  179. package/dist/domain/workstation/executables.js +68 -0
  180. package/dist/domain/workstation/executables.js.map +1 -0
  181. package/dist/domain/workstation/versions.d.ts +8 -0
  182. package/dist/domain/workstation/versions.js +145 -0
  183. package/dist/domain/workstation/versions.js.map +1 -0
  184. package/dist/framework-adapters.d.ts +2 -0
  185. package/dist/framework-adapters.js +148 -22
  186. package/dist/framework-adapters.js.map +1 -1
  187. package/dist/framework-validation.d.ts +6 -0
  188. package/dist/framework-validation.js +89 -24
  189. package/dist/framework-validation.js.map +1 -1
  190. package/dist/generators/common/base.js +57 -17
  191. package/dist/generators/common/base.js.map +1 -1
  192. package/dist/governance-activation/activation-state.js +39 -7
  193. package/dist/governance-activation/activation-state.js.map +1 -1
  194. package/dist/governance-activation/authority-records.d.ts +4 -0
  195. package/dist/governance-activation/authority-records.js +24 -0
  196. package/dist/governance-activation/authority-records.js.map +1 -0
  197. package/dist/governance-activation/commands.d.ts +9 -1
  198. package/dist/governance-activation/commands.js +392 -97
  199. package/dist/governance-activation/commands.js.map +1 -1
  200. package/dist/governance-activation/compatibility.d.ts +11 -8
  201. package/dist/governance-activation/compatibility.js +37 -23
  202. package/dist/governance-activation/compatibility.js.map +1 -1
  203. package/dist/governance-activation/doctor.js +40 -16
  204. package/dist/governance-activation/doctor.js.map +1 -1
  205. package/dist/governance-activation/github-config.d.ts +17 -0
  206. package/dist/governance-activation/github-config.js +88 -0
  207. package/dist/governance-activation/github-config.js.map +1 -0
  208. package/dist/governance-activation/github-discovery.d.ts +18 -0
  209. package/dist/governance-activation/github-discovery.js +229 -0
  210. package/dist/governance-activation/github-discovery.js.map +1 -0
  211. package/dist/governance-activation/github-ports.d.ts +12 -0
  212. package/dist/governance-activation/github-ports.js +4 -0
  213. package/dist/governance-activation/github-ports.js.map +1 -0
  214. package/dist/governance-activation/github-publication.d.ts +3 -0
  215. package/dist/governance-activation/github-publication.js +190 -0
  216. package/dist/governance-activation/github-publication.js.map +1 -0
  217. package/dist/governance-activation/historical-common.d.ts +98 -0
  218. package/dist/governance-activation/historical-common.js +269 -0
  219. package/dist/governance-activation/historical-common.js.map +1 -0
  220. package/dist/governance-activation/historical-credential-policy.d.ts +3 -0
  221. package/dist/governance-activation/historical-credential-policy.js +91 -0
  222. package/dist/governance-activation/historical-credential-policy.js.map +1 -0
  223. package/dist/governance-activation/historical-inputs.d.ts +6 -0
  224. package/dist/governance-activation/historical-inputs.js +57 -0
  225. package/dist/governance-activation/historical-inputs.js.map +1 -0
  226. package/dist/governance-activation/historical-safety.d.ts +9 -0
  227. package/dist/governance-activation/historical-safety.js +102 -0
  228. package/dist/governance-activation/historical-safety.js.map +1 -0
  229. package/dist/governance-activation/historical-source-metadata.d.ts +31 -0
  230. package/dist/governance-activation/historical-source-metadata.js +55 -0
  231. package/dist/governance-activation/historical-source-metadata.js.map +1 -0
  232. package/dist/governance-activation/historical-state.d.ts +12 -50
  233. package/dist/governance-activation/historical-state.js +195 -308
  234. package/dist/governance-activation/historical-state.js.map +1 -1
  235. package/dist/governance-activation/historical-v1-auxiliary.d.ts +1 -0
  236. package/dist/governance-activation/historical-v1-auxiliary.js +43 -0
  237. package/dist/governance-activation/historical-v1-auxiliary.js.map +1 -0
  238. package/dist/governance-activation/historical-v1-phase-contracts.d.ts +31 -0
  239. package/dist/governance-activation/historical-v1-phase-contracts.js +46 -0
  240. package/dist/governance-activation/historical-v1-phase-contracts.js.map +1 -0
  241. package/dist/governance-activation/historical-v2.d.ts +53 -0
  242. package/dist/governance-activation/historical-v2.js +313 -0
  243. package/dist/governance-activation/historical-v2.js.map +1 -0
  244. package/dist/governance-activation/history-contracts.d.ts +21 -12
  245. package/dist/governance-activation/history-contracts.js +99 -27
  246. package/dist/governance-activation/history-contracts.js.map +1 -1
  247. package/dist/governance-activation/inputs.d.ts +8 -2
  248. package/dist/governance-activation/inputs.js +41 -6
  249. package/dist/governance-activation/inputs.js.map +1 -1
  250. package/dist/governance-activation/migration-history.d.ts +43 -5
  251. package/dist/governance-activation/migration-history.js +231 -50
  252. package/dist/governance-activation/migration-history.js.map +1 -1
  253. package/dist/governance-activation/migration.d.ts +7 -4
  254. package/dist/governance-activation/migration.js +53 -252
  255. package/dist/governance-activation/migration.js.map +1 -1
  256. package/dist/governance-activation/phase-azure.d.ts +3 -0
  257. package/dist/governance-activation/phase-azure.js +205 -0
  258. package/dist/governance-activation/phase-azure.js.map +1 -0
  259. package/dist/governance-activation/phase-bootstrap-state.js +3 -0
  260. package/dist/governance-activation/phase-bootstrap-state.js.map +1 -1
  261. package/dist/governance-activation/phase-github.d.ts +3 -0
  262. package/dist/governance-activation/phase-github.js +192 -0
  263. package/dist/governance-activation/phase-github.js.map +1 -0
  264. package/dist/governance-activation/phase-governance.js +8 -2
  265. package/dist/governance-activation/phase-governance.js.map +1 -1
  266. package/dist/governance-activation/public-plans.d.ts +36 -0
  267. package/dist/governance-activation/public-plans.js +100 -0
  268. package/dist/governance-activation/public-plans.js.map +1 -0
  269. package/dist/governance-activation/read-only.d.ts +3 -1
  270. package/dist/governance-activation/read-only.js +7 -3
  271. package/dist/governance-activation/read-only.js.map +1 -1
  272. package/dist/governance-activation/reconciliation.js +10 -0
  273. package/dist/governance-activation/reconciliation.js.map +1 -1
  274. package/dist/governance-activation/seed-lifecycle.js +14 -25
  275. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  276. package/dist/governance-activation/source-of-truth.d.ts +21 -5
  277. package/dist/governance-activation/source-of-truth.js +102 -13
  278. package/dist/governance-activation/source-of-truth.js.map +1 -1
  279. package/dist/governance-activation/task-projection.d.ts +4 -1
  280. package/dist/governance-activation/task-projection.js +32 -3
  281. package/dist/governance-activation/task-projection.js.map +1 -1
  282. package/dist/governance-activation/task-writes.d.ts +42 -0
  283. package/dist/governance-activation/task-writes.js +250 -0
  284. package/dist/governance-activation/task-writes.js.map +1 -0
  285. package/dist/governance-activation/transition-files.d.ts +12 -0
  286. package/dist/governance-activation/transition-files.js +109 -0
  287. package/dist/governance-activation/transition-files.js.map +1 -0
  288. package/dist/governance-activation/transition-planning.d.ts +3 -1
  289. package/dist/governance-activation/transition-planning.js +158 -20
  290. package/dist/governance-activation/transition-planning.js.map +1 -1
  291. package/dist/governance-activation/transition-ports.d.ts +31 -3
  292. package/dist/governance-activation/transition-records.d.ts +11 -1
  293. package/dist/governance-activation/transition-records.js +52 -6
  294. package/dist/governance-activation/transition-records.js.map +1 -1
  295. package/dist/governance-activation/transitions.d.ts +5 -0
  296. package/dist/governance-activation/transitions.js +271 -37
  297. package/dist/governance-activation/transitions.js.map +1 -1
  298. package/dist/governance-assessment/engine.js +22 -15
  299. package/dist/governance-assessment/engine.js.map +1 -1
  300. package/dist/governance-assessment/project.d.ts +2 -0
  301. package/dist/governance-assessment/project.js +2 -1
  302. package/dist/governance-assessment/project.js.map +1 -1
  303. package/dist/interactive.d.ts +0 -1
  304. package/dist/interactive.js +3 -22
  305. package/dist/interactive.js.map +1 -1
  306. package/dist/openspec-profile.d.ts +2 -1
  307. package/dist/openspec-profile.js +11 -41
  308. package/dist/openspec-profile.js.map +1 -1
  309. package/dist/repository-governance.d.ts +10 -5
  310. package/dist/repository-governance.js +178 -92
  311. package/dist/repository-governance.js.map +1 -1
  312. package/dist/telemetry/contract.d.ts +1 -1
  313. package/dist/telemetry/contract.js +3 -0
  314. package/dist/telemetry/contract.js.map +1 -1
  315. package/dist/workstation-catalog.d.ts +13 -1
  316. package/dist/workstation-catalog.js +122 -0
  317. package/dist/workstation-catalog.js.map +1 -1
  318. package/dist/workstation.d.ts +69 -14
  319. package/dist/workstation.js +600 -215
  320. package/dist/workstation.js.map +1 -1
  321. package/docs/cli-reference.md +59 -21
  322. package/docs/configuration-and-manifests.md +9 -8
  323. package/docs/prerequisites.md +93 -18
  324. package/docs/repository-governance.md +68 -40
  325. package/docs/spec-workflows-and-agents.md +132 -13
  326. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import { activationCompatibility, canonicalPhaseGraph } from './graph.js';
2
2
  import { selectLatestPhaseEvidence } from './evidence.js';
3
3
  import { resolveActivationCompatibility } from '../policy/identity.js';
4
- import { evaluateApprovalForTransitionPlan, transitionPlanForPhase } from './approvals.js';
4
+ import { approvalRequestForSavedPlan, evaluateApprovalForTransitionPlan, transitionPlanForPhase } from './approvals.js';
5
+ import { phaseScope } from './types.js';
5
6
  import { validateApprovalEnvelope } from './validators.js';
6
7
  const terminalStates = new Set([
7
8
  'approved',
@@ -47,7 +48,7 @@ export function applicabilityApplies(node, state) {
47
48
  return true;
48
49
  }
49
50
  if (node.applicability.discriminator === 'state-path') {
50
- if (state.applicability.privateStagingDast === false)
51
+ if (state.applicability.cloudStateRequired === false)
51
52
  return false;
52
53
  if (state.applicability.statePath === 'none')
53
54
  return 'unknown';
@@ -62,12 +63,16 @@ export function applicabilityApplies(node, state) {
62
63
  if (node.applicability.discriminator === 'private-staging-dast') {
63
64
  return state.applicability.privateStagingDast;
64
65
  }
66
+ if (node.applicability.discriminator === 'cloud-state-required')
67
+ return state.applicability.cloudStateRequired ?? 'unknown';
68
+ if (node.applicability.discriminator === 'private-runner-required')
69
+ return state.applicability.privateRunnerRequired ?? 'unknown';
65
70
  return state.applicability.credentialRequired;
66
71
  }
67
72
  function hasApplicabilityProof(node, state, records, contexts) {
68
73
  if (node.applicability.kind === 'always')
69
74
  return true;
70
- const statePath = node.applicability.discriminator === 'state-path' && state.applicability.privateStagingDast !== false;
75
+ const statePath = node.applicability.discriminator === 'state-path' && state.applicability.cloudStateRequired !== false;
71
76
  const sourceId = statePath ? 'state-path-selected' : 'phase-0-complete';
72
77
  const context = contexts?.[sourceId];
73
78
  if (!context)
@@ -81,7 +86,9 @@ function hasApplicabilityProof(node, state, records, contexts) {
81
86
  const value = payload;
82
87
  if (statePath)
83
88
  return value.statePath === state.applicability.statePath;
84
- const factId = node.applicability.discriminator === 'credential-required' ? 'credentialRequired' : 'privateStagingDast';
89
+ const factId = node.applicability.discriminator === 'credential-required' ? 'credentialRequired' :
90
+ node.applicability.discriminator === 'private-staging-dast' ? 'privateStagingDast' :
91
+ node.applicability.discriminator === 'private-runner-required' ? 'privateRunnerRequired' : 'cloudStateRequired';
85
92
  return Array.isArray(value.facts) && value.facts.some((fact) => typeof fact === 'object' && fact !== null &&
86
93
  fact.id === factId && fact.value === state.applicability[factId]);
87
94
  }
@@ -114,6 +121,7 @@ export function dependencySatisfied(dependency, calculated, state) {
114
121
  }
115
122
  export function calculatePhaseReadiness(input) {
116
123
  const graph = input.graph ?? canonicalPhaseGraph;
124
+ const scope = input.scope ?? 'activation';
117
125
  const identity = input.identity ?? input.state.identity;
118
126
  const compatibility = resolveActivationCompatibility(identity, activationCompatibility);
119
127
  const phases = {};
@@ -129,13 +137,15 @@ export function calculatePhaseReadiness(input) {
129
137
  identityCompatible: false,
130
138
  identityBlocker: compatibility.reason,
131
139
  phases,
132
- nextReadyPhase: null
140
+ nextReadyPhase: null,
141
+ nextPlannablePhase: null,
142
+ scope,
143
+ completion: { local: false, activation: false, lifecycle: false }
133
144
  };
134
145
  }
135
146
  const now = input.now ?? new Date();
136
147
  const approvals = input.approvals.map((approval) => validateApprovalEnvelope(approval));
137
148
  const evidence = input.evidence.map((entry, index) => evidenceRecord(entry, index));
138
- const byId = phaseMap(graph);
139
149
  const externalPhaseBlockers = propagatedPhaseBlockers(graph, input.phaseBlockers ?? {});
140
150
  for (const node of graph.phases) {
141
151
  const stored = input.state.phases[node.id];
@@ -169,6 +179,10 @@ export function calculatePhaseReadiness(input) {
169
179
  continue;
170
180
  }
171
181
  const applicability = applicabilityApplies(node, input.state);
182
+ if (node.id === 'bootstrap-state-disposed' && input.historicalLifecycleBlockers?.length) {
183
+ phases[node.id] = { phaseId: node.id, state: 'blocked', blockers: input.historicalLifecycleBlockers, plannable: false };
184
+ continue;
185
+ }
172
186
  if (applicability === 'unknown') {
173
187
  phases[node.id] = { phaseId: node.id, state: 'blocked', blockers: ['Applicability is unknown; independent current facts are required before this phase can be skipped.'] };
174
188
  continue;
@@ -187,31 +201,41 @@ export function calculatePhaseReadiness(input) {
187
201
  continue;
188
202
  }
189
203
  const localRetry = ['seed-valid', 'seed-verified', 'seed-archived'].includes(node.id);
190
- if (!localRetry && (selectedEvidence.selected?.header.result === 'failed' || stored.state === 'failed')) {
204
+ if (!localRetry && input.recoverPhase !== node.id && stored.state === 'blocked' &&
205
+ (stored.operation || stored.executionPlanDigest)) {
206
+ phases[node.id] = {
207
+ phaseId: node.id, state: 'blocked', recoveryRequired: true,
208
+ blockers: [...stored.blockers, 'An interrupted or partial external execution requires an explicitly reviewed recovery plan.']
209
+ };
210
+ continue;
211
+ }
212
+ if (!localRetry && input.recoverPhase !== node.id &&
213
+ (selectedEvidence.selected?.header.result === 'failed' || stored.state === 'failed' || stored.operation?.status === 'failed')) {
191
214
  phases[node.id] = {
192
215
  phaseId: node.id,
193
216
  state: 'failed',
194
- blockers: selectedEvidence.selected?.header.result === 'failed' ? [] : stored.blockers
217
+ blockers: stored.blockers.length ? stored.blockers : ['The prior operation failed; preview and explicitly approve its recovery before retrying.'],
218
+ recoveryRequired: true
195
219
  };
196
220
  continue;
197
221
  }
198
- if (recordsForPhase.length > 0 && selectedEvidence.issues.length > 0 &&
199
- (!localRetry || selectedEvidence.issues.some((issue) => issue.field === 'producedAt'))) {
222
+ const staleInputFields = new Set(['baselineSha', 'inputDigest', 'transition.baselineSha', 'transition.inputDigest', 'transition.transitionDigest',
223
+ 'payload.synchronizedSpecDigest', 'remoteBindingDigest']);
224
+ const integrityIssues = selectedEvidence.issues.filter((issue) => !staleInputFields.has(issue.field) && !(issue.field === 'plan' && issue.message === 'Evidence phase, current inputs, or timing differ from the reviewed transition plan.'));
225
+ if (recordsForPhase.length > 0 && integrityIssues.length > 0) {
200
226
  phases[node.id] = {
201
227
  phaseId: node.id,
202
228
  state: 'blocked',
203
- blockers: selectedEvidence.issues.map((entry) => entry.message)
229
+ blockers: integrityIssues.map((entry) => entry.message)
204
230
  };
205
231
  continue;
206
232
  }
207
- if (stored.state === 'running') {
208
- phases[node.id] = { phaseId: node.id, state: 'running', blockers: [] };
209
- continue;
210
- }
211
- if (stored.state === 'blocked' &&
212
- stored.blockers.length > 0 &&
213
- !localRetry) {
214
- phases[node.id] = { phaseId: node.id, state: 'blocked', blockers: stored.blockers };
233
+ if (!localRetry && stored.state === 'running' && !stored.operation && input.recoverPhase !== node.id) {
234
+ phases[node.id] = {
235
+ phaseId: node.id, state: 'blocked',
236
+ blockers: ['The running phase has no external operation handle; inspect and approve recovery rather than dispatching it again.'],
237
+ recoveryRequired: true
238
+ };
215
239
  continue;
216
240
  }
217
241
  if (node.id === 'bootstrap-state-disposed' &&
@@ -225,45 +249,60 @@ export function calculatePhaseReadiness(input) {
225
249
  continue;
226
250
  }
227
251
  for (const dependency of node.dependencies) {
252
+ if (input.recoverPhase === node.id && (stored.executionPlanDigest || stored.operation?.planDigest))
253
+ continue;
228
254
  if (!dependencySatisfied(dependency, phases, input.state)) {
229
255
  blockers.push(dependency.description);
230
256
  }
231
257
  }
232
- if (node.approvalGate.required) {
233
- const approval = evaluateApprovalForTransitionPlan(transitionPlanForPhase(byId[node.id], input.state, context.transition, undefined, context.publicationDestination), approvals, { now });
234
- if (approval.approvalRequired) {
235
- blockers.push(`Approval gate ${node.approvalGate.kind} is not satisfied: ${approval.reasons.join('; ')}. ` +
236
- 'Public approval persistence is unavailable; do not hand-edit activation state or fabricate approval files.');
237
- }
238
- }
239
258
  if (blockers.length > 0) {
240
- phases[node.id] = { phaseId: node.id, state: 'blocked', blockers };
259
+ phases[node.id] = { phaseId: node.id, state: 'blocked', blockers, plannable: false };
241
260
  continue;
242
261
  }
243
262
  if (selectedEvidence.selected && selectedEvidence.selected.header.result !== 'failed') {
244
- const foundEvidence = selectedEvidence.selected.header;
245
263
  phases[node.id] = {
246
- phaseId: node.id,
247
- state: foundEvidence.result === 'retained' ? 'retained' : foundEvidence.result,
248
- blockers: []
264
+ phaseId: node.id, state: selectedEvidence.selected.header.result, blockers: [], plannable: false
249
265
  };
250
266
  continue;
251
267
  }
268
+ let approvalRequired = false;
269
+ if (node.approvalGate.required) {
270
+ const reviewed = context.reviewedPlans?.filter((plan) => plan.phaseId === node.id && plan.inputDigest === context.inputDigest && plan.baselineDigest === context.baselineSha).sort((left, right) => Date.parse(right.createdAt) - Date.parse(left.createdAt))[0];
271
+ const approval = evaluateApprovalForTransitionPlan(reviewed ? approvalRequestForSavedPlan(reviewed, node, input.state) :
272
+ transitionPlanForPhase(node, input.state, context.transition, undefined, context.publicationDestination), approvals, { now });
273
+ approvalRequired = approval.approvalRequired;
274
+ if (approval.approvalRequired) {
275
+ blockers.push(`Approval gate ${node.approvalGate.kind} is not satisfied: ${approval.reasons.join('; ')}. Preview this phase and use governance approve with its exact plan fingerprint.`);
276
+ }
277
+ }
278
+ if (blockers.length > 0) {
279
+ phases[node.id] = { phaseId: node.id, state: 'blocked', blockers, plannable: true, approvalRequired };
280
+ continue;
281
+ }
252
282
  if (stored.state === 'approved' && node.terminalStates.includes('approved')) {
253
283
  phases[node.id] = { phaseId: node.id, state: 'approved', blockers: [] };
254
284
  continue;
255
285
  }
256
- if (terminalStates.has(stored.state) && !localRetry) {
257
- phases[node.id] = { phaseId: node.id, state: 'blocked', blockers: ['Completed phase has no current authoritative evidence.'] };
258
- }
259
- else {
260
- phases[node.id] = { phaseId: node.id, state: 'ready', blockers: [] };
261
- }
286
+ phases[node.id] = {
287
+ phaseId: node.id, state: stored.state === 'running' && input.recoverPhase !== node.id ? 'running' : 'ready',
288
+ blockers: [], plannable: true, approvalRequired: false
289
+ };
262
290
  }
291
+ const succeeded = new Set(['approved', 'verified', 'inapplicable', 'retained', 'disposed']);
292
+ const localComplete = graph.completionGroups.local.every((id) => succeeded.has(phases[id].state));
293
+ const effectiveScope = input.scope ?? (localComplete ? 'activation' : 'local');
294
+ const scoped = graph.phases.filter((phase) => phaseScope(phase.id) === effectiveScope);
263
295
  return {
264
296
  identityCompatible: true,
265
297
  phases,
266
- nextReadyPhase: graph.phases.find((phase) => phases[phase.id].state === 'ready')?.id ?? null
298
+ scope: effectiveScope,
299
+ nextReadyPhase: scoped.find((phase) => phases[phase.id].state === 'ready')?.id ?? null,
300
+ nextPlannablePhase: scoped.find((phase) => phases[phase.id].plannable)?.id ?? null,
301
+ completion: {
302
+ local: localComplete,
303
+ activation: [...graph.completionGroups.local, ...graph.completionGroups.activation].every((id) => succeeded.has(phases[id].state)),
304
+ lifecycle: graph.completionGroups.lifecycle.every((id) => succeeded.has(phases[id].state))
305
+ }
267
306
  };
268
307
  }
269
308
  //# sourceMappingURL=readiness.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../../src/domain/governance/activation/readiness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../../../src/domain/governance/activation/readiness.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- export declare const phaseIds: readonly ['seed-valid', 'seed-verified', 'seed-archived', 'committed', 'pushed', 'phase-0-complete', 'activation-approved', 'credential-ready', 'provider-ready', 'state-path-selected', 'existing-private-path', 'bootstrap-local', 'runner-ready', 'private-backend-proof', 'remote-import-verified', 'remote-ready', 'application-foundation', 'workflow-source-ready', 'dev-proof', 'staging-qualified', 'production-rehearsed', 'green-red-proof', 'enforcement-approved', 'rulesets-applied', 'live-readback', 'bootstrap-state-disposed'];
1
+ export declare const phaseIds: readonly ['seed-valid', 'seed-verified', 'seed-archived', 'committed', 'pushed', 'phase-0-complete', 'activation-approved', 'bootstrap-workflow-source-ready', 'credential-ready', 'provider-ready', 'state-path-selected', 'existing-private-path', 'bootstrap-local', 'runner-ready', 'private-backend-proof', 'remote-import-verified', 'remote-ready', 'application-prerequisites-ready', 'workflow-source-ready', 'application-artifact-ready', 'application-foundation', 'dev-proof', 'staging-qualified', 'production-rehearsed', 'green-red-proof', 'enforcement-approved', 'rulesets-applied', 'live-readback', 'bootstrap-state-disposed'];
2
2
  export type PhaseId = typeof phaseIds[number];
3
+ export declare const governanceScopes: readonly ['local', 'activation', 'lifecycle'];
4
+ export type GovernanceScope = typeof governanceScopes[number];
5
+ export declare const localSetupPhaseIds: readonly ["seed-valid", "seed-verified", "seed-archived"];
6
+ export declare const lifecyclePhaseIds: readonly ["bootstrap-state-disposed"];
7
+ export declare const activationPhaseIds: readonly PhaseId[];
8
+ export declare function phaseScope(phaseId: PhaseId): GovernanceScope;
3
9
  export declare const phaseStates: readonly ['pending', 'blocked', 'ready', 'approved', 'running', 'verified', 'failed', 'inapplicable', 'retained', 'disposed'];
4
10
  export type PhaseState = typeof phaseStates[number];
5
11
  export type TerminalPhaseState = Extract<PhaseState, 'approved' | 'verified' | 'failed' | 'inapplicable' | 'retained' | 'disposed'>;
6
- export declare const mutationClasses: readonly ['none', 'read-worktree', 'write-activation-state', 'write-evidence', 'write-openspec-seed', 'write-seed-tasks', 'write-openspec-governance', 'write-local-state', 'delete-local-state', 'write-workflows', 'write-ruleset-source', 'git-commit', 'git-push', 'github-read', 'github-write', 'github-secret-write', 'azure-read', 'azure-provider-register', 'azure-network-provision', 'azure-state-import', 'azure-resource-provision', 'github-ruleset-write'];
12
+ export declare const mutationClasses: readonly ['none', 'read-worktree', 'write-activation-state', 'write-evidence', 'write-openspec-seed', 'write-seed-tasks', 'project-governance-tasks', 'write-openspec-governance', 'write-local-state', 'delete-local-state', 'write-workflows', 'write-ruleset-source', 'write-credential-policy', 'git-commit', 'git-remote-bind', 'git-push', 'github-read', 'github-write', 'github-repository-create', 'github-workflow-dispatch', 'github-secret-write', 'registry-publish', 'backend-state-read', 'backend-state-write', 'azure-read', 'azure-provider-register', 'azure-network-provision', 'azure-state-import', 'azure-resource-provision', 'github-ruleset-write'];
7
13
  export type MutationClass = typeof mutationClasses[number];
8
14
  export declare const approvalGateKinds: readonly ['none', 'repository-publish', 'activation-plan', 'credential-enrollment', 'infrastructure-cost', 'enforcement', 'destructive-disposal', 'external-blocker'];
9
15
  export type ApprovalGateKind = typeof approvalGateKinds[number];
@@ -41,7 +47,7 @@ export type PhaseApplicability = {
41
47
  kind: 'always';
42
48
  } | {
43
49
  kind: 'conditional';
44
- discriminator: 'state-path' | 'private-staging-dast' | 'credential-required';
50
+ discriminator: 'state-path' | 'private-staging-dast' | 'credential-required' | 'cloud-state-required' | 'private-runner-required';
45
51
  when: string;
46
52
  inapplicableWhen: string;
47
53
  exclusiveWith: readonly PhaseId[];
@@ -83,6 +89,100 @@ export interface ManagedPhaseGraph {
83
89
  schemaVersion: number;
84
90
  versions: GraphVersionIdentity;
85
91
  phases: readonly PhaseGraphNode[];
92
+ completionGroups: {
93
+ local: readonly PhaseId[];
94
+ activation: readonly PhaseId[];
95
+ lifecycle: readonly PhaseId[];
96
+ };
97
+ }
98
+ export interface ActivationConfiguration {
99
+ schemaVersion: 1;
100
+ repository?: {
101
+ name: string;
102
+ defaultBranch?: string;
103
+ visibility?: 'private' | 'public';
104
+ create?: boolean;
105
+ };
106
+ azure?: {
107
+ subscriptionId: string;
108
+ tenantId: string;
109
+ region: string;
110
+ };
111
+ budget?: ApprovalCostCeiling;
112
+ phases: Partial<Record<PhaseId, Readonly<Record<string, unknown>>>>;
113
+ }
114
+ export interface ExternalOperationState {
115
+ provider: LiveReadbackProvider;
116
+ actionId: string;
117
+ operationId: string;
118
+ resourceId: string;
119
+ startedAt: string;
120
+ observedAt: string;
121
+ status: 'running' | 'completed' | 'failed';
122
+ pollUrl?: string;
123
+ planDigest?: string;
124
+ }
125
+ export interface PlannedFileChange {
126
+ pathParts: readonly string[];
127
+ beforeHash: string | null;
128
+ afterHash: string | null;
129
+ }
130
+ export interface InputTransitionBinding {
131
+ beforeDigest: string;
132
+ afterDigest: string;
133
+ files: readonly PlannedFileChange[];
134
+ git?: {
135
+ before: {
136
+ head: string | null;
137
+ branch: string | null;
138
+ pushUrls: readonly string[];
139
+ };
140
+ after: {
141
+ head: string | null;
142
+ branch: string | null;
143
+ pushUrls: readonly string[];
144
+ };
145
+ };
146
+ }
147
+ export type GovernanceTaskProjectionContract = {
148
+ schemaVersion: 1;
149
+ derivation: 'validated-current-readiness';
150
+ changeId: string;
151
+ workflowKind: 'openspec' | 'spec-kit';
152
+ taskPathParts: readonly string[];
153
+ metadataPathParts: readonly string[];
154
+ metadataHash: string;
155
+ layoutHash: string;
156
+ } & ({
157
+ source: 'existing';
158
+ } | {
159
+ source: 'create';
160
+ template: string;
161
+ metadataText: string;
162
+ });
163
+ export interface GovernanceTaskProjectionRecord {
164
+ schemaVersion: 1;
165
+ purpose: 'projection-audit-only';
166
+ phaseId: PhaseId;
167
+ planDigest: string;
168
+ contractDigest: string;
169
+ taskPathParts: readonly string[];
170
+ metadataHash: string;
171
+ layoutHash: string;
172
+ status: 'complete' | 'blocked';
173
+ observedAt: string;
174
+ beforeHash: string | null;
175
+ afterHash: string | null;
176
+ states: Readonly<Record<PhaseId, PhaseState | 'identity-incompatible'>> | null;
177
+ blockers: readonly string[];
178
+ }
179
+ export interface PhaseOutputBindings {
180
+ values: Readonly<Record<string, string | number | boolean | null>>;
181
+ resources: readonly {
182
+ provider: LiveReadbackProvider;
183
+ resourceType: string;
184
+ resourceId: string;
185
+ }[];
86
186
  }
87
187
  export interface EvidenceReference {
88
188
  phaseId: PhaseId;
@@ -102,6 +202,19 @@ export interface PhaseExecutionState {
102
202
  evidence: readonly EvidenceReference[];
103
203
  approvals: readonly string[];
104
204
  blockers: readonly string[];
205
+ operation?: ExternalOperationState;
206
+ executionPlanDigest?: string;
207
+ }
208
+ export interface ActivationSuccessorHistory {
209
+ schemaVersion: 1;
210
+ snapshotId: string;
211
+ journalPathParts: readonly ['governance', 'migration-state.json'];
212
+ historyIndexPathParts: readonly string[];
213
+ historyIndexDigest: string;
214
+ sourceActiveChange: {
215
+ id: string;
216
+ kind: 'openspec' | 'spec-kit';
217
+ } | null;
105
218
  }
106
219
  export interface UserActivationState {
107
220
  schemaVersion: number;
@@ -126,7 +239,14 @@ export interface UserActivationState {
126
239
  statePath: 'existing-private' | 'bootstrap-local' | 'none';
127
240
  privateStagingDast: boolean | 'unknown';
128
241
  credentialRequired: boolean | 'unknown';
242
+ cloudStateRequired?: boolean | 'unknown';
243
+ privateRunnerRequired?: boolean | 'unknown';
129
244
  };
245
+ baselineAnchor?: string;
246
+ successorHistory?: ActivationSuccessorHistory;
247
+ taskProjection?: GovernanceTaskProjectionRecord;
248
+ activationInputs?: ActivationConfiguration;
249
+ phaseOutputs?: Partial<Record<PhaseId, PhaseOutputBindings>>;
130
250
  bootstrapState?: BootstrapStateRetention;
131
251
  phases: Record<PhaseId, PhaseExecutionState>;
132
252
  createdAt: string;
@@ -146,6 +266,8 @@ export interface EvidenceHeader {
146
266
  producer: string;
147
267
  bodyDigest: string;
148
268
  remoteBindingDigest?: string;
269
+ scope?: GovernanceScope;
270
+ inputBindings?: InputTransitionBinding;
149
271
  result: Extract<TerminalPhaseState, 'verified' | 'failed' | 'inapplicable' | 'retained' | 'disposed'>;
150
272
  }
151
273
  export interface LiveReadbackProof {
@@ -189,6 +311,12 @@ export interface TransitionOperation {
189
311
  destination: TransitionOperationDestination;
190
312
  remote: boolean;
191
313
  destructive: boolean;
314
+ effects?: readonly {
315
+ mutationClass: MutationClass;
316
+ destination: TransitionOperationDestination;
317
+ remote: boolean;
318
+ destructive: boolean;
319
+ }[];
192
320
  }
193
321
  export interface RollbackOperation {
194
322
  adapter: TransitionAdapterId;
@@ -209,7 +337,8 @@ export interface TransitionRollbackPlan {
209
337
  cleanupWarnings: readonly string[];
210
338
  }
211
339
  export interface SavedTransitionPlan {
212
- schemaVersion: 1;
340
+ schemaVersion: 2;
341
+ scope: GovernanceScope;
213
342
  phaseId: PhaseId;
214
343
  createdAt: string;
215
344
  expiresAt: string;
@@ -231,6 +360,16 @@ export interface SavedTransitionPlan {
231
360
  };
232
361
  rollbackPlan: TransitionRollbackPlan;
233
362
  noSecrets: true;
363
+ configuration?: ActivationConfiguration;
364
+ fileChanges?: readonly PlannedFileChange[];
365
+ recovery?: boolean;
366
+ approvalBundle?: readonly {
367
+ phaseId: PhaseId;
368
+ inputDigest: string;
369
+ transitionDigest: string;
370
+ operations: readonly TransitionOperation[];
371
+ fileChanges: readonly PlannedFileChange[];
372
+ }[];
234
373
  }
235
374
  export interface BootstrapStateRetention {
236
375
  status: 'retained' | 'disposed';
@@ -290,13 +429,12 @@ export interface ApprovalEnvelope {
290
429
  policyExceptions: readonly string[];
291
430
  destructiveScope: readonly string[];
292
431
  expiresAt: string;
293
- /**
294
- * Approval metadata is validated and persisted for audit display, but it is
295
- * deliberately excluded from the canonical approval-envelope hash so retries
296
- * inside the same reviewed scope remain hash-stable.
297
- */
298
432
  approvedAt: string;
299
433
  approver: string;
434
+ scope?: GovernanceScope;
435
+ coveredPhases?: readonly PhaseId[];
436
+ operationDigests?: readonly string[];
437
+ phasePlanDigests?: Readonly<Partial<Record<PhaseId, string>>>;
300
438
  }
301
439
  export interface RequestedTransitionPlan {
302
440
  phaseId: PhaseId;
@@ -310,6 +448,10 @@ export interface RequestedTransitionPlan {
310
448
  costCeiling: ApprovalCostCeiling;
311
449
  policyExceptions: readonly string[];
312
450
  destructiveScope: readonly string[];
451
+ scope?: GovernanceScope;
452
+ coveredPhases?: readonly PhaseId[];
453
+ operationDigests?: readonly string[];
454
+ phasePlanDigests?: Readonly<Partial<Record<PhaseId, string>>>;
313
455
  }
314
456
  export interface ApprovalEvaluation {
315
457
  phaseId: PhaseId;
@@ -6,6 +6,7 @@ export const phaseIds = [
6
6
  'pushed',
7
7
  'phase-0-complete',
8
8
  'activation-approved',
9
+ 'bootstrap-workflow-source-ready',
9
10
  'credential-ready',
10
11
  'provider-ready',
11
12
  'state-path-selected',
@@ -15,8 +16,10 @@ export const phaseIds = [
15
16
  'private-backend-proof',
16
17
  'remote-import-verified',
17
18
  'remote-ready',
18
- 'application-foundation',
19
+ 'application-prerequisites-ready',
19
20
  'workflow-source-ready',
21
+ 'application-artifact-ready',
22
+ 'application-foundation',
20
23
  'dev-proof',
21
24
  'staging-qualified',
22
25
  'production-rehearsed',
@@ -26,6 +29,17 @@ export const phaseIds = [
26
29
  'live-readback',
27
30
  'bootstrap-state-disposed'
28
31
  ];
32
+ export const governanceScopes = ['local', 'activation', 'lifecycle'];
33
+ export const localSetupPhaseIds = ['seed-valid', 'seed-verified', 'seed-archived'];
34
+ export const lifecyclePhaseIds = ['bootstrap-state-disposed'];
35
+ export const activationPhaseIds = phaseIds.filter((id) => !localSetupPhaseIds.includes(id) && !lifecyclePhaseIds.includes(id));
36
+ export function phaseScope(phaseId) {
37
+ if (localSetupPhaseIds.includes(phaseId))
38
+ return 'local';
39
+ if (lifecyclePhaseIds.includes(phaseId))
40
+ return 'lifecycle';
41
+ return 'activation';
42
+ }
29
43
  export const phaseStates = [
30
44
  'pending',
31
45
  'blocked',
@@ -45,16 +59,24 @@ export const mutationClasses = [
45
59
  'write-evidence',
46
60
  'write-openspec-seed',
47
61
  'write-seed-tasks',
62
+ 'project-governance-tasks',
48
63
  'write-openspec-governance',
49
64
  'write-local-state',
50
65
  'delete-local-state',
51
66
  'write-workflows',
52
67
  'write-ruleset-source',
68
+ 'write-credential-policy',
53
69
  'git-commit',
70
+ 'git-remote-bind',
54
71
  'git-push',
55
72
  'github-read',
56
73
  'github-write',
74
+ 'github-repository-create',
75
+ 'github-workflow-dispatch',
57
76
  'github-secret-write',
77
+ 'registry-publish',
78
+ 'backend-state-read',
79
+ 'backend-state-write',
58
80
  'azure-read',
59
81
  'azure-provider-register',
60
82
  'azure-network-provision',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/governance/activation/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,YAAY;IACZ,eAAe;IACf,eAAe;IACf,WAAW;IACX,QAAQ;IACR,kBAAkB;IAClB,qBAAqB;IACrB,kBAAkB;IAClB,gBAAgB;IAChB,qBAAqB;IACrB,uBAAuB;IACvB,iBAAiB;IACjB,cAAc;IACd,uBAAuB;IACvB,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IACxB,uBAAuB;IACvB,WAAW;IACX,mBAAmB;IACnB,sBAAsB;IACtB,iBAAiB;IACjB,sBAAsB;IACtB,kBAAkB;IAClB,eAAe;IACf,0BAA0B;CAClB,CAAC;AAIX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,SAAS;IACT,SAAS;IACT,OAAO;IACP,UAAU;IACV,SAAS;IACT,UAAU;IACV,QAAQ;IACR,cAAc;IACd,UAAU;IACV,UAAU;CACF,CAAC;AAQX,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,MAAM;IACN,eAAe;IACf,wBAAwB;IACxB,gBAAgB;IAChB,qBAAqB;IACrB,kBAAkB;IAClB,2BAA2B;IAC3B,mBAAmB;IACnB,oBAAoB;IACpB,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IACZ,UAAU;IACV,aAAa;IACb,cAAc;IACd,qBAAqB;IACrB,YAAY;IACZ,yBAAyB;IACzB,yBAAyB;IACzB,oBAAoB;IACpB,0BAA0B;IAC1B,sBAAsB;CACd,CAAC;AAIX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,MAAM;IACN,oBAAoB;IACpB,iBAAiB;IACjB,uBAAuB;IACvB,qBAAqB;IACrB,aAAa;IACb,sBAAsB;IACtB,kBAAkB;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,yCAAyC;IACzC,uBAAuB;IACvB,qDAAqD;IACrD,mBAAmB;IACnB,uBAAuB;IACvB,kBAAkB;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,qBAAqB;IACrB,YAAY;IACZ,cAAc;IACd,eAAe;IACf,QAAQ;IACR,mBAAmB;IACnB,aAAa;IACb,oBAAoB;IACpB,kBAAkB;IAClB,cAAc;IACd,iBAAiB;IACjB,eAAe;IACf,mBAAmB;IACnB,kBAAkB;CACV,CAAC;AAIX,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAyWlF,MAAM,CAAC,MAAM,kCAAkC,GAAG,8BAAuC,CAAC;AAC1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,iCAA0C,CAAC;AACpF,MAAM,CAAC,MAAM,8BAA8B,GAAG,EAAW,CAAC;AAC1D,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAU,CAAC;AAC1D,MAAM,CAAC,MAAM,oCAAoC,GAAG,CAAC,eAAe,CAAU,CAAC;AAC/E,MAAM,CAAC,MAAM,sCAAsC,GAAG;IACpD,qBAAqB;IACrB,6BAA6B;CACrB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/domain/governance/activation/types.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,15 @@
1
1
  import { type CurrentActivationIdentity, type ReadableActivationIdentity } from '../policy/identity.js';
2
- import type { ActivationIdentity, ApprovalEnvelope, CredentialPolicy, EvidenceHeader, GraphReconciliationRecord, LiveReadbackProof, ManagedPhaseGraph, SavedTransitionPlan, SupersessionRecord, UserActivationState } from './types.js';
2
+ import type { ActivationConfiguration, ActivationIdentity, ApprovalEnvelope, CredentialPolicy, EvidenceHeader, GraphReconciliationRecord, LiveReadbackProof, ManagedPhaseGraph, SavedTransitionPlan, GovernanceTaskProjectionContract, GovernanceTaskProjectionRecord, SupersessionRecord, UserActivationState } from './types.js';
3
3
  import type { LiftoffManifest } from '../../project/contracts.js';
4
+ export declare function validateActivationConfiguration(value: unknown): ActivationConfiguration;
4
5
  export declare function validateActivationIdentity(value: unknown): CurrentActivationIdentity;
5
6
  /** Manifest readability is not execution compatibility; historical vectors are never retagged. */
6
7
  export declare function validateReadableActivationIdentity(value: unknown): ReadableActivationIdentity;
7
8
  export declare function validateManifestActivationForExecution(manifest: Pick<LiftoffManifest, 'governance'>): void;
8
9
  export declare function validateManagedPhaseGraph(value: unknown): ManagedPhaseGraph;
9
10
  export declare function assertCanonicalGraphValid(): void;
11
+ export declare function validateGovernanceTaskProjectionContract(value: unknown): GovernanceTaskProjectionContract;
12
+ export declare function validateGovernanceTaskProjectionRecord(value: unknown): GovernanceTaskProjectionRecord;
10
13
  export declare function validateUserActivationState(value: unknown): UserActivationState;
11
14
  export declare function validateEvidenceHeader(value: unknown): EvidenceHeader;
12
15
  export declare function validateLiveReadbackProof(value: unknown): LiveReadbackProof;