@msn-control/liftoff 0.11.3 → 0.12.1

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 (332) hide show
  1. package/DEVELOPER.md +26 -35
  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/application/upgrade/use-case.js +3 -0
  117. package/dist/application/upgrade/use-case.js.map +1 -1
  118. package/dist/cli/args/definitions.js +11 -3
  119. package/dist/cli/args/definitions.js.map +1 -1
  120. package/dist/cli/args/parser.js +29 -3
  121. package/dist/cli/args/parser.js.map +1 -1
  122. package/dist/domain/governance/activation/approvals.d.ts +264 -7
  123. package/dist/domain/governance/activation/approvals.js +166 -23
  124. package/dist/domain/governance/activation/approvals.js.map +1 -1
  125. package/dist/domain/governance/activation/capabilities.js +5 -2
  126. package/dist/domain/governance/activation/capabilities.js.map +1 -1
  127. package/dist/domain/governance/activation/evidence.d.ts +2 -1
  128. package/dist/domain/governance/activation/evidence.js +64 -11
  129. package/dist/domain/governance/activation/evidence.js.map +1 -1
  130. package/dist/domain/governance/activation/graph.d.ts +11 -384
  131. package/dist/domain/governance/activation/graph.js +424 -379
  132. package/dist/domain/governance/activation/graph.js.map +1 -1
  133. package/dist/domain/governance/activation/inputs.d.ts +3 -1
  134. package/dist/domain/governance/activation/inputs.js +47 -6
  135. package/dist/domain/governance/activation/inputs.js.map +1 -1
  136. package/dist/domain/governance/activation/operations.d.ts +4 -1
  137. package/dist/domain/governance/activation/operations.js +110 -22
  138. package/dist/domain/governance/activation/operations.js.map +1 -1
  139. package/dist/domain/governance/activation/readiness.d.ts +10 -0
  140. package/dist/domain/governance/activation/readiness.js +77 -38
  141. package/dist/domain/governance/activation/readiness.js.map +1 -1
  142. package/dist/domain/governance/activation/types.d.ts +151 -9
  143. package/dist/domain/governance/activation/types.js +23 -1
  144. package/dist/domain/governance/activation/types.js.map +1 -1
  145. package/dist/domain/governance/activation/validators.d.ts +4 -1
  146. package/dist/domain/governance/activation/validators.js +419 -26
  147. package/dist/domain/governance/activation/validators.js.map +1 -1
  148. package/dist/domain/governance/policy/identity.d.ts +55 -13
  149. package/dist/domain/governance/policy/identity.js +28 -8
  150. package/dist/domain/governance/policy/identity.js.map +1 -1
  151. package/dist/domain/project/artifact-lifecycle.d.ts +2 -1
  152. package/dist/domain/project/artifact-lifecycle.js +7 -1
  153. package/dist/domain/project/artifact-lifecycle.js.map +1 -1
  154. package/dist/domain/project/catalog.d.ts +50 -1
  155. package/dist/domain/project/catalog.js +104 -4
  156. package/dist/domain/project/catalog.js.map +1 -1
  157. package/dist/domain/project/contracts.d.ts +9 -1
  158. package/dist/domain/project/infrastructure-layout.d.ts +1 -1
  159. package/dist/domain/project/infrastructure-layout.js +3 -1
  160. package/dist/domain/project/infrastructure-layout.js.map +1 -1
  161. package/dist/domain/project/manifest/governance.d.ts +1 -1
  162. package/dist/domain/project/manifest/governance.js +9 -10
  163. package/dist/domain/project/manifest/governance.js.map +1 -1
  164. package/dist/domain/project/planning.js +4 -5
  165. package/dist/domain/project/planning.js.map +1 -1
  166. package/dist/domain/repair/stateful-bounded.d.ts +1 -0
  167. package/dist/domain/repair/stateful-bounded.js +37 -0
  168. package/dist/domain/repair/stateful-bounded.js.map +1 -0
  169. package/dist/domain/repair/stateful-invariants.d.ts +28 -0
  170. package/dist/domain/repair/stateful-invariants.js +278 -0
  171. package/dist/domain/repair/stateful-invariants.js.map +1 -0
  172. package/dist/domain/repair/stateful.d.ts +690 -0
  173. package/dist/domain/repair/stateful.js +26 -0
  174. package/dist/domain/repair/stateful.js.map +1 -0
  175. package/dist/domain/workstation/constraints.d.ts +1 -0
  176. package/dist/domain/workstation/constraints.js.map +1 -1
  177. package/dist/domain/workstation/contracts.d.ts +42 -0
  178. package/dist/domain/workstation/contracts.js +2 -0
  179. package/dist/domain/workstation/contracts.js.map +1 -0
  180. package/dist/domain/workstation/executables.d.ts +19 -0
  181. package/dist/domain/workstation/executables.js +68 -0
  182. package/dist/domain/workstation/executables.js.map +1 -0
  183. package/dist/domain/workstation/versions.d.ts +8 -0
  184. package/dist/domain/workstation/versions.js +145 -0
  185. package/dist/domain/workstation/versions.js.map +1 -0
  186. package/dist/framework-adapters.d.ts +2 -0
  187. package/dist/framework-adapters.js +148 -22
  188. package/dist/framework-adapters.js.map +1 -1
  189. package/dist/framework-validation.d.ts +6 -0
  190. package/dist/framework-validation.js +89 -24
  191. package/dist/framework-validation.js.map +1 -1
  192. package/dist/generators/common/base.js +57 -17
  193. package/dist/generators/common/base.js.map +1 -1
  194. package/dist/governance-activation/activation-state.js +39 -7
  195. package/dist/governance-activation/activation-state.js.map +1 -1
  196. package/dist/governance-activation/authority-records.d.ts +4 -0
  197. package/dist/governance-activation/authority-records.js +24 -0
  198. package/dist/governance-activation/authority-records.js.map +1 -0
  199. package/dist/governance-activation/commands.d.ts +9 -1
  200. package/dist/governance-activation/commands.js +392 -97
  201. package/dist/governance-activation/commands.js.map +1 -1
  202. package/dist/governance-activation/compatibility.d.ts +11 -8
  203. package/dist/governance-activation/compatibility.js +37 -23
  204. package/dist/governance-activation/compatibility.js.map +1 -1
  205. package/dist/governance-activation/doctor.js +40 -16
  206. package/dist/governance-activation/doctor.js.map +1 -1
  207. package/dist/governance-activation/github-config.d.ts +17 -0
  208. package/dist/governance-activation/github-config.js +88 -0
  209. package/dist/governance-activation/github-config.js.map +1 -0
  210. package/dist/governance-activation/github-discovery.d.ts +18 -0
  211. package/dist/governance-activation/github-discovery.js +229 -0
  212. package/dist/governance-activation/github-discovery.js.map +1 -0
  213. package/dist/governance-activation/github-ports.d.ts +12 -0
  214. package/dist/governance-activation/github-ports.js +4 -0
  215. package/dist/governance-activation/github-ports.js.map +1 -0
  216. package/dist/governance-activation/github-publication.d.ts +3 -0
  217. package/dist/governance-activation/github-publication.js +190 -0
  218. package/dist/governance-activation/github-publication.js.map +1 -0
  219. package/dist/governance-activation/historical-common.d.ts +98 -0
  220. package/dist/governance-activation/historical-common.js +269 -0
  221. package/dist/governance-activation/historical-common.js.map +1 -0
  222. package/dist/governance-activation/historical-credential-policy.d.ts +3 -0
  223. package/dist/governance-activation/historical-credential-policy.js +91 -0
  224. package/dist/governance-activation/historical-credential-policy.js.map +1 -0
  225. package/dist/governance-activation/historical-inputs.d.ts +6 -0
  226. package/dist/governance-activation/historical-inputs.js +57 -0
  227. package/dist/governance-activation/historical-inputs.js.map +1 -0
  228. package/dist/governance-activation/historical-safety.d.ts +9 -0
  229. package/dist/governance-activation/historical-safety.js +102 -0
  230. package/dist/governance-activation/historical-safety.js.map +1 -0
  231. package/dist/governance-activation/historical-source-metadata.d.ts +31 -0
  232. package/dist/governance-activation/historical-source-metadata.js +55 -0
  233. package/dist/governance-activation/historical-source-metadata.js.map +1 -0
  234. package/dist/governance-activation/historical-state.d.ts +12 -50
  235. package/dist/governance-activation/historical-state.js +195 -308
  236. package/dist/governance-activation/historical-state.js.map +1 -1
  237. package/dist/governance-activation/historical-v1-auxiliary.d.ts +1 -0
  238. package/dist/governance-activation/historical-v1-auxiliary.js +43 -0
  239. package/dist/governance-activation/historical-v1-auxiliary.js.map +1 -0
  240. package/dist/governance-activation/historical-v1-phase-contracts.d.ts +31 -0
  241. package/dist/governance-activation/historical-v1-phase-contracts.js +46 -0
  242. package/dist/governance-activation/historical-v1-phase-contracts.js.map +1 -0
  243. package/dist/governance-activation/historical-v2.d.ts +53 -0
  244. package/dist/governance-activation/historical-v2.js +313 -0
  245. package/dist/governance-activation/historical-v2.js.map +1 -0
  246. package/dist/governance-activation/history-contracts.d.ts +21 -12
  247. package/dist/governance-activation/history-contracts.js +99 -27
  248. package/dist/governance-activation/history-contracts.js.map +1 -1
  249. package/dist/governance-activation/inputs.d.ts +8 -2
  250. package/dist/governance-activation/inputs.js +41 -6
  251. package/dist/governance-activation/inputs.js.map +1 -1
  252. package/dist/governance-activation/migration-history.d.ts +43 -5
  253. package/dist/governance-activation/migration-history.js +231 -50
  254. package/dist/governance-activation/migration-history.js.map +1 -1
  255. package/dist/governance-activation/migration.d.ts +7 -4
  256. package/dist/governance-activation/migration.js +53 -252
  257. package/dist/governance-activation/migration.js.map +1 -1
  258. package/dist/governance-activation/phase-azure.d.ts +3 -0
  259. package/dist/governance-activation/phase-azure.js +205 -0
  260. package/dist/governance-activation/phase-azure.js.map +1 -0
  261. package/dist/governance-activation/phase-bootstrap-state.js +3 -0
  262. package/dist/governance-activation/phase-bootstrap-state.js.map +1 -1
  263. package/dist/governance-activation/phase-github.d.ts +3 -0
  264. package/dist/governance-activation/phase-github.js +192 -0
  265. package/dist/governance-activation/phase-github.js.map +1 -0
  266. package/dist/governance-activation/phase-governance.js +8 -2
  267. package/dist/governance-activation/phase-governance.js.map +1 -1
  268. package/dist/governance-activation/public-plans.d.ts +36 -0
  269. package/dist/governance-activation/public-plans.js +100 -0
  270. package/dist/governance-activation/public-plans.js.map +1 -0
  271. package/dist/governance-activation/read-only.d.ts +3 -1
  272. package/dist/governance-activation/read-only.js +7 -3
  273. package/dist/governance-activation/read-only.js.map +1 -1
  274. package/dist/governance-activation/reconciliation.js +10 -0
  275. package/dist/governance-activation/reconciliation.js.map +1 -1
  276. package/dist/governance-activation/seed-lifecycle.js +14 -25
  277. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  278. package/dist/governance-activation/source-of-truth.d.ts +21 -5
  279. package/dist/governance-activation/source-of-truth.js +102 -13
  280. package/dist/governance-activation/source-of-truth.js.map +1 -1
  281. package/dist/governance-activation/task-projection.d.ts +4 -1
  282. package/dist/governance-activation/task-projection.js +32 -3
  283. package/dist/governance-activation/task-projection.js.map +1 -1
  284. package/dist/governance-activation/task-writes.d.ts +42 -0
  285. package/dist/governance-activation/task-writes.js +250 -0
  286. package/dist/governance-activation/task-writes.js.map +1 -0
  287. package/dist/governance-activation/transition-files.d.ts +12 -0
  288. package/dist/governance-activation/transition-files.js +109 -0
  289. package/dist/governance-activation/transition-files.js.map +1 -0
  290. package/dist/governance-activation/transition-planning.d.ts +3 -1
  291. package/dist/governance-activation/transition-planning.js +158 -20
  292. package/dist/governance-activation/transition-planning.js.map +1 -1
  293. package/dist/governance-activation/transition-ports.d.ts +31 -3
  294. package/dist/governance-activation/transition-records.d.ts +11 -1
  295. package/dist/governance-activation/transition-records.js +52 -6
  296. package/dist/governance-activation/transition-records.js.map +1 -1
  297. package/dist/governance-activation/transitions.d.ts +5 -0
  298. package/dist/governance-activation/transitions.js +271 -37
  299. package/dist/governance-activation/transitions.js.map +1 -1
  300. package/dist/governance-assessment/engine.js +22 -15
  301. package/dist/governance-assessment/engine.js.map +1 -1
  302. package/dist/governance-assessment/project.d.ts +2 -0
  303. package/dist/governance-assessment/project.js +2 -1
  304. package/dist/governance-assessment/project.js.map +1 -1
  305. package/dist/interactive.d.ts +0 -1
  306. package/dist/interactive.js +3 -22
  307. package/dist/interactive.js.map +1 -1
  308. package/dist/openspec-profile.d.ts +2 -1
  309. package/dist/openspec-profile.js +11 -41
  310. package/dist/openspec-profile.js.map +1 -1
  311. package/dist/repository-governance.d.ts +10 -5
  312. package/dist/repository-governance.js +178 -92
  313. package/dist/repository-governance.js.map +1 -1
  314. package/dist/self-upgrade.d.ts +8 -2
  315. package/dist/self-upgrade.js +180 -47
  316. package/dist/self-upgrade.js.map +1 -1
  317. package/dist/telemetry/contract.d.ts +1 -1
  318. package/dist/telemetry/contract.js +3 -0
  319. package/dist/telemetry/contract.js.map +1 -1
  320. package/dist/workstation-catalog.d.ts +13 -1
  321. package/dist/workstation-catalog.js +122 -0
  322. package/dist/workstation-catalog.js.map +1 -1
  323. package/dist/workstation.d.ts +69 -14
  324. package/dist/workstation.js +600 -215
  325. package/dist/workstation.js.map +1 -1
  326. package/docs/cli-reference.md +69 -22
  327. package/docs/configuration-and-manifests.md +9 -8
  328. package/docs/prerequisites.md +93 -18
  329. package/docs/repository-governance.md +68 -40
  330. package/docs/spec-workflows-and-agents.md +132 -13
  331. package/docs/troubleshooting.md +32 -2
  332. package/package.json +1 -1
