@msn-control/liftoff 0.11.1 → 0.11.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/DEVELOPER.md +28 -10
  2. package/README.md +11 -6
  3. package/dist/adapters/filesystem/project-transaction.d.ts +2 -1
  4. package/dist/adapters/filesystem/project-transaction.js +25 -6
  5. package/dist/adapters/filesystem/project-transaction.js.map +1 -1
  6. package/dist/adapters/filesystem/reviewed-update-transaction.d.ts +53 -0
  7. package/dist/adapters/filesystem/reviewed-update-transaction.js +864 -0
  8. package/dist/adapters/filesystem/reviewed-update-transaction.js.map +1 -0
  9. package/dist/adapters/filesystem/update-previews.d.ts +50 -0
  10. package/dist/adapters/filesystem/update-previews.js +613 -0
  11. package/dist/adapters/filesystem/update-previews.js.map +1 -0
  12. package/dist/adapters/process/shell-command.d.ts +1 -0
  13. package/dist/adapters/process/shell-command.js +7 -1
  14. package/dist/adapters/process/shell-command.js.map +1 -1
  15. package/dist/application/context.d.ts +5 -0
  16. package/dist/application/diagnose/doctor.js +9 -15
  17. package/dist/application/diagnose/doctor.js.map +1 -1
  18. package/dist/application/update/approval.d.ts +39 -0
  19. package/dist/application/update/approval.js +54 -0
  20. package/dist/application/update/approval.js.map +1 -0
  21. package/dist/application/update/command-guidance.d.ts +2 -0
  22. package/dist/application/update/command-guidance.js +14 -0
  23. package/dist/application/update/command-guidance.js.map +1 -0
  24. package/dist/application/update/inspection.d.ts +37 -0
  25. package/dist/application/update/inspection.js +235 -0
  26. package/dist/application/update/inspection.js.map +1 -0
  27. package/dist/application/update/migration-runtime.d.ts +14 -0
  28. package/dist/application/update/migration-runtime.js +178 -0
  29. package/dist/application/update/migration-runtime.js.map +1 -0
  30. package/dist/application/update/output.d.ts +134 -0
  31. package/dist/application/update/output.js +182 -0
  32. package/dist/application/update/output.js.map +1 -0
  33. package/dist/application/update/preview.d.ts +49 -0
  34. package/dist/application/update/preview.js +220 -0
  35. package/dist/application/update/preview.js.map +1 -0
  36. package/dist/application/update/protected-source.d.ts +25 -0
  37. package/dist/application/update/protected-source.js +81 -0
  38. package/dist/application/update/protected-source.js.map +1 -0
  39. package/dist/application/update/reporting.d.ts +4 -4
  40. package/dist/application/update/reporting.js +14 -13
  41. package/dist/application/update/reporting.js.map +1 -1
  42. package/dist/application/update/revalidation-plan.d.ts +22 -0
  43. package/dist/application/update/revalidation-plan.js +108 -0
  44. package/dist/application/update/revalidation-plan.js.map +1 -0
  45. package/dist/application/update/revalidation.d.ts +70 -0
  46. package/dist/application/update/revalidation.js +337 -0
  47. package/dist/application/update/revalidation.js.map +1 -0
  48. package/dist/application/update/review-plan.d.ts +25 -0
  49. package/dist/application/update/review-plan.js +89 -0
  50. package/dist/application/update/review-plan.js.map +1 -0
  51. package/dist/application/update/transaction-approval.d.ts +29 -0
  52. package/dist/application/update/transaction-approval.js +82 -0
  53. package/dist/application/update/transaction-approval.js.map +1 -0
  54. package/dist/application/update/use-case.d.ts +1 -0
  55. package/dist/application/update/use-case.js +240 -569
  56. package/dist/application/update/use-case.js.map +1 -1
  57. package/dist/application/update/write-plan.d.ts +15 -0
  58. package/dist/application/update/write-plan.js +115 -0
  59. package/dist/application/update/write-plan.js.map +1 -0
  60. package/dist/cli/args/definitions.js +5 -4
  61. package/dist/cli/args/definitions.js.map +1 -1
  62. package/dist/cli/args/help.js +13 -1
  63. package/dist/cli/args/help.js.map +1 -1
  64. package/dist/cli/args/parser.js +22 -7
  65. package/dist/cli/args/parser.js.map +1 -1
  66. package/dist/cli/commands/update.js +1 -0
  67. package/dist/cli/commands/update.js.map +1 -1
  68. package/dist/domain/governance/policy/identity.d.ts +1 -1
  69. package/dist/domain/governance/policy/identity.js +2 -2
  70. package/dist/domain/governance/policy/identity.js.map +1 -1
  71. package/dist/domain/project/infrastructure-layout.d.ts +1 -1
  72. package/dist/domain/project/infrastructure-layout.js +2 -1
  73. package/dist/domain/project/infrastructure-layout.js.map +1 -1
  74. package/dist/domain/project/reviewed-update-artifacts.d.ts +2 -0
  75. package/dist/domain/project/reviewed-update-artifacts.js +3 -0
  76. package/dist/domain/project/reviewed-update-artifacts.js.map +1 -0
  77. package/dist/generators/common/base.js +5 -1
  78. package/dist/generators/common/base.js.map +1 -1
  79. package/dist/governance-activation/activation-state.js +4 -1
  80. package/dist/governance-activation/activation-state.js.map +1 -1
  81. package/dist/governance-activation/commands.d.ts +5 -0
  82. package/dist/governance-activation/commands.js +65 -3
  83. package/dist/governance-activation/commands.js.map +1 -1
  84. package/dist/governance-activation/compatibility.d.ts +21 -4
  85. package/dist/governance-activation/compatibility.js +47 -8
  86. package/dist/governance-activation/compatibility.js.map +1 -1
  87. package/dist/governance-activation/doctor.js +32 -5
  88. package/dist/governance-activation/doctor.js.map +1 -1
  89. package/dist/governance-activation/historical-state.d.ts +81 -0
  90. package/dist/governance-activation/historical-state.js +817 -0
  91. package/dist/governance-activation/historical-state.js.map +1 -0
  92. package/dist/governance-activation/history-contracts.d.ts +109 -0
  93. package/dist/governance-activation/history-contracts.js +303 -0
  94. package/dist/governance-activation/history-contracts.js.map +1 -0
  95. package/dist/governance-activation/inputs.d.ts +2 -0
  96. package/dist/governance-activation/inputs.js +13 -1
  97. package/dist/governance-activation/inputs.js.map +1 -1
  98. package/dist/governance-activation/migration-history.d.ts +97 -0
  99. package/dist/governance-activation/migration-history.js +388 -0
  100. package/dist/governance-activation/migration-history.js.map +1 -0
  101. package/dist/governance-activation/migration.js +1 -1
  102. package/dist/governance-activation/migration.js.map +1 -1
  103. package/dist/governance-activation/proof-records.d.ts +3 -0
  104. package/dist/governance-activation/proof-records.js +78 -0
  105. package/dist/governance-activation/proof-records.js.map +1 -0
  106. package/dist/governance-activation/read-only.d.ts +4 -4
  107. package/dist/governance-activation/read-only.js +9 -69
  108. package/dist/governance-activation/read-only.js.map +1 -1
  109. package/dist/governance-activation/seed-lifecycle.d.ts +28 -6
  110. package/dist/governance-activation/seed-lifecycle.js +258 -25
  111. package/dist/governance-activation/seed-lifecycle.js.map +1 -1
  112. package/dist/governance-activation/transition-planning.d.ts +2 -0
  113. package/dist/governance-activation/transition-planning.js +12 -3
  114. package/dist/governance-activation/transition-planning.js.map +1 -1
  115. package/dist/governance-activation/transitions.d.ts +8 -2
  116. package/dist/governance-activation/transitions.js +36 -11
  117. package/dist/governance-activation/transitions.js.map +1 -1
  118. package/dist/governance-assessment/engine.js +30 -3
  119. package/dist/governance-assessment/engine.js.map +1 -1
  120. package/dist/governance-assessment/project.d.ts +7 -0
  121. package/dist/governance-assessment/project.js +44 -4
  122. package/dist/governance-assessment/project.js.map +1 -1
  123. package/dist/repository-governance.js +25 -12
  124. package/dist/repository-governance.js.map +1 -1
  125. package/docs/cli-reference.md +101 -28
  126. package/docs/configuration-and-manifests.md +27 -15
  127. package/docs/existing-repositories.md +19 -10
  128. package/docs/repository-governance.md +9 -5
  129. package/docs/safety-and-consent.md +27 -18
  130. package/docs/troubleshooting.md +9 -7
  131. package/docs/workloads.md +5 -4
  132. package/package.json +1 -1
@@ -1,7 +1,8 @@
1
1
  import type { ReconcileEntry } from '../../reconcile.js';
2
2
  import { type ActivationStateMigrationPlan } from '../../governance-activation/migration.js';
3
3
  import type { LiftoffManifest } from '../../domain/project/contracts.js';
4
- interface UpdateSummary {
4
+ import type { UserActivationState } from '../../domain/governance/activation/types.js';
5
+ export interface UpdateSummary {
5
6
  new: number;
6
7
  missing: number;
7
8
  upgrade: number;
@@ -19,7 +20,7 @@ export declare function summarizeEntries(entries: ReconcileEntry[]): UpdateSumma
19
20
  export declare function entryMarker(entry: ReconcileEntry): string;
20
21
  export declare function entryDisplay(entry: ReconcileEntry): string;
21
22
  export declare function isDirtyGitWorktree(projectRoot: string): boolean;
22
- interface ManifestChange {
23
+ export interface ManifestChange {
23
24
  field: string;
24
25
  from: unknown;
25
26
  to: unknown;
@@ -36,7 +37,6 @@ export interface ManagedUpdateReconciliationReport {
36
37
  }
37
38
  export declare function manifestChanges(manifest: LiftoffManifest, plannedManifest: LiftoffManifest): ManifestChange[];
38
39
  export declare function stateMigrationReconciliation(stateMigration: ActivationStateMigrationPlan): ManagedUpdateReconciliationReport;
39
- export declare function activeChangeReconciliationReport(projectRoot: string): Promise<ManagedUpdateReconciliationReport>;
40
+ export declare function activeChangeReconciliationReport(projectRoot: string, suppliedActiveChange?: UserActivationState['activeChange']): Promise<ManagedUpdateReconciliationReport>;
40
41
  export declare function combineReconciliationReports(reports: readonly ManagedUpdateReconciliationReport[]): ManagedUpdateReconciliationReport;
41
42
  export declare function maybeInjectUpdateFailure(env: NodeJS.ProcessEnv | undefined, stage: string): void;
42
- export {};
@@ -185,20 +185,21 @@ function activeChangePathParts(stateKind, changeId) {
185
185
  ? ['openspec', 'changes', changeId]
186
186
  : ['specs', changeId];
187
187
  }
188
- export async function activeChangeReconciliationReport(projectRoot) {
189
- let loaded;
190
- try {
191
- loaded = await loadCurrentActivationState(projectRoot);
192
- }
193
- catch {
194
- return {
195
- status: 'not-required',
196
- changedIdentityFields: [],
197
- phaseImpact: { preservedPhaseIds: [], invalidPhaseIds: [] },
198
- issues: []
199
- };
188
+ export async function activeChangeReconciliationReport(projectRoot, suppliedActiveChange) {
189
+ let activeChange = suppliedActiveChange;
190
+ if (activeChange === undefined) {
191
+ try {
192
+ activeChange = (await loadCurrentActivationState(projectRoot))?.state.activeChange;
193
+ }
194
+ catch {
195
+ return {
196
+ status: 'not-required',
197
+ changedIdentityFields: [],
198
+ phaseImpact: { preservedPhaseIds: [], invalidPhaseIds: [] },
199
+ issues: []
200
+ };
201
+ }
200
202
  }
201
- const activeChange = loaded?.state.activeChange;
202
203
  if (!activeChange) {
203
204
  return {
204
205
  status: 'not-required',
@@ -1 +1 @@
1
- {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/application/update/reporting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reporting.js","sourceRoot":"","sources":["../../../src/application/update/reporting.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { type ActivationInputSnapshot } from '../../governance-activation/inputs.js';
2
+ import type { CommandRunner } from '../../process-runner.js';
3
+ import type { ExternalCommand } from '../../domain/project/contracts.js';
4
+ import type { RunCommandOptions } from '../../process-runner.js';
5
+ import { type RetainedProjectInput } from './protected-source.js';
6
+ import { type UpdateInspection } from './inspection.js';
7
+ import { type LocalRevalidationPreview } from './revalidation.js';
8
+ import type { UpdateWritePlan } from './write-plan.js';
9
+ export interface PreparedUpdateRevalidation {
10
+ preview: LocalRevalidationPreview;
11
+ expectedInputSnapshot: ActivationInputSnapshot;
12
+ expectedRetainedSource: RetainedProjectInput[];
13
+ }
14
+ export declare function prepareUpdateRevalidation(inspection: UpdateInspection, writePlan: UpdateWritePlan, options?: {
15
+ runner?: CommandRunner;
16
+ now?: Date;
17
+ }): Promise<PreparedUpdateRevalidation | undefined>;
18
+ export declare function postUpdateProtectedInputs(inspection: UpdateInspection, writePlan: UpdateWritePlan, prepared: PreparedUpdateRevalidation, runner?: CommandRunner): {
19
+ binding: string;
20
+ assertUnchanged: () => Promise<readonly RetainedProjectInput[]>;
21
+ afterCommand: (command: ExternalCommand, options?: RunCommandOptions) => Promise<readonly RetainedProjectInput[]>;
22
+ };
@@ -0,0 +1,108 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { canonicalSha256 } from '../../domain/governance/activation/canonical-json.js';
3
+ import { activationBaselineDigest, activationInputPathIsObserved, activationInputTextDigest, readActivationInputSnapshot } from '../../governance-activation/inputs.js';
4
+ import { inspectGovernanceTransition } from '../../governance-activation/commands.js';
5
+ import { reviewedUpdateTargetMode } from '../../adapters/filesystem/reviewed-update-transaction.js';
6
+ import { activationHistoryIndexPathParts } from '../../governance-activation/history-contracts.js';
7
+ import { acceptDeclaredCommandOutputs, captureRetainedProjectInputs, changedRetainedProjectInputs, isRetainedProjectInput, outputsForLocalCommand } from './protected-source.js';
8
+ import { UpdatePlanError } from './inspection.js';
9
+ import { previewLocalRevalidation } from './revalidation.js';
10
+ import { formatUpdateCommand } from './command-guidance.js';
11
+ function rawDigest(content) {
12
+ return createHash('sha256').update(content).digest('hex');
13
+ }
14
+ function expectedInputSnapshot(source, plan) {
15
+ const files = new Map(source.files.map((file) => [file.path, file.digest]));
16
+ for (const mutation of plan.mutations) {
17
+ if (!activationInputPathIsObserved(mutation.pathParts))
18
+ continue;
19
+ const name = mutation.pathParts.join('/');
20
+ if (mutation.type === 'delete')
21
+ files.delete(name);
22
+ else
23
+ files.set(name, activationInputTextDigest(typeof mutation.content === 'string' ? mutation.content : mutation.content.toString('utf8')));
24
+ }
25
+ const project = {
26
+ project: plan.nextManifest.project,
27
+ framework: plan.nextManifest.framework,
28
+ governance: plan.nextManifest.governance.profile
29
+ };
30
+ const inventory = [...files].sort(([left], [right]) => left.localeCompare(right, 'en'))
31
+ .map(([filePath, digest]) => ({ path: filePath, digest }));
32
+ return {
33
+ ...source,
34
+ project,
35
+ files: inventory,
36
+ baselineSha: activationBaselineDigest(project, inventory)
37
+ };
38
+ }
39
+ export async function prepareUpdateRevalidation(inspection, writePlan, options = {}) {
40
+ if (!inspection.revalidationSource)
41
+ return undefined;
42
+ const expected = expectedInputSnapshot(inspection.revalidationSource, writePlan);
43
+ const retained = new Map((inspection.retainedSource ?? []).map((entry) => [entry.pathParts.join('/'), entry]));
44
+ for (const mutation of writePlan.mutations) {
45
+ if (!isRetainedProjectInput(mutation.pathParts))
46
+ continue;
47
+ const key = mutation.pathParts.join('/');
48
+ if (mutation.type === 'delete')
49
+ retained.delete(key);
50
+ else
51
+ retained.set(key, {
52
+ pathParts: [...mutation.pathParts], digest: rawDigest(mutation.content),
53
+ mode: reviewedUpdateTargetMode(mutation.mode, retained.get(key)?.mode)
54
+ });
55
+ }
56
+ if (inspection.historyMigration.status === 'eligible') {
57
+ const history = inspection.historyMigration;
58
+ for (const file of history.index.files) {
59
+ retained.set(file.copyPathParts.join('/'), {
60
+ pathParts: [...file.copyPathParts], digest: file.digest,
61
+ mode: reviewedUpdateTargetMode(history.semanticPlan.targetModes.historyCopy)
62
+ });
63
+ }
64
+ const indexPath = activationHistoryIndexPathParts(history.index.snapshotId);
65
+ retained.set(indexPath.join('/'), {
66
+ pathParts: indexPath, digest: history.indexDigest,
67
+ mode: reviewedUpdateTargetMode(history.semanticPlan.targetModes.historyIndex)
68
+ });
69
+ for (const retirement of history.requiredRetirements)
70
+ retained.delete(retirement.pathParts.join('/'));
71
+ }
72
+ const expectedRetainedSource = [...retained.values()].sort((a, b) => a.pathParts.join('/').localeCompare(b.pathParts.join('/'), 'en'));
73
+ const currentInspection = inspection.historyMigration.status === 'current' &&
74
+ inspection.historyMigration.history.status === 'committed' &&
75
+ writePlan.mutations.length === 0 && writePlan.skipped.length === 0
76
+ ? await inspectGovernanceTransition(inspection.projectRoot, options)
77
+ : undefined;
78
+ const preview = await previewLocalRevalidation({
79
+ projectRoot: inspection.projectRoot,
80
+ targetManifest: writePlan.nextManifest,
81
+ protectedInputBinding: canonicalSha256({ activation: expected, retained: expectedRetainedSource }),
82
+ inspection: currentInspection
83
+ });
84
+ return { preview, expectedInputSnapshot: expected, expectedRetainedSource };
85
+ }
86
+ export function postUpdateProtectedInputs(inspection, writePlan, prepared, runner) {
87
+ let retained = prepared.expectedRetainedSource;
88
+ return {
89
+ binding: prepared.preview.protectedInputBinding,
90
+ assertUnchanged: async () => {
91
+ const actual = await readActivationInputSnapshot(inspection.projectRoot, writePlan.nextManifest, runner);
92
+ if (canonicalSha256(actual) !== canonicalSha256(prepared.expectedInputSnapshot)) {
93
+ throw new UpdatePlanError('Protected application inputs changed after the reviewed update.', 'revalidation-inputs-changed', `Preserve the edits and run ${formatUpdateCommand(inspection.projectRoot, 'check')} again.`);
94
+ }
95
+ const observed = await captureRetainedProjectInputs(inspection.projectRoot);
96
+ const changed = changedRetainedProjectInputs(retained, observed);
97
+ if (changed.length) {
98
+ throw new UpdatePlanError(`Protected project scripts or sources changed after review: ${changed.join(', ')}`, 'revalidation-inputs-changed', `Preserve the edits and run ${formatUpdateCommand(inspection.projectRoot, 'check')} again.`);
99
+ }
100
+ return observed;
101
+ },
102
+ afterCommand: async (command, options) => {
103
+ retained = acceptDeclaredCommandOutputs(retained, await captureRetainedProjectInputs(inspection.projectRoot), outputsForLocalCommand(inspection.projectRoot, command, options));
104
+ return retained;
105
+ }
106
+ };
107
+ }
108
+ //# sourceMappingURL=revalidation-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revalidation-plan.js","sourceRoot":"","sources":["../../../src/application/update/revalidation-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ import type { ActivationIdentity, PhaseId } from '../../domain/governance/activation/types.js';
2
+ import type { LiftoffManifest } from '../../domain/project/contracts.js';
3
+ import { type LocalSeedCommand, type LocalSeedPhaseId, type LocalSeedPhasePreview } from '../../governance-activation/seed-lifecycle.js';
4
+ import { type ApplyNextExecutionResult, type GovernanceTransitionInspection } from '../../governance-activation/transitions.js';
5
+ import { type CommandRunner, type RunCommandOptions } from '../../process-runner.js';
6
+ import { localValidationOutputPolicy, type RetainedProjectInput } from './protected-source.js';
7
+ export interface LocalRevalidationPhaseResult {
8
+ phaseId: LocalSeedPhaseId;
9
+ status: 'verified' | 'already-complete' | 'blocked';
10
+ blockers: readonly string[];
11
+ evidence: ApplyNextExecutionResult['evidence'];
12
+ savedPlan: ApplyNextExecutionResult['savedPlan'];
13
+ }
14
+ export interface LocalRevalidationProgress {
15
+ status: 'running' | 'blocked' | 'complete';
16
+ phaseId: LocalSeedPhaseId | null;
17
+ phaseResults: readonly LocalRevalidationPhaseResult[];
18
+ nextIncompletePhase: PhaseId | null;
19
+ blockers: readonly string[];
20
+ }
21
+ export interface LocalRevalidationResult extends Omit<LocalRevalidationProgress, 'status'> {
22
+ status: 'blocked' | 'complete';
23
+ nextAction: string;
24
+ }
25
+ export interface LocalRevalidationPreview {
26
+ schemaVersion: 1;
27
+ scope: 'local-seed-revalidation';
28
+ projectRoot: string;
29
+ targetIdentity: ActivationIdentity;
30
+ targetManifestDigest: string;
31
+ protectedInputBinding: string;
32
+ phases: readonly LocalSeedPhasePreview[];
33
+ reusedPhases: readonly {
34
+ phaseId: LocalSeedPhaseId;
35
+ evidenceId: string;
36
+ headerDigest: string;
37
+ }[];
38
+ inspectionCommands: readonly LocalSeedCommand[];
39
+ recordWrites: {
40
+ plans: 'governance/plans/<phase>-<fresh-timestamp>-<plan-digest>.json';
41
+ evidence: 'governance/evidence/<phase>-<fresh-timestamp>.json';
42
+ state: 'governance/activation-state.json';
43
+ limit: 'At most one new plan and evidence record per listed phase; existing records are never replaced.';
44
+ };
45
+ commandLimits: {
46
+ timeoutMs: number;
47
+ maxOutputBytes: number;
48
+ };
49
+ outputPolicy: typeof localValidationOutputPolicy;
50
+ effects: readonly string[];
51
+ boundary: 'Stop before Git publication, provider reads, credentials, or independently approved governance transitions.';
52
+ fingerprint: string;
53
+ }
54
+ export declare function previewLocalRevalidation(input: {
55
+ projectRoot: string;
56
+ targetManifest: LiftoffManifest;
57
+ protectedInputBinding: string;
58
+ inspection?: GovernanceTransitionInspection;
59
+ }): Promise<LocalRevalidationPreview>;
60
+ export declare function executeLocalRevalidation(input: {
61
+ approvedPreview: LocalRevalidationPreview;
62
+ protectedInputs: {
63
+ binding: string;
64
+ assertUnchanged: () => void | readonly RetainedProjectInput[] | Promise<void | readonly RetainedProjectInput[]>;
65
+ afterCommand?: (command: LocalSeedCommand['command'], options?: RunCommandOptions) => void | readonly RetainedProjectInput[] | Promise<void | readonly RetainedProjectInput[]>;
66
+ };
67
+ runner?: CommandRunner;
68
+ clock?: () => Date;
69
+ onProgress?: (progress: LocalRevalidationProgress) => void | Promise<void>;
70
+ }): Promise<LocalRevalidationResult>;