@msn-control/liftoff 0.6.2 → 0.7.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.
package/README.md CHANGED
@@ -25,8 +25,13 @@ it writes. After initialization:
25
25
  ```bash
26
26
  liftoff validate
27
27
  liftoff doctor
28
+ liftoff update --check
28
29
  ```
29
30
 
31
+ Plain `liftoff update` applies safe managed changes immediately and skips
32
+ conflicts. Use `liftoff update --check --json` for a read-only CI drift gate,
33
+ and review every reported path before choosing `liftoff update --force`.
34
+
30
35
  ![Liftoff terminal showing interactive workload, workflow, multi-agent, readiness, and safe completion steps](docs/assets/liftoff-terminal.svg)
31
36
 
32
37
  ## One flow, three workloads
package/dist/args.js CHANGED
@@ -94,7 +94,7 @@ export const commandDefinitions = {
94
94
  group: 'Maintenance',
95
95
  flags: {
96
96
  project: valueFlag('Project path', 'Project', 'path'),
97
- apply: booleanFlag('Apply the proposed reconciliation', 'Consent'),
97
+ check: booleanFlag('Report drift without changing project files', 'Command'),
98
98
  force: booleanFlag('Replace modified managed files', 'Consent'),
99
99
  json: booleanFlag('Emit machine-readable JSON', 'Output'),
100
100
  ...helpFlag
@@ -222,6 +222,15 @@ export function parseArgs(argv) {
222
222
  const name = negated ? rawName.slice(3) : rawName;
223
223
  const flagDefinition = definition.flags[name];
224
224
  if (!flagDefinition) {
225
+ if (command === 'update' && name === 'apply') {
226
+ const legacyForceRequested = flags.force === true ||
227
+ tokens.slice(index + 1).some((candidate) => candidate === '--force' || candidate === '--force=true');
228
+ throw new UsageError(legacyForceRequested
229
+ ? 'Flag --apply was removed. Replace this command with `liftoff update --force`, ' +
230
+ 'or use `liftoff update --check` for a read-only drift check.'
231
+ : 'Flag --apply was removed. Run `liftoff update` to apply safe changes or ' +
232
+ '`liftoff update --check` for a read-only drift check.');
233
+ }
225
234
  throw new UsageError(`Unknown flag for ${command}: --${rawName}.`);
226
235
  }
227
236
  if (negated) {
@@ -249,6 +258,10 @@ export function parseArgs(argv) {
249
258
  assignFlag(flags, name, next);
250
259
  index += 1;
251
260
  }
261
+ if (command === 'update' && flags.check === true && flags.force === true) {
262
+ throw new UsageError('Flags --check and --force cannot be combined. Run `liftoff update --check` ' +
263
+ 'to inspect drift or `liftoff update --force` to overwrite conflicts.');
264
+ }
252
265
  const maxPositionals = subcommand
253
266
  ? definition.subcommandMaxPositionals?.[subcommand] ?? 0
254
267
  : definition.defaultMaxPositionals;
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
package/dist/commands.js CHANGED
@@ -9,8 +9,8 @@ import { getCodingAgent, getFrameworkDefinition, getSpecWorkflow, listRegions, p
9
9
  import { probeCodeAppsPlugin } from './code-apps-plugin.js';
10
10
  import { initializeFramework } from './framework-adapters.js';
11
11
  import { validateFrameworkInstallation } from './framework-validation.js';
12
- import { artifactPath, applyProjectFileTransaction, assertNewOrEmptyDirectory, captureProjectFileSnapshot, findProjectRoot, loadManifest, manifestDisplayPath, resolveProjectPath, validateGeneratedProject, writeArtifacts, writeProjectFile } from './file-system.js';
13
- import { InteractiveCancelledError, InteractivePrompter, isInteractiveTerminal } from './interactive.js';
12
+ import { artifactPath, applyProjectFileTransaction, assertNewOrEmptyDirectory, captureProjectFileSnapshot, findProjectRoot, loadManifest, manifestHadFilteredLegacySeedOwnership, manifestDisplayPath, resolveProjectPath, validateGeneratedProject, writeArtifacts, writeProjectFile } from './file-system.js';
13
+ import { InteractiveCancelledError, InteractivePrompter } from './interactive.js';
14
14
  import { applyMergePreflight, assertSafeInitTarget, authorizeMergePreflight, buildMergePreflight, captureTreeState, discoverGitRoot, resolveInitTargetFromDiscovery, validateStagedTree, withStagingArea, writeStagedArtifacts } from './init-filesystem.js';
15
15
  import { renderMigrationChecklist, renderMigrationProposal, renderMigrationTasks, seedMigrationGroups } from './migrate-plan.js';
16
16
  import { buildProjectPlan, loadConfigOptions, mergeOptions, PlanValidationError, projectPlanEntries } from './planner.js';
@@ -21,7 +21,6 @@ import { hasDrift, reconcileProject } from './reconcile.js';
21
21
  import { compareSemver } from './semver.js';
22
22
  import { buildArtifacts, buildManifest, partitionGeneratedArtifacts } from './templates.js';
23
23
  import { PresentationSession } from './terminal.js';
24
- import { buildUpdateImpact } from './update-impact.js';
25
24
  import { liftoffVersion } from './version.js';
26
25
  import { blockingReadinessFailures, detectHostEnvironment, installRequirement, probeWorkstation, selectLiftoffRuntimeRequirements, selectWorkstationRequirements } from './workstation.js';
27
26
  export async function runCommand(parsed, context) {
@@ -376,7 +375,7 @@ async function handleProjectDependencies(plan, projectRoot, options, probes, con
376
375
  if (plan.workload === 'power-apps-code-app') {
377
376
  const issues = await verifyPowerAppsPackageMetadata(projectRoot);
378
377
  if (issues.length > 0) {
379
- presentation.error('Power Apps dependency installation blocked', `${issues.join(' ')} Restore package.json and package-lock.json or run \`liftoff update --apply\`.`);
378
+ presentation.error('Power Apps dependency installation blocked', `${issues.join(' ')} Restore package.json and package-lock.json or run \`liftoff update\`.`);
380
379
  return { success: false, deferred: [] };
381
380
  }
382
381
  }
@@ -809,71 +808,54 @@ async function preflightUpdate(projectRoot, entries, force) {
809
808
  function updateSnapshotKey(pathParts) {
810
809
  return pathParts.join('\0');
811
810
  }
812
- function reconciliationSignature(entries) {
813
- return JSON.stringify(entries.map((entry) => ({
814
- logicalName: entry.logicalName,
815
- status: entry.status,
816
- pathParts: entry.pathParts,
817
- previousPathParts: entry.previousPathParts,
818
- reason: entry.reason,
819
- cleanMove: entry.cleanMove,
820
- sourceModified: entry.sourceModified,
821
- destinationOccupied: entry.destinationOccupied,
822
- refreshHash: entry.refreshHash,
823
- destinationMatches: entry.destinationMatches
824
- })));
825
- }
826
- async function captureInteractiveUpdateSnapshots(projectRoot, entries, inputSnapshots) {
827
- const snapshots = new Map(inputSnapshots.map((snapshot) => [updateSnapshotKey(snapshot.pathParts), snapshot]));
828
- for (const entry of entries) {
829
- const actionable = entry.status !== 'orphan' &&
830
- (entry.status !== 'unchanged' || entry.refreshHash === true);
831
- if (!actionable) {
832
- continue;
833
- }
834
- for (const pathParts of [entry.pathParts, entry.previousPathParts]) {
835
- if (!pathParts) {
836
- continue;
837
- }
838
- const key = updateSnapshotKey(pathParts);
839
- if (!snapshots.has(key)) {
840
- snapshots.set(key, await captureProjectFileSnapshot(projectRoot, pathParts));
841
- }
811
+ async function captureUpdateSnapshots(projectRoot, manifest, render, initialSnapshots) {
812
+ const snapshots = new Map(initialSnapshots.map((snapshot) => [updateSnapshotKey(snapshot.pathParts), snapshot]));
813
+ const seenKeys = new Set(snapshots.keys());
814
+ const candidates = [
815
+ ...manifest.artifacts.map((artifact) => artifact.pathParts),
816
+ ...render
817
+ .filter((artifact) => artifact.category !== 'seed' && artifact.category !== 'framework')
818
+ .map((artifact) => artifact.pathParts)
819
+ ];
820
+ const uncaptured = [];
821
+ for (const pathParts of candidates) {
822
+ const key = updateSnapshotKey(pathParts);
823
+ if (!seenKeys.has(key)) {
824
+ seenKeys.add(key);
825
+ uncaptured.push(pathParts);
842
826
  }
843
827
  }
844
- return snapshots;
828
+ for (const snapshot of await Promise.all(uncaptured.map((pathParts) => captureProjectFileSnapshot(projectRoot, pathParts)))) {
829
+ snapshots.set(updateSnapshotKey(snapshot.pathParts), snapshot);
830
+ }
831
+ return [...snapshots.values()];
845
832
  }
846
- function authorizedInteractiveSnapshotKeys(entries, force) {
847
- const keys = new Set([
833
+ function selectUpdatePreconditions(snapshots, entries, mutations) {
834
+ const requiredKeys = new Set([
848
835
  updateSnapshotKey(['liftoff.config.json']),
849
- updateSnapshotKey(['liftoff.manifest.json'])
836
+ ...mutations.map((mutation) => updateSnapshotKey(mutation.pathParts))
850
837
  ]);
851
838
  for (const entry of entries) {
852
- const authorized = entry.status === 'new' ||
853
- entry.status === 'missing' ||
854
- entry.status === 'upgrade' ||
855
- entry.status === 'unchanged' && entry.refreshHash === true ||
856
- entry.status === 'moved' && (entry.cleanMove === true || force) ||
857
- entry.status === 'conflict' && force;
858
- if (!authorized) {
839
+ const adoptsExistingDestination = entry.status === 'moved' && entry.destinationMatches === true;
840
+ if (!(entry.status === 'unchanged' && entry.refreshHash) &&
841
+ !adoptsExistingDestination) {
859
842
  continue;
860
843
  }
861
- keys.add(updateSnapshotKey(entry.pathParts));
844
+ requiredKeys.add(updateSnapshotKey(entry.pathParts));
862
845
  if (entry.previousPathParts) {
863
- keys.add(updateSnapshotKey(entry.previousPathParts));
846
+ requiredKeys.add(updateSnapshotKey(entry.previousPathParts));
864
847
  }
865
848
  }
866
- return keys;
849
+ return snapshots.filter((snapshot) => requiredKeys.has(updateSnapshotKey(snapshot.pathParts)));
867
850
  }
868
851
  async function updateCommand(parsed, context) {
869
852
  const { presentation } = context;
870
- let apply = readBooleanFlag(parsed.flags, 'apply') ?? false;
871
- let force = readBooleanFlag(parsed.flags, 'force') ?? false;
853
+ const check = readBooleanFlag(parsed.flags, 'check') ?? false;
854
+ const force = readBooleanFlag(parsed.flags, 'force') ?? false;
872
855
  const jsonMode = readBooleanFlag(parsed.flags, 'json') ?? false;
873
- let dirtyWorktreeWarningShown = false;
874
856
  presentation.commandIdentity('update', 'Reconcile the project with current Liftoff templates');
875
- if (force && !apply) {
876
- presentation.error('--force requires --apply.', 'Run `liftoff update --apply --force` only after reviewing the reported conflicts.');
857
+ if (force && check) {
858
+ presentation.error('--force cannot be combined with --check.', 'Run `liftoff update --check` to inspect drift or `liftoff update --force` to overwrite conflicts.');
877
859
  return 1;
878
860
  }
879
861
  const explicit = parsed.positional[0] ?? readStringFlag(parsed.flags, 'project');
@@ -882,15 +864,12 @@ async function updateCommand(parsed, context) {
882
864
  presentation.error(`No liftoff.manifest.json found in ${context.cwd} or any parent directory.`, 'Run this command inside a Liftoff project or provide its path explicitly.');
883
865
  return 1;
884
866
  }
885
- const interactiveReview = !apply &&
886
- !jsonMode &&
887
- isInteractiveTerminal(context.stdin, context.stdout);
888
- const interactiveInputSnapshots = interactiveReview
889
- ? await Promise.all([
867
+ const initialUpdateSnapshots = check
868
+ ? []
869
+ : await Promise.all([
890
870
  captureProjectFileSnapshot(projectRoot, ['liftoff.manifest.json']),
891
871
  captureProjectFileSnapshot(projectRoot, ['liftoff.config.json'])
892
- ])
893
- : [];
872
+ ]);
894
873
  const manifest = await loadManifest(projectRoot);
895
874
  if (compareSemver(manifest.liftoffVersion, liftoffVersion) > 0) {
896
875
  presentation.error(`This project was written by Liftoff ${manifest.liftoffVersion}, which is newer than this CLI (${liftoffVersion}).`, 'Upgrade the CLI first.');
@@ -940,13 +919,51 @@ async function updateCommand(parsed, context) {
940
919
  return 1;
941
920
  }
942
921
  const render = buildArtifacts(plan);
922
+ const updateSnapshots = check
923
+ ? []
924
+ : await captureUpdateSnapshots(projectRoot, manifest, render, initialUpdateSnapshots);
943
925
  const entries = await reconcileProject(manifest, render, projectRoot);
944
926
  const summary = summarizeEntries(entries);
945
- const drift = hasDrift(entries);
927
+ const manifestUpgradePending = manifest.artifactVersion !== 4;
928
+ const nonDurableNames = new Set(render
929
+ .filter((artifact) => artifact.category === 'seed' || artifact.category === 'framework')
930
+ .map((artifact) => artifact.logicalName));
931
+ const manifestOwnershipCleanupPending = manifest.artifacts.some((artifact) => nonDurableNames.has(artifact.logicalName)) || manifestHadFilteredLegacySeedOwnership(manifest);
932
+ const manifestRewritePending = manifestUpgradePending || manifestOwnershipCleanupPending;
933
+ const drift = hasDrift(entries) || manifestRewritePending;
946
934
  const visible = entries.filter((entry) => entry.status !== 'unchanged' || entry.refreshHash);
947
- const impact = buildUpdateImpact(entries);
948
- let interactiveSnapshots;
949
- if (!apply) {
935
+ if (!drift) {
936
+ if (jsonMode) {
937
+ presentation.rawStdout(`${JSON.stringify(check ? {
938
+ schemaVersion: 1,
939
+ mode: 'check',
940
+ cliVersion: liftoffVersion,
941
+ projectVersion: manifest.liftoffVersion,
942
+ entries: [],
943
+ manifestUpgradePending,
944
+ manifestOwnershipCleanupPending,
945
+ summary
946
+ } : {
947
+ schemaVersion: 1,
948
+ mode: 'apply',
949
+ cliVersion: liftoffVersion,
950
+ projectVersion: manifest.liftoffVersion,
951
+ written: [],
952
+ skipped: [],
953
+ manifestUpgradePending,
954
+ manifestOwnershipCleanupPending,
955
+ summary
956
+ }, null, 2)}\n`);
957
+ return 0;
958
+ }
959
+ presentation.definitions('Project versions', [
960
+ { label: 'Liftoff CLI', value: liftoffVersion },
961
+ { label: 'Project generated by', value: manifest.liftoffVersion }
962
+ ]);
963
+ presentation.status('success', 'No drift', `${summary.unchanged} artifacts match the current templates and configuration`);
964
+ return 0;
965
+ }
966
+ if (check) {
950
967
  if (jsonMode) {
951
968
  presentation.rawStdout(`${JSON.stringify({
952
969
  schemaVersion: 1,
@@ -960,80 +977,56 @@ async function updateCommand(parsed, context) {
960
977
  previousPath: entry.previousPathParts ? manifestDisplayPath(entry.previousPathParts) : undefined,
961
978
  reason: entry.reason
962
979
  })),
980
+ manifestUpgradePending,
981
+ manifestOwnershipCleanupPending,
963
982
  summary
964
983
  }, null, 2)}\n`);
965
- return drift ? 2 : 0;
984
+ return 2;
966
985
  }
967
986
  presentation.definitions('Project versions', [
968
987
  { label: 'Liftoff CLI', value: liftoffVersion },
969
988
  { label: 'Project generated by', value: manifest.liftoffVersion }
970
989
  ]);
971
- if (!drift) {
972
- presentation.status('success', 'No drift', `${summary.unchanged} artifacts match the current templates and configuration`);
973
- return 0;
974
- }
975
- if (presentation.stdout.layout === 'plain') {
976
- presentation.section('Template drift', visible.map((entry) => `${entryMarker(entry)} ${entryDisplay(entry)} ${entry.reason}`));
977
- }
978
- else {
979
- presentation.table('Template drift', ['Change', 'Artifact', 'Reason'], visible.map((entry) => [entryMarker(entry), entryDisplay(entry), entry.reason]));
980
- }
981
- const toWrite = summary.new + summary.missing + summary.upgrade + summary.moved + summary.refresh;
982
- presentation.status('warning', 'Drift detected', `${toWrite} to write, ${summary.conflict} conflict(s), ${summary.orphan} orphan(s), ${summary.unchanged} unchanged`);
983
- if (!impact.hasActionableChanges ||
984
- !interactiveReview) {
985
- if (impact.hasActionableChanges) {
986
- presentation.command('liftoff update --apply');
990
+ if (visible.length > 0) {
991
+ if (presentation.stdout.layout === 'plain') {
992
+ presentation.section('Template drift', visible.map((entry) => `${entryMarker(entry)} ${entryDisplay(entry)} ${entry.reason}`));
987
993
  }
988
- return 2;
989
- }
990
- if (isDirtyGitWorktree(projectRoot)) {
991
- presentation.warning('The project worktree has uncommitted changes; commit or back up local work before accepting an update.');
992
- dirtyWorktreeWarningShown = true;
993
- }
994
- interactiveSnapshots = await captureInteractiveUpdateSnapshots(projectRoot, entries, interactiveInputSnapshots);
995
- const reviewedEntries = await reconcileProject(manifest, render, projectRoot);
996
- if (reconciliationSignature(reviewedEntries) !== reconciliationSignature(entries)) {
997
- presentation.error('The project changed while Liftoff prepared the update.', 'Run `liftoff update` again to review the current state.');
998
- return 1;
999
- }
1000
- const prompter = new InteractivePrompter({
1001
- input: context.stdin,
1002
- output: context.stdout,
1003
- presentation,
1004
- cwd: projectRoot
1005
- });
1006
- try {
1007
- prompter.presentUpdateImpact(impact);
1008
- if (impact.hasSafeActions) {
1009
- const safeAccepted = await prompter.confirmSafeUpdate(impact.safeActionCount);
1010
- if (!safeAccepted) {
1011
- presentation.cancellation('Update declined; no project files were changed.');
1012
- return 2;
1013
- }
1014
- }
1015
- if (impact.conflicts.length > 0) {
1016
- force = await prompter.confirmConflictOverwrite(impact.conflicts, impact.managedPathsRemovedOnOverwrite);
1017
- if (!impact.hasSafeActions && !force) {
1018
- presentation.cancellation('Update declined; no project files were changed.');
1019
- return 2;
1020
- }
994
+ else {
995
+ presentation.table('Template drift', ['Change', 'Artifact', 'Reason'], visible.map((entry) => [entryMarker(entry), entryDisplay(entry), entry.reason]));
1021
996
  }
1022
- apply = true;
1023
997
  }
1024
- catch (error) {
1025
- if (error instanceof InteractiveCancelledError) {
1026
- presentation.cancellation('Update stopped before authorization; no project files were changed.');
1027
- return 0;
1028
- }
1029
- throw error;
998
+ const manifestMaintenance = [
999
+ manifestUpgradePending ? 'upgrade liftoff.manifest.json to schema v4' : undefined,
1000
+ manifestOwnershipCleanupPending
1001
+ ? 'remove obsolete seed or framework entries from durable manifest ownership'
1002
+ : undefined
1003
+ ].filter((item) => item !== undefined);
1004
+ if (manifestMaintenance.length > 0) {
1005
+ presentation.bullets('Manifest maintenance', manifestMaintenance);
1006
+ }
1007
+ const toWrite = summary.new +
1008
+ summary.missing +
1009
+ summary.upgrade +
1010
+ summary.moved +
1011
+ summary.refresh +
1012
+ (manifestRewritePending ? 1 : 0);
1013
+ presentation.status('warning', 'Drift detected', `${toWrite} to write, ${summary.conflict} conflict(s), ${summary.orphan} orphan(s), ${summary.unchanged} unchanged`);
1014
+ if (toWrite > 0) {
1015
+ presentation.command('liftoff update');
1030
1016
  }
1031
- finally {
1032
- prompter.close();
1017
+ if (summary.conflict > 0) {
1018
+ presentation.command('liftoff update --force');
1033
1019
  }
1020
+ return 2;
1034
1021
  }
1035
- if (!dirtyWorktreeWarningShown && isDirtyGitWorktree(projectRoot)) {
1036
- presentation.warning('The project worktree has uncommitted changes; consider committing before applying.');
1022
+ if (isDirtyGitWorktree(projectRoot)) {
1023
+ const warning = 'The project worktree has uncommitted changes; consider committing before applying.';
1024
+ if (jsonMode) {
1025
+ presentation.rawStderr(`Warning: ${warning}\n`);
1026
+ }
1027
+ else {
1028
+ presentation.warning(warning);
1029
+ }
1037
1030
  }
1038
1031
  presentation.stage('Apply safe template changes', projectRoot);
1039
1032
  await preflightUpdate(projectRoot, entries, force);
@@ -1124,14 +1117,8 @@ async function updateCommand(parsed, context) {
1124
1117
  pathParts: ['liftoff.manifest.json'],
1125
1118
  content: `${JSON.stringify(nextManifest, null, 2)}\n`
1126
1119
  });
1127
- const authorizedSnapshotKeys = interactiveSnapshots
1128
- ? authorizedInteractiveSnapshotKeys(entries, force)
1129
- : undefined;
1130
- const transactionPreconditions = interactiveSnapshots && authorizedSnapshotKeys
1131
- ? [...interactiveSnapshots.values()].filter((snapshot) => authorizedSnapshotKeys.has(updateSnapshotKey(snapshot.pathParts)))
1132
- : undefined;
1133
1120
  await applyProjectFileTransaction(projectRoot, mutations, {
1134
- ...(transactionPreconditions ? { preconditions: transactionPreconditions } : {})
1121
+ preconditions: selectUpdatePreconditions(updateSnapshots, entries, mutations)
1135
1122
  });
1136
1123
  if (jsonMode) {
1137
1124
  presentation.rawStdout(`${JSON.stringify({
@@ -1141,6 +1128,8 @@ async function updateCommand(parsed, context) {
1141
1128
  projectVersion: manifest.liftoffVersion,
1142
1129
  written: written.map((entry) => manifestDisplayPath(entry.pathParts)),
1143
1130
  skipped: skipped.map((entry) => ({ path: manifestDisplayPath(entry.pathParts), reason: entry.reason })),
1131
+ manifestUpgradePending,
1132
+ manifestOwnershipCleanupPending,
1144
1133
  summary
1145
1134
  }, null, 2)}\n`);
1146
1135
  return 0;
@@ -1149,7 +1138,7 @@ async function updateCommand(parsed, context) {
1149
1138
  presentation.bullets('Applied changes', written.map((entry) => `wrote ${entryDisplay(entry)}`));
1150
1139
  }
1151
1140
  if (skipped.length > 0) {
1152
- presentation.bullets('Skipped conflicts', skipped.map((entry) => `skipped ${entryDisplay(entry)} ${entry.reason}${force ? '' : ' (use --apply --force to overwrite)'}`));
1141
+ presentation.bullets('Skipped conflicts', skipped.map((entry) => `skipped ${entryDisplay(entry)} ${entry.reason}${force ? '' : ' (use --force to overwrite)'}`));
1153
1142
  }
1154
1143
  const orphans = entries.filter((entry) => entry.status === 'orphan');
1155
1144
  if (orphans.length > 0) {
@@ -1357,7 +1346,7 @@ async function powerAppsProjectCheck(projectRoot) {
1357
1346
  severity: 'fail',
1358
1347
  state: 'unhealthy',
1359
1348
  detail: issues[0],
1360
- remedy: 'restore package.json and package-lock.json or run liftoff update --apply'
1349
+ remedy: 'restore package.json and package-lock.json or run liftoff update'
1361
1350
  };
1362
1351
  }
1363
1352
  function runReadOnly(command, args, cwd) {
@@ -1440,7 +1429,7 @@ async function projectLayer(projectRoot, manifest) {
1440
1429
  label: 'manifest',
1441
1430
  severity: 'fail',
1442
1431
  detail: `${issues.length} issue(s): ${issues[0]}${issues.length > 1 ? ' ...' : ''}`,
1443
- remedy: 'restore missing artifacts or run liftoff update --apply'
1432
+ remedy: 'restore missing artifacts or run liftoff update'
1444
1433
  });
1445
1434
  }
1446
1435
  else {