@@ -1,15 +1,15 @@
1
1
  import { readProjectFile } from '../adapters/filesystem/project-files.js';
2
2
  import { loadActivationState } from './activation-state.js';
3
3
  import { credentialPolicyPathParts } from './credentials.js';
4
- import { selectLatestPhaseEvidence } from '../domain/governance/activation/evidence.js';
5
- import { activationEvidenceContexts, readActivationInputSnapshot } from './inputs.js';
4
+ import { assertPhaseOutputsBound, selectLatestPhaseEvidence } from '../domain/governance/activation/evidence.js';
5
+ import { activationEvidenceContexts, activationSensitivePathExclusions, readActivationInputSnapshot } from './inputs.js';
6
6
  import { readActivationEvidence, readReviewedTransitionPlans } from './read-only.js';
7
7
  import { canonicalPhaseGraph, currentActivationIdentity } from '../domain/governance/activation/graph.js';
8
8
  import { planHistoricalActivationStateMigration } from './migration.js';
9
- import { planActivationHistoryMigration, readMigrationJournal } from './migration-history.js';
9
+ import { historicalLifecyclePhaseBlockers, inspectActivationMigrationHistory, planActivationHistoryMigration } from './migration-history.js';
10
10
  import { calculatePhaseReadiness } from '../domain/governance/activation/readiness.js';
11
11
  import { inspectGovernanceSourceOfTruth } from './source-of-truth.js';
12
- import { phaseIds } from '../domain/governance/activation/types.js';
12
+ import { phaseIds, phaseScope } from '../domain/governance/activation/types.js';
13
13
  import { validateCredentialPolicy } from '../domain/governance/activation/validators.js';
14
14
  const terminalEvidenceStates = new Set([
15
15
  'verified',
@@ -45,10 +45,10 @@ function evidenceStaleCheck(state, evidence, contexts) {
45
45
  return {
46
46
  id: 'governance-evidence-stale',
47
47
  label: 'governance evidence',
48
- severity: 'fail',
48
+ severity: stale.some((id) => phaseScope(id) === 'local') ? 'fail' : 'warn',
49
49
  state: 'evidence-stale',
50
50
  detail: `stored terminal phase(s) lack current authoritative evidence: ${stale.join(', ')}`,
51
- remedy: 'Rerun liftoff governance verify and provide fresh evidence or an explicit approved reconciliation mapping; do not use checkboxes, filenames, or prose as evidence.'
51
+ remedy: 'Run liftoff governance verify with the affected --scope, then preview a supported transition or repair. Do not hand-create evidence or use checkboxes as proof.'
52
52
  };
53
53
  }
54
54
  function phaseBlockedCheck(state) {
@@ -96,7 +96,7 @@ function disposalPendingCheck(state, now) {
96
96
  ? `retained bootstrap state reached disposal date ${state.bootstrapState.disposeAfter}`
97
97
  : `retained bootstrap state is not disposable until ${state.bootstrapState.disposeAfter}`,
98
98
  remedy: due
99
- ? 'Approve destructive disposal, then run liftoff governance apply-next --execute.'
99
+ ? 'Run liftoff governance plan --scope lifecycle, approve its exact fingerprint, then execute the scoped destructive disposal plan.'
100
100
  : 'Leave retained local bootstrap state untouched until the disposal date.'
101
101
  };
102
102
  }
@@ -114,10 +114,10 @@ async function credentialExpiringCheck(projectRoot, now) {
114
114
  return {
115
115
  id: 'governance-credential-expiring',
116
116
  label: 'governance credential',
117
- severity: expired || policy.status === 'expired' ? 'fail' : 'warn',
117
+ severity: 'warn',
118
118
  state: 'credential-expiring',
119
119
  detail: `credential policy status ${policy.status}; rotation due ${policy.rotationDueAt}; expires ${policy.expiresAt}`,
120
- remedy: 'Use an independently supported, reviewed provider rotation process. This CLI has no public credential enrollment/readback workflow; never enter credentials into task, state, or evidence files.'
120
+ remedy: 'Preview the credential-ready phase and use governance credential-enroll with its approved fingerprint and private input; no public credential enrollment/readback workflow is exposed without approved plan fingerprint. Expired cloud credentials do not invalidate unrelated local readiness.'
121
121
  };
122
122
  }
123
123
  export async function governanceDoctorChecks(projectRoot, manifest, now = new Date()) {
@@ -142,11 +142,11 @@ export async function governanceDoctorChecks(projectRoot, manifest, now = new Da
142
142
  severity: 'fail',
143
143
  state: supported ? 'migration-available' : 'identity-incompatible',
144
144
  detail: supported
145
- ? 'Historical activation v1 has a supported history-preserving v2 successor; existing history is not current execution proof.'
145
+ ? 'Historical activation v1/v2 has a supported history-preserving v3 successor; existing history is not current execution proof.'
146
146
  : history?.status === 'blocked' ? history.issues.join('; ')
147
147
  : migration.report.issues[0] ?? 'activation state is not compatible with this Liftoff version',
148
148
  remedy: 'Preserve user-owned state and evidence bytes. ' + (migration.report.diagnosticOnly === true
149
- ? 'Historical activation v1 requires liftoff update --check followed by explicit approval of a supported plan; do not reset or retag history.'
149
+ ? 'Historical activation v1/v2 requires liftoff update --check followed by explicit approval of a supported plan; do not reset or retag history.'
150
150
  : 'The recorded activation format or identity is unsupported or invalid. Use a compatible Liftoff version or restore original state from a trusted backup; do not rewrite identity fields to bypass validation.')
151
151
  });
152
152
  return checks;
@@ -177,7 +177,9 @@ export async function governanceDoctorChecks(projectRoot, manifest, now = new Da
177
177
  });
178
178
  return checks;
179
179
  }
180
- const journal = await readMigrationJournal(projectRoot);
180
+ const history = await inspectActivationMigrationHistory(projectRoot);
181
+ const journal = history.status === 'committed' ? history.journal : null;
182
+ const historicalLifecycleObligations = history.status === 'committed' ? history.lifecycleObligations : [];
181
183
  if (journal) {
182
184
  const blocked = journal.revalidation.status !== 'complete';
183
185
  checks.push({
@@ -186,9 +188,19 @@ export async function governanceDoctorChecks(projectRoot, manifest, now = new Da
186
188
  severity: blocked ? 'fail' : 'ok',
187
189
  state: blocked ? 'revalidation-blocked' : 'migration-committed',
188
190
  detail: blocked
189
- ? `Local v2 migration committed; revalidation is ${journal.revalidation.status}: ${journal.revalidation.nextAction}`
190
- : 'Local v2 migration and its approved local revalidation are complete; preserved v1 history is informational, not live governance proof.',
191
- ...(blocked ? { remedy: 'Repair the named blocker, run liftoff update --check, and approve the remaining local work. Keep v2 and its preserved history.' } : {})
191
+ ? `Local v3 migration committed; revalidation is ${journal.revalidation.status}: ${journal.revalidation.nextAction}`
192
+ : 'Local v3 migration and its approved local revalidation are complete; preserved v1/v2 history is informational, not live governance proof.',
193
+ ...(blocked ? { remedy: 'Repair the named blocker, run liftoff update --check, and approve the remaining local work. Keep v3 and its preserved history.' } : {})
194
+ });
195
+ }
196
+ for (const obligation of historicalLifecycleObligations) {
197
+ checks.push({
198
+ id: `governance-historical-lifecycle-${obligation.snapshotId}`,
199
+ label: 'historical bootstrap lifecycle', severity: 'warn', state: 'current-binding-required',
200
+ detail: obligation.retention.status === 'disposed'
201
+ ? 'Historical bootstrap material was disposed; migration must not recreate it or its keys.'
202
+ : `Historical bootstrap retention remains due at ${obligation.retention.disposeAfter}; identity migration does not restart its clock.`,
203
+ remedy: 'Use separately authorized lifecycle verification and ownership binding; historical proof alone cannot authorize reuse or deletion.'
192
204
  });
193
205
  }
194
206
  let evidence;
@@ -259,7 +271,9 @@ export async function governanceDoctorChecks(projectRoot, manifest, now = new Da
259
271
  }
260
272
  return checks;
261
273
  }
262
- const contexts = activationEvidenceContexts(canonicalPhaseGraph, state, await readActivationInputSnapshot(projectRoot, manifest), now);
274
+ assertPhaseOutputsBound(state, evidence);
275
+ const sensitivePathExclusions = activationSensitivePathExclusions(state, historicalLifecycleObligations.map((obligation) => obligation.retention));
276
+ const contexts = activationEvidenceContexts(canonicalPhaseGraph, state, await readActivationInputSnapshot(projectRoot, manifest, undefined, { sensitivePathExclusions }), now);
263
277
  const reviewedPlans = await readReviewedTransitionPlans(projectRoot);
264
278
  for (const phase of phaseIds)
265
279
  contexts[phase].reviewedPlans = reviewedPlans;
@@ -300,6 +314,9 @@ export async function governanceDoctorChecks(projectRoot, manifest, now = new Da
300
314
  approvals: [],
301
315
  evidence,
302
316
  transitionContexts: contexts,
317
+ scope: 'local',
318
+ phaseBlockers: historicalLifecyclePhaseBlockers(historicalLifecycleObligations),
319
+ historicalLifecycleBlockers: historicalLifecyclePhaseBlockers(historicalLifecycleObligations)['bootstrap-state-disposed'],
303
320
  now
304
321
  });
305
322
  if (!readiness.identityCompatible) {
@@ -312,6 +329,13 @@ export async function governanceDoctorChecks(projectRoot, manifest, now = new Da
312
329
  remedy: 'Upgrade Liftoff or restore a supported tuple and recognized phase graph hash.'
313
330
  });
314
331
  }
332
+ if (readiness.completion.local) {
333
+ checks.push({
334
+ id: 'governance-local-ready', label: 'local setup', severity: 'ok', state: 'local-ready',
335
+ detail: 'The current local seed validation, application baseline, and workflow-specific finalization are complete.',
336
+ remedy: 'Use liftoff governance plan --scope activation for separately approved publication, cloud, and governance work.'
337
+ });
338
+ }
315
339
  for (const check of [
316
340
  evidenceStaleCheck(state, evidence, contexts),
317
341
  phaseBlockedCheck(state),
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/governance-activation/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/governance-activation/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { PhaseId, TransitionOperation } from '../domain/governance/activation/types.js';
2
+ import type { GovernanceTransitionInspection, PhaseAdapterExecutionInput, PhasePlanningInput } from './transition-ports.js';
3
+ import { GitHubActivationClient } from '../adapters/github/activation-rest.js';
4
+ export declare function clientFor(input: PhasePlanningInput | PhaseAdapterExecutionInput): GitHubActivationClient;
5
+ export declare function phaseConfiguration(inspection: GovernanceTransitionInspection, phaseId: PhaseId, keys: readonly string[]): Record<string, unknown>;
6
+ export declare function repositoryConfiguration(inspection: GovernanceTransitionInspection): {
7
+ name: string;
8
+ defaultBranch: string;
9
+ visibility: 'private' | 'public';
10
+ create: boolean;
11
+ };
12
+ export declare function sourceSha(value: unknown, label?: string): string;
13
+ export declare function digest(value: unknown, label?: string): string;
14
+ export declare function ownedPath(value: unknown, label: string): string;
15
+ export declare function verifiedOutput(inspection: GovernanceTransitionInspection, phase: PhaseId, key: string): string | number | boolean | null;
16
+ export declare function githubOperation(input: PhasePlanningInput, actionId: string, mutationClass: TransitionOperation['mutationClass'], inputs: Record<string, unknown>, destination?: TransitionOperation['destination'], effects?: TransitionOperation['effects']): TransitionOperation;
17
+ export declare function assertGitHubAuthorized(input: PhaseAdapterExecutionInput, operation: TransitionOperation): Promise<void>;
@@ -0,0 +1,88 @@
1
+ import { canonicalSha256 } from '../domain/governance/activation/canonical-json.js';
2
+ import { canonicalApprovalEnvelopeHash } from '../domain/governance/activation/approvals.js';
3
+ import { createGitHubCliTransport, GitHubActivationClient, GitHubActivationError, githubRef, githubRepository, object, text } from '../adapters/github/activation-rest.js';
4
+ import { githubPorts } from './github-ports.js';
5
+ export function clientFor(input) {
6
+ return new GitHubActivationClient(githubPorts(input).transport ?? createGitHubCliTransport(input.runner, input.inspection.projectRoot));
7
+ }
8
+ export function phaseConfiguration(inspection, phaseId, keys) {
9
+ const config = object(inspection.activationInputs?.phases[phaseId] ?? {}, `${phaseId} configuration`);
10
+ if (Object.keys(config).some((key) => !keys.includes(key))) {
11
+ throw new GitHubActivationError('invalid-configuration', `${phaseId} configuration has unknown keys. Only the documented declarative inputs are allowed; commands and guessed targets are forbidden.`);
12
+ }
13
+ return config;
14
+ }
15
+ export function repositoryConfiguration(inspection) {
16
+ const config = inspection.activationInputs?.repository;
17
+ const fallback = inspection.state.remoteBinding?.name ?? inspection.state.repository.name;
18
+ const rawName = config?.name ?? (fallback.includes('/') ? fallback : `owner/${fallback}`);
19
+ const name = githubRepository(rawName);
20
+ const bound = inspection.state.remoteBinding;
21
+ if (bound && bound.name.toLowerCase() !== name.toLowerCase()) {
22
+ throw new GitHubActivationError('repository-drift', 'The configured GitHub repository differs from the verified publication binding. Review repository reconciliation first.');
23
+ }
24
+ if (config?.defaultBranch !== undefined && config.defaultBranch !== 'develop') {
25
+ throw new GitHubActivationError('policy-default-branch', 'The single-maintainer GitFlow policy requires develop as the default branch; reconcile an existing nonconforming default explicitly.');
26
+ }
27
+ return {
28
+ name, defaultBranch: githubRef(config?.defaultBranch ?? 'develop'),
29
+ visibility: config?.visibility ?? 'private', create: config?.create === true
30
+ };
31
+ }
32
+ export function sourceSha(value, label = 'Reviewed source SHA') {
33
+ const sha = text(value, label);
34
+ if (!/^[a-f0-9]{40}$/u.test(sha))
35
+ throw new GitHubActivationError('source-required', `${label} must be an actual full Git commit SHA.`);
36
+ return sha;
37
+ }
38
+ export function digest(value, label = 'Artifact digest') {
39
+ const result = text(value, label);
40
+ if (!/^sha256:[a-f0-9]{64}$/u.test(result))
41
+ throw new GitHubActivationError('digest-required', `${label} must be an immutable sha256 digest.`);
42
+ return result;
43
+ }
44
+ export function ownedPath(value, label) {
45
+ const result = text(value, label);
46
+ if (!/^[A-Za-z0-9_.-]+(?:\/[A-Za-z0-9_.-]+)*$/u.test(result) ||
47
+ result.split('/').some((part) => part === '.' || part === '..' || part === '.git') ||
48
+ result.startsWith('governance/') || /(?:^|\/)(?:\.env|.*\.tfstate)(?:$|\.)/u.test(result)) {
49
+ throw new GitHubActivationError('unsafe-path', `${label} must be an explicitly approved project-relative non-sensitive file path.`);
50
+ }
51
+ return result;
52
+ }
53
+ export function verifiedOutput(inspection, phase, key) {
54
+ const state = inspection.state.phases[phase];
55
+ const output = inspection.state.phaseOutputs?.[phase];
56
+ if (!state || !['verified', 'retained'].includes(state.state) || !output || !(key in output.values)) {
57
+ throw new GitHubActivationError('predecessor-required', `A current verified ${phase} output named ${key} is required; user assertions are not provider proof.`);
58
+ }
59
+ return output.values[key];
60
+ }
61
+ export function githubOperation(input, actionId, mutationClass, inputs, destination, effects) {
62
+ const repository = repositoryConfiguration(input.inspection).name;
63
+ return {
64
+ phaseId: input.phase.id, adapter: 'github', actionId, mutationClass, inputs,
65
+ destination: destination ?? { type: 'repository', identity: repository, repository },
66
+ remote: true, destructive: false, ...(effects?.length ? { effects } : {})
67
+ };
68
+ }
69
+ export async function assertGitHubAuthorized(input, operation) {
70
+ await input.lease?.assertHeld();
71
+ const now = input.clock?.() ?? input.now;
72
+ if (!input.plan.operations.some((planned) => canonicalSha256(planned) === canonicalSha256(operation)) ||
73
+ operation.phaseId !== input.phase.id || input.plan.phaseId !== input.phase.id ||
74
+ input.plan.scope !== 'activation' || Date.parse(input.plan.expiresAt) <= now.getTime()) {
75
+ throw new GitHubActivationError('stale-approval', 'The exact GitHub operation is absent from the reviewed activation plan, has changed, or has expired.');
76
+ }
77
+ if (input.plan.configuration && canonicalSha256(input.plan.configuration) !== canonicalSha256(input.inspection.activationInputs)) {
78
+ throw new GitHubActivationError('stale-configuration', 'Activation configuration changed after review.');
79
+ }
80
+ if (!input.phase.approvalGate.required)
81
+ return;
82
+ const envelope = input.inspection.approvals.find((entry) => entry.id === input.plan.approval.envelopeId);
83
+ if (!envelope || Date.parse(envelope.expiresAt) <= now.getTime() || Date.parse(envelope.approvedAt) > now.getTime() ||
84
+ canonicalApprovalEnvelopeHash(envelope) !== input.plan.approval.envelopeHash) {
85
+ throw new GitHubActivationError('approval-required', 'The phase-specific GitHub approval is missing, changed, or expired immediately before mutation.');
86
+ }
87
+ }
88
+ //# sourceMappingURL=github-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-config.js","sourceRoot":"","sources":["../../src/governance-activation/github-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { GovernanceTransitionInspection, PhaseAdapterExecutionInput, PhaseAdapterOutcome, PhasePlanningInput } from './transition-ports.js';
2
+ import { githubOperation } from './github-config.js';
3
+ interface DiscoveryObservation {
4
+ status: 'observed' | 'unknown';
5
+ values?: unknown;
6
+ prerequisite?: string;
7
+ }
8
+ export declare function classifyGitHubWorkload(inspection: GovernanceTransitionInspection): Promise<Record<string, unknown>>;
9
+ export declare function observeGitHubPhase0(input: PhasePlanningInput | PhaseAdapterExecutionInput): Promise<{
10
+ repository: Record<string, unknown>;
11
+ workload: Record<string, unknown>;
12
+ observations: Record<string, DiscoveryObservation>;
13
+ }>;
14
+ export declare function planGitHubDiscovery(input: PhasePlanningInput): Promise<{
15
+ operations: readonly ReturnType<typeof githubOperation>[];
16
+ }>;
17
+ export declare function executeGitHubDiscovery(input: PhaseAdapterExecutionInput): Promise<PhaseAdapterOutcome>;
18
+ export {};
@@ -0,0 +1,229 @@
1
+ import { parseDocument } from 'yaml';
2
+ import { canonicalSha256 } from '../domain/governance/activation/canonical-json.js';
3
+ import { readProjectFile } from '../adapters/filesystem/project-files.js';
4
+ import { GitHubActivationError, githubRef, object, positiveId, safeGitHubFailure, text } from '../adapters/github/activation-rest.js';
5
+ import { cloneState, readbackProof } from './transition-records.js';
6
+ import { clientFor, githubOperation, repositoryConfiguration, sourceSha } from './github-config.js';
7
+ import { inspectGitRepository, reviewedPushUrl } from './phase-publication.js';
8
+ import { githubRepositoryFromPushUrl } from '../domain/governance/activation/inputs.js';
9
+ export async function classifyGitHubWorkload(inspection) {
10
+ const workload = inspection.manifest.project.workload;
11
+ const stack = workload.apiStack;
12
+ const paths = stack === 'node-fastify' ? ['backend/package.json', 'backend/package-lock.json'] :
13
+ stack === 'python-fastapi' ? ['backend/pyproject.toml', 'backend/uv.lock'] : ['backend/go.mod', 'backend/go.sum'];
14
+ const files = [];
15
+ const missing = [];
16
+ for (const path of paths) {
17
+ const bytes = await readProjectFile(inspection.projectRoot, path.split('/'));
18
+ if (!bytes) {
19
+ missing.push(path);
20
+ continue;
21
+ }
22
+ files.push({ path, digest: canonicalSha256(bytes.toString('base64')) });
23
+ }
24
+ let commands;
25
+ if (stack === 'node-fastify') {
26
+ const bytes = await readProjectFile(inspection.projectRoot, ['backend', 'package.json']);
27
+ const packageJson = bytes ? object(JSON.parse(bytes.toString('utf8')), 'Workload package.json') : {};
28
+ const scripts = object(packageJson.scripts ?? {}, 'Workload scripts');
29
+ for (const id of ['build', 'test'])
30
+ if (typeof scripts[id] !== 'string' || !scripts[id])
31
+ missing.push(`backend/package.json scripts.${id}`);
32
+ commands = { build: ['npm', '--prefix', 'backend', 'run', 'build'], test: ['npm', '--prefix', 'backend', 'test'] };
33
+ }
34
+ else if (stack === 'python-fastapi') {
35
+ commands = { build: ['uv', 'sync', '--frozen', '--project', 'backend'], test: ['uv', 'run', '--project', 'backend', 'pytest'] };
36
+ }
37
+ else if (stack === 'go-huma') {
38
+ commands = { build: ['go', '-C', 'backend', 'build', './...'], test: ['go', '-C', 'backend', 'test', './...'] };
39
+ }
40
+ else
41
+ throw new GitHubActivationError('unsupported-workload', 'Activation supports the recorded node-fastify, python-fastapi, and go-huma container workloads; an unknown workload needs an explicit producer recipe.');
42
+ const dockerfiles = inspection.manifest.projectArtifacts.filter((artifact) => artifact.pathParts.at(-1) === 'Dockerfile' && artifact.pathParts[0] !== 'frontend');
43
+ const containers = [];
44
+ for (const artifact of dockerfiles) {
45
+ const bytes = await readProjectFile(inspection.projectRoot, [...artifact.pathParts]);
46
+ if (bytes)
47
+ containers.push({ path: artifact.pathParts.join('/'), digest: canonicalSha256(bytes.toString('base64')) });
48
+ }
49
+ if (!containers.length)
50
+ missing.push('recorded application Dockerfile');
51
+ return {
52
+ artifactKind: containers.length ? 'container-image' : 'unknown', stack, kind: workload.kind,
53
+ environments: workload.environments, frontend: workload.frontend, files, containers, commands,
54
+ commandsExecutedByDiscovery: false,
55
+ localBaseline: inspection.state.phases['seed-verified'].state === 'verified' ? 'verified-predecessor' : 'not-current',
56
+ healthDepth: 'requires-deployment-probe', missing
57
+ };
58
+ }
59
+ async function observed(probe) {
60
+ try {
61
+ return { status: 'observed', values: await probe() };
62
+ }
63
+ catch (error) {
64
+ return { status: 'unknown', prerequisite: safeGitHubFailure(error) };
65
+ }
66
+ }
67
+ function project(row, fields) {
68
+ return Object.fromEntries(fields.filter((field) => field in row).map((field) => [field, row[field]]));
69
+ }
70
+ async function readWorkflowSource(client, repository, path, ref) {
71
+ if (!/^\.github\/workflows\/[A-Za-z0-9_.-]+\.ya?ml$/u.test(path)) {
72
+ throw new GitHubActivationError('workflow-source', 'A listed workflow has an unsupported source path; source coverage is unknown.');
73
+ }
74
+ const response = await client.get(`/repos/${repository}/contents/${path}?ref=${ref}`);
75
+ if (response.encoding !== 'base64' || typeof response.content !== 'string' || Number(response.size) > 256 * 1024) {
76
+ throw new GitHubActivationError('workflow-source', 'The listed workflow source is unavailable or exceeds the inspection bound.');
77
+ }
78
+ const bytes = Buffer.from(response.content, 'base64');
79
+ const document = parseDocument(bytes.toString('utf8'), { uniqueKeys: true, maxAliasCount: 0 });
80
+ if (document.errors.length)
81
+ throw new GitHubActivationError('workflow-source', 'The listed workflow contains invalid YAML.');
82
+ const source = object(document.toJS({ maxAliasCount: 0 }), 'Workflow');
83
+ const jobs = object(source.jobs, 'Workflow jobs');
84
+ return {
85
+ path, digest: canonicalSha256(bytes.toString('base64')),
86
+ jobs: Object.entries(jobs).map(([id, value]) => ({ id, name: String(object(value).name ?? id).slice(0, 200) }))
87
+ };
88
+ }
89
+ export async function observeGitHubPhase0(input) {
90
+ const config = repositoryConfiguration(input.inspection);
91
+ const client = clientFor(input);
92
+ const repo = await client.get(`/repos/${config.name}`);
93
+ if (repo.full_name !== config.name || input.inspection.state.remoteBinding?.id !== String(repo.id)) {
94
+ throw new GitHubActivationError('phase0-binding', 'Phase 0 repository identity differs from independently verified publication.');
95
+ }
96
+ const workload = await classifyGitHubWorkload(input.inspection);
97
+ const repository = {
98
+ id: positiveId(repo.id), name: config.name, defaultBranch: githubRef(repo.default_branch), private: repo.private,
99
+ owner: project(object(repo.owner), ['login', 'type', 'id']),
100
+ permissions: project(object(repo.permissions ?? {}), ['admin', 'push', 'pull', 'maintain']),
101
+ security: repo.security_and_analysis ? Object.fromEntries(Object.entries(object(repo.security_and_analysis)).map(([key, value]) => [key, project(object(value), ['status'])])) : null
102
+ };
103
+ const branches = [];
104
+ const observations = {};
105
+ observations.branches = await observed(async () => {
106
+ branches.push(...await client.list(`/repos/${config.name}/branches`));
107
+ return branches.map((branch) => ({ name: text(branch.name, 'Branch name'), sha: sourceSha(object(branch.commit).sha), protected: branch.protected }));
108
+ });
109
+ const probes = [
110
+ ['identity', async () => project(await client.get('/user'), ['id', 'login', 'type'])],
111
+ ['workflows', async () => {
112
+ const workflows = await client.list(`/repos/${config.name}/actions/workflows`, 'workflows');
113
+ return Promise.all(workflows.map(async (workflow) => ({
114
+ ...project(workflow, ['id', 'name', 'path', 'state']),
115
+ source: await readWorkflowSource(client, config.name, text(workflow.path, 'Workflow path'), String(repo.default_branch))
116
+ })));
117
+ }],
118
+ ['rulesets', async () => {
119
+ const rulesets = await client.list(`/repos/${config.name}/rulesets?includes_parents=true`);
120
+ const result = [];
121
+ for (const rule of rulesets) {
122
+ const summary = project(rule, ['id', 'name', 'source_type', 'source', 'target', 'enforcement']);
123
+ if (rule.source_type === 'Repository') {
124
+ const payload = await client.get(`/repos/${config.name}/rulesets/${positiveId(rule.id)}`);
125
+ result.push({ ...summary, payload: project(payload, ['bypass_actors', 'conditions', 'rules']) });
126
+ }
127
+ else
128
+ result.push({ ...summary, ownership: 'external-inherited-control-not-modifiable' });
129
+ }
130
+ return result;
131
+ }],
132
+ ['tags', async () => (await client.list(`/repos/${config.name}/tags`)).map((tag) => ({ name: text(tag.name, 'Tag name'), sha: sourceSha(object(tag.commit).sha) }))],
133
+ ['releases', async () => (await client.list(`/repos/${config.name}/releases`)).map((release) => project(release, ['id', 'tag_name', 'target_commitish', 'draft', 'prerelease', 'published_at']))],
134
+ ['environments', async () => {
135
+ const environments = await client.list(`/repos/${config.name}/environments`, 'environments');
136
+ return environments.map((environment) => ({
137
+ ...project(environment, ['id', 'name', 'deployment_branch_policy']),
138
+ protectionRules: Array.isArray(environment.protection_rules) ? environment.protection_rules.map((value) => {
139
+ const rule = object(value);
140
+ return { type: rule.type, reviewers: Array.isArray(rule.reviewers) ? rule.reviewers.length : 0, waitTimer: rule.wait_timer ?? 0 };
141
+ }) : null
142
+ }));
143
+ }],
144
+ ['deployments', async () => (await client.list(`/repos/${config.name}/deployments`)).map((deployment) => project(deployment, ['id', 'sha', 'ref', 'environment', 'transient_environment', 'production_environment', 'created_at']))],
145
+ ['actionsPermissions', async () => ({
146
+ actions: project(await client.get(`/repos/${config.name}/actions/permissions`), ['enabled', 'allowed_actions']),
147
+ token: project(await client.get(`/repos/${config.name}/actions/permissions/workflow`), ['default_workflow_permissions', 'can_approve_pull_request_reviews'])
148
+ })],
149
+ ['codeScanning', async () => {
150
+ const alerts = await client.list(`/repos/${config.name}/code-scanning/alerts?state=open`);
151
+ return { openAlerts: alerts.length, tools: [...new Set(alerts.map((alert) => String(object(alert.tool).name)))] };
152
+ }],
153
+ ['secretProtection', async () => ({
154
+ openAlerts: (await client.list(`/repos/${config.name}/secret-scanning/alerts?state=open`)).length,
155
+ configuration: repository.security
156
+ })],
157
+ ['dependencySecurity', async () => ({ openAlerts: (await client.list(`/repos/${config.name}/dependabot/alerts?state=open`)).length })],
158
+ ['runners', async () => ({
159
+ hosted: (await client.list(`/orgs/${config.name.split('/')[0]}/actions/hosted-runners`, 'runners')).map((runner) => project(runner, ['id', 'name', 'runner_group_id', 'image_details', 'machine_size_details', 'status', 'maximum_runners', 'public_ip_enabled'])),
160
+ groups: (await client.list(`/orgs/${config.name.split('/')[0]}/actions/runner-groups?visible_to_repository=${config.name.split('/')[1]}`, 'runner_groups')).map((group) => project(group, ['id', 'name', 'visibility', 'network_configuration_id', 'restricted_to_workflows', 'selected_workflows', 'inherited', 'allows_public_repositories']))
161
+ })],
162
+ ['networkConfigurations', async () => (await client.list(`/orgs/${config.name.split('/')[0]}/settings/network-configurations`, 'network_configurations')).map((network) => project(network, ['id', 'name', 'compute_service', 'network_settings_ids']))]
163
+ ];
164
+ // Bounded sequential reads avoid rate-limit spikes; each inventory has its own completeness outcome.
165
+ for (const [name, probe] of probes)
166
+ observations[name] = await observed(probe);
167
+ observations.contexts = await observed(async () => {
168
+ if (observations.branches.status !== 'observed')
169
+ throw new GitHubActivationError('branches-unknown', 'Branches are unreadable; required-context coverage cannot be inferred.');
170
+ const result = [];
171
+ for (const branch of branches.filter((branch) => /^(?:develop|main|release\/.+|hotfix\/.+)$/u.test(String(branch.name)))) {
172
+ const sha = sourceSha(object(branch.commit).sha);
173
+ const checks = await client.list(`/repos/${config.name}/commits/${sha}/check-runs?filter=latest`, 'check_runs');
174
+ result.push({
175
+ ref: branch.name, sha, checks: checks.map((check) => ({
176
+ ...project(check, ['id', 'name', 'status', 'conclusion', 'head_sha']),
177
+ appId: positiveId(object(check.app).id), appSlug: object(check.app).slug
178
+ }))
179
+ });
180
+ }
181
+ return result;
182
+ });
183
+ return { repository, workload, observations };
184
+ }
185
+ export async function planGitHubDiscovery(input) {
186
+ let repository;
187
+ try {
188
+ const git = await inspectGitRepository(input.inspection.projectRoot, input.runner);
189
+ repository = githubRepositoryFromPushUrl(reviewedPushUrl(git));
190
+ }
191
+ catch {
192
+ repository = repositoryConfiguration(input.inspection).name;
193
+ }
194
+ return { operations: [githubOperation(input, 'github.phase0.discover', 'github-read', {
195
+ repository, coverage: ['source', 'branches', 'contexts', 'workflows', 'rulesets', 'tags', 'releases', 'environments',
196
+ 'deployments', 'security', 'actions-permissions', 'identity', 'runners', 'network-configurations']
197
+ }, { type: 'repository', identity: repository, repository })] };
198
+ }
199
+ export async function executeGitHubDiscovery(input) {
200
+ const report = await observeGitHubPhase0(input);
201
+ const facts = [
202
+ { id: 'repository.id', value: String(report.repository.id) },
203
+ { id: 'repository.nameWithOwner', value: String(report.repository.name) },
204
+ { id: 'repository.defaultBranch', value: String(report.repository.defaultBranch) },
205
+ { id: 'repository.isPrivate', value: Boolean(report.repository.private) }
206
+ ];
207
+ const state = cloneState(input.inspection.state);
208
+ // Azure/state applicability is deliberately left to its independent producer.
209
+ const resourceId = `/repos/${report.repository.name}`;
210
+ const unknown = Object.entries(report.observations).filter(([, value]) => value.status === 'unknown').map(([name]) => name);
211
+ const missing = report.workload.missing;
212
+ const mandatory = unknown.filter((name) => !['runners', 'networkConfigurations'].includes(name));
213
+ if (mandatory.length || missing.length) {
214
+ return {
215
+ status: 'blocked', completedOperations: input.plan.operations.filter((entry) => entry.actionId === 'github.phase0.discover'),
216
+ blocker: `Phase 0 has incomplete authoritative GitHub coverage: ${[...mandatory, ...missing].join(', ')}. Grant the named read capabilities or prepare the exact missing workload inputs; no unknown was treated as absent.`,
217
+ evidencePayload: { kind: 'phase-0-discovery.v1', facts, github: report }
218
+ };
219
+ }
220
+ return {
221
+ status: 'completed', resultState: 'verified', stateOverride: state,
222
+ completedOperations: input.plan.operations.filter((entry) => entry.actionId === 'github.phase0.discover'),
223
+ evidencePayload: { kind: 'phase-0-discovery.v1', facts, github: report },
224
+ outputs: { values: { repositoryId: Number(report.repository.id), repository: String(report.repository.name), workload: String(report.workload.stack),
225
+ githubCoverageComplete: unknown.length === 0 }, resources: [{ provider: 'github', resourceType: 'repository', resourceId }] },
226
+ liveReadback: [readbackProof(input, 'github', 'repository', resourceId, report)]
227
+ };
228
+ }
229
+ //# sourceMappingURL=github-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github-discovery.js","sourceRoot":"","sources":["../../src/governance-activation/github-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { GitHubActivationTransport } from '../adapters/github/activation-rest.js';
2
+ import type { ProtectedCredentialChannel } from '../adapters/credentials/protected-input.js';
3
+ import type { GitHubSecretWriter } from '../adapters/credentials/github-enrollment.js';
4
+ import type { PhaseAdapterExecutionInput, PhasePlanningInput } from './transition-ports.js';
5
+ export interface GitHubActivationPorts {
6
+ transport?: GitHubActivationTransport;
7
+ protectedCredentialChannel?: ProtectedCredentialChannel;
8
+ credentialTransport?: (credential: Uint8Array) => GitHubActivationTransport;
9
+ secretWriter?: GitHubSecretWriter;
10
+ pollAttempts?: number;
11
+ }
12
+ export declare function githubPorts(input: PhasePlanningInput | PhaseAdapterExecutionInput): GitHubActivationPorts;