@codyswann/lisa 4.28.3 → 4.28.5

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 (126) hide show
  1. package/README.md +3 -1
  2. package/all/copy-overwrite/scripts/lisa-postinstall.mjs +6 -2
  3. package/dist/cli/apply.d.ts +20 -0
  4. package/dist/cli/apply.d.ts.map +1 -1
  5. package/dist/cli/apply.js +70 -3
  6. package/dist/cli/apply.js.map +1 -1
  7. package/dist/cli/doctor-apply-freshness.d.ts.map +1 -1
  8. package/dist/cli/doctor-apply-freshness.js +10 -4
  9. package/dist/cli/doctor-apply-freshness.js.map +1 -1
  10. package/dist/cli/doctor-merge-drivers.d.ts.map +1 -1
  11. package/dist/cli/doctor-merge-drivers.js +4 -2
  12. package/dist/cli/doctor-merge-drivers.js.map +1 -1
  13. package/dist/cli/shared-options.d.ts +11 -4
  14. package/dist/cli/shared-options.d.ts.map +1 -1
  15. package/dist/cli/shared-options.js +8 -8
  16. package/dist/cli/shared-options.js.map +1 -1
  17. package/dist/core/apply-mode.d.ts +80 -29
  18. package/dist/core/apply-mode.d.ts.map +1 -1
  19. package/dist/core/apply-mode.js +23 -2
  20. package/dist/core/apply-mode.js.map +1 -1
  21. package/dist/core/apply-receipt.d.ts +5 -1
  22. package/dist/core/apply-receipt.d.ts.map +1 -1
  23. package/dist/core/apply-receipt.js.map +1 -1
  24. package/dist/core/config.d.ts +24 -12
  25. package/dist/core/config.d.ts.map +1 -1
  26. package/dist/core/config.js.map +1 -1
  27. package/dist/core/learnings.d.ts +1 -1
  28. package/dist/core/learnings.d.ts.map +1 -1
  29. package/dist/core/learnings.js +1 -1
  30. package/dist/core/learnings.js.map +1 -1
  31. package/dist/core/lisa-owned-hash-ledger.d.ts.map +1 -1
  32. package/dist/core/lisa-owned-hash-ledger.js +4 -0
  33. package/dist/core/lisa-owned-hash-ledger.js.map +1 -1
  34. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  35. package/dist/core/project-config-learnings.d.ts +49 -0
  36. package/dist/core/project-config-learnings.d.ts.map +1 -0
  37. package/dist/core/project-config-learnings.js +87 -0
  38. package/dist/core/project-config-learnings.js.map +1 -0
  39. package/dist/core/project-config.d.ts +2 -18
  40. package/dist/core/project-config.d.ts.map +1 -1
  41. package/dist/core/project-config.js +4 -57
  42. package/dist/core/project-config.js.map +1 -1
  43. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  44. package/dist/core/upstream-evidence-manifest.js +11 -6
  45. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  46. package/dist/migrations/ensure-learnings-gitattributes.d.ts.map +1 -1
  47. package/dist/migrations/ensure-learnings-gitattributes.js +6 -5
  48. package/dist/migrations/ensure-learnings-gitattributes.js.map +1 -1
  49. package/dist/migrations/ensure-learnings-merge-driver.d.ts.map +1 -1
  50. package/dist/migrations/ensure-learnings-merge-driver.js +6 -3
  51. package/dist/migrations/ensure-learnings-merge-driver.js.map +1 -1
  52. package/dist/migrations/ensure-lisa-postinstall.d.ts +1 -1
  53. package/dist/migrations/ensure-lisa-postinstall.d.ts.map +1 -1
  54. package/dist/migrations/ensure-lisa-postinstall.js +28 -5
  55. package/dist/migrations/ensure-lisa-postinstall.js.map +1 -1
  56. package/dist/utils/postinstall-trampoline-source.js +10 -1
  57. package/dist/utils/postinstall-trampoline-source.js.map +1 -1
  58. package/package.json +3 -3
  59. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  60. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  61. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  62. package/plugins/lisa/.codex-plugin/skills/lisa-persist-learning/SKILL.md +1 -1
  63. package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  64. package/plugins/lisa/skills/lisa-persist-learning/SKILL.md +1 -1
  65. package/plugins/lisa-agy/plugin.json +1 -1
  66. package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  67. package/plugins/lisa-agy/skills/lisa-persist-learning/SKILL.md +1 -1
  68. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  69. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  70. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  71. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  75. package/plugins/lisa-copilot/skills/lisa-persist-learning/SKILL.md +1 -1
  76. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  77. package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  78. package/plugins/lisa-cursor/skills/lisa-persist-learning/SKILL.md +1 -1
  79. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  80. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  81. package/plugins/lisa-expo-agy/plugin.json +1 -1
  82. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  85. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  86. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  87. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  88. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  90. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  91. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  92. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  93. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  95. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  96. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  97. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  98. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  100. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  101. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  102. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  103. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  105. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  106. package/plugins/lisa-rails-agy/plugin.json +1 -1
  107. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  110. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  111. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  112. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  113. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  114. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  115. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  116. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  117. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  118. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  119. package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  120. package/plugins/src/base/skills/lisa-persist-learning/SKILL.md +1 -1
  121. package/scripts/install-claude-plugins.sh +7 -2
  122. package/scripts/verify-packed-learnings-contract.mjs +101 -2
  123. package/dist/core/learnings-merge-driver-config.d.ts +0 -7
  124. package/dist/core/learnings-merge-driver-config.d.ts.map +0 -1
  125. package/dist/core/learnings-merge-driver-config.js +0 -58
  126. package/dist/core/learnings-merge-driver-config.js.map +0 -1
package/README.md CHANGED
@@ -184,7 +184,9 @@ whenever a project seems to have stopped tracking upstream changes; a repo can
184
184
  otherwise sit silently stale for months.
185
185
 
186
186
  The same check covers a second, quieter gap. A package install runs apply in
187
- **postinstall-safe** mode (`--skip-git-check`), which deliberately skips every
187
+ **postinstall-safe** mode — declared by the `LISA_POSTINSTALL=1` /
188
+ `--postinstall-safe` marker every Lisa-written postinstall invocation carries —
189
+ which deliberately skips every
188
190
  agent emit — Codex, Claude, agy, Copilot, OpenCode — and the Sonar integration,
189
191
  because those rewrite host-owned files. So no `bun install` at any version can
190
192
  reconcile `.codex/config.toml`; only a full `lisa apply .` does. Doctor now says
@@ -152,7 +152,11 @@ export function runPostinstall(cwd = process.cwd(), env = process.env) {
152
152
  try {
153
153
  child = boundedSpawnSync(
154
154
  process.execPath,
155
- [LISA_ENTRY, "--yes", "--skip-git-check", "."],
155
+ // `--postinstall-safe` is what selects the reduced apply, NOT
156
+ // `--skip-git-check` (CodySwannGT/lisa#3066). Both are needed here: an
157
+ // install has already dirtied package.json and the lockfile, and an
158
+ // install must not regenerate committed agent trees.
159
+ [LISA_ENTRY, "--yes", "--skip-git-check", "--postinstall-safe", "."],
156
160
  {
157
161
  cwd,
158
162
  env: { ...env, LISA_BOOTSTRAP: "1" },
@@ -209,7 +213,7 @@ export function runPostinstall(cwd = process.cwd(), env = process.env) {
209
213
  " The error is printed above. Run `lisa doctor` for the recorded state, or",
210
214
  " re-run the apply directly to see it in isolation:",
211
215
  "",
212
- ` node ${LISA_ENTRY} --yes --skip-git-check .`,
216
+ ` node ${LISA_ENTRY} --yes --skip-git-check --postinstall-safe .`,
213
217
  "",
214
218
  ].join("\n")
215
219
  );
@@ -1,4 +1,24 @@
1
+ import { type ApplyModeInputs } from "../core/apply-mode.js";
1
2
  import { type CLIOptions } from "./shared-options.js";
3
+ /**
4
+ * The one-time notice for the retired meaning of `--skip-git-check`.
5
+ *
6
+ * Until CodySwannGT/lisa#3066 the flag also selected the reduced
7
+ * `postinstall-safe` subset. Every Lisa-written postinstall invocation now
8
+ * declares its own context instead, so those callers are unaffected — but a
9
+ * hand-written or copied command that passes only the flag gets a DIFFERENT
10
+ * apply than it used to, and a change of meaning that arrives silently is the
11
+ * defect restated rather than fixed.
12
+ *
13
+ * It warns rather than fails. A hard failure would abort the apply for every
14
+ * consumer whose `package.json` still carries the pre-fix hook text, turning a
15
+ * template-sync change into a fleet-wide stop on template updates — strictly
16
+ * worse than the bug. The hook migrates itself on the first apply, so the
17
+ * notice is also self-limiting.
18
+ * @param state - The resolved apply-mode inputs for this invocation.
19
+ * @returns The notice, or undefined when nothing changed for this caller.
20
+ */
21
+ export declare function getRetiredSkipGitCheckNotice(state: ApplyModeInputs): string | undefined;
2
22
  /**
3
23
  * Apply Lisa to the given destination with the given options.
4
24
  *
@@ -1 +1 @@
1
- {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/cli/apply.ts"],"names":[],"mappings":"AAmBA,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,qBAAqB,CAAC;AAuN7B;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAqEf"}
1
+ {"version":3,"file":"apply.d.ts","sourceRoot":"","sources":["../../src/cli/apply.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,eAAe,EAIrB,MAAM,uBAAuB,CAAC;AAgB/B,OAAO,EACL,KAAK,UAAU,EAGhB,MAAM,qBAAqB,CAAC;AAoO7B;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,eAAe,GACrB,MAAM,GAAG,SAAS,CAepB;AAmCD;;;;;;;;;;GAUG;AACH,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,IAAI,CAAC,CAwEf"}
package/dist/cli/apply.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as path from "node:path";
2
2
  import { fileURLToPath } from "node:url";
3
- import { resolveApplyMode } from "../core/apply-mode.js";
3
+ import { LISA_POSTINSTALL_ENV, resolveApplyMode, resolvePostinstallDeclaration, } from "../core/apply-mode.js";
4
4
  import { recordSuccessfulApply } from "../core/apply-receipt.js";
5
5
  import { getBootstrapApplySkipNotice } from "../core/bootstrap-environment.js";
6
6
  import { ACCEPTED_HARNESS_INPUTS } from "../core/config.js";
@@ -32,7 +32,12 @@ function printUsageAndExit() {
32
32
  console.log(" -n, --dry-run Show what would be done without making changes");
33
33
  console.log(" -y, --yes Non-interactive mode (auto-accept defaults, overwrite on conflict)");
34
34
  console.log(" -v, --validate Validate project compatibility without applying changes");
35
- console.log(" --skip-git-check Skip dirty git working directory check (for postinstall use)");
35
+ console.log(" --skip-git-check Skip the dirty git working directory check. The apply still");
36
+ console.log(" runs in full, including every agent emit.");
37
+ console.log(" --postinstall-safe");
38
+ console.log(" Declare a package-manager install lifecycle: runs the reduced");
39
+ console.log(" subset (no agent emit, no Sonar). Same as LISA_POSTINSTALL=1.");
40
+ console.log(" --full-apply Run the FULL apply even inside a declared postinstall");
36
41
  console.log(" --refresh-templates [paths]");
37
42
  console.log(" Let a non-interactive apply replace managed files it would");
38
43
  console.log(" otherwise report as out of date. Optionally scope to a");
@@ -99,7 +104,8 @@ async function migrateLegacyHarnessIfNeeded(destDir, logger) {
99
104
  * @param parts.yesMode - Whether prompts auto-accept
100
105
  * @param parts.validateOnly - Whether to validate instead of apply
101
106
  * @param parts.skipGitCheck - Whether the dirty-tree prompt is skipped
102
- * @param parts.fullApply - Whether to run the full apply despite skipGitCheck
107
+ * @param parts.postinstall - Whether this apply declared a postinstall context
108
+ * @param parts.fullApply - Whether to force the full apply anyway
103
109
  * @param parts.refreshTemplates - Opted-in managed files, if any
104
110
  * @param parts.harness - Target harness for emitted artifacts
105
111
  * @returns The config to hand to Lisa
@@ -157,6 +163,64 @@ async function finalizeSuccessfulApply(parts) {
157
163
  stalePaths,
158
164
  });
159
165
  }
166
+ /**
167
+ * The one-time notice for the retired meaning of `--skip-git-check`.
168
+ *
169
+ * Until CodySwannGT/lisa#3066 the flag also selected the reduced
170
+ * `postinstall-safe` subset. Every Lisa-written postinstall invocation now
171
+ * declares its own context instead, so those callers are unaffected — but a
172
+ * hand-written or copied command that passes only the flag gets a DIFFERENT
173
+ * apply than it used to, and a change of meaning that arrives silently is the
174
+ * defect restated rather than fixed.
175
+ *
176
+ * It warns rather than fails. A hard failure would abort the apply for every
177
+ * consumer whose `package.json` still carries the pre-fix hook text, turning a
178
+ * template-sync change into a fleet-wide stop on template updates — strictly
179
+ * worse than the bug. The hook migrates itself on the first apply, so the
180
+ * notice is also self-limiting.
181
+ * @param state - The resolved apply-mode inputs for this invocation.
182
+ * @returns The notice, or undefined when nothing changed for this caller.
183
+ */
184
+ export function getRetiredSkipGitCheckNotice(state) {
185
+ if (!state.skipGitCheck ||
186
+ state.postinstall === true ||
187
+ state.fullApply === true) {
188
+ return undefined;
189
+ }
190
+ return ("--skip-git-check now waives ONLY the clean-tree check; this apply runs in " +
191
+ "FULL, including every agent emit and the Sonar integration. It used to " +
192
+ "also select the reduced postinstall-safe subset (CodySwannGT/lisa#3066). " +
193
+ `Pass --postinstall-safe (or set ${LISA_POSTINSTALL_ENV}=1) if you wanted ` +
194
+ "the reduced apply.");
195
+ }
196
+ /**
197
+ * Read this process's postinstall declaration.
198
+ *
199
+ * The environment spelling is not optional here: the declaration originates in
200
+ * the hook text inside a consumer's own `package.json`, and a shell command
201
+ * prefix is the only way that text can reach the process it launches.
202
+ * @param options - Parsed CLI options for this invocation.
203
+ * @returns True when this apply declared itself a package-manager install.
204
+ */
205
+ function readPostinstallDeclaration(options) {
206
+ // Lisa's CLI is not a Nest service or a Lambda handler; it must introspect
207
+ // the environment its own postinstall hook hands it, and routing this one
208
+ // presence check through a config service would add indirection rather than
209
+ // type-safety.
210
+ // eslint-disable-next-line no-restricted-syntax -- see above
211
+ return resolvePostinstallDeclaration(options.postinstallSafe, process.env);
212
+ }
213
+ /**
214
+ * Announce the retired meaning of `--skip-git-check` when it applies.
215
+ * @param logger - Where the notice goes.
216
+ * @param state - The resolved apply-mode inputs for this invocation.
217
+ */
218
+ function warnIfRetiredSkipGitCheck(logger, state) {
219
+ const notice = getRetiredSkipGitCheckNotice(state);
220
+ if (notice !== undefined) {
221
+ logger.warn(notice);
222
+ }
223
+ }
160
224
  /**
161
225
  * Apply Lisa to the given destination with the given options.
162
226
  *
@@ -184,18 +248,21 @@ export async function runApply(destination, options) {
184
248
  const configFileExists = await projectConfigExists(destDir);
185
249
  const harness = resolveHarness(options.harness, projectConfig);
186
250
  const refreshTemplates = parseRefreshTemplates(options.refreshTemplates);
251
+ const postinstall = readPostinstallDeclaration(options);
187
252
  const config = buildApplyConfig({
188
253
  destDir,
189
254
  dryRun,
190
255
  yesMode,
191
256
  validateOnly,
192
257
  skipGitCheck: options.skipGitCheck ?? false,
258
+ postinstall,
193
259
  fullApply: options.fullApply ?? false,
194
260
  refreshTemplates,
195
261
  harness,
196
262
  });
197
263
  const deps = createDependencies(dryRun, yesMode, logger);
198
264
  const lisa = new Lisa(config, deps);
265
+ warnIfRetiredSkipGitCheck(logger, config);
199
266
  try {
200
267
  const result = options.validate
201
268
  ? await lisa.validate()
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/cli/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/cli/apply.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-apply-freshness.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-apply-freshness.ts"],"names":[],"mappings":"AA4EA,wEAAwE;AACxE,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAoLD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CASjD"}
1
+ {"version":3,"file":"doctor-apply-freshness.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-apply-freshness.ts"],"names":[],"mappings":"AAkFA,wEAAwE;AACxE,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAoLD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC,CA2BzB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,IAAI,cAAc,CASjD"}
@@ -15,9 +15,9 @@
15
15
  * version stamp means none has finished since that version. Both are reported
16
16
  * with the version and date, and with the command that reproduces the failure.
17
17
  *
18
- * A third silence lives in the same subsystem: postinstall-safe mode
19
- * (`--skip-git-check`, which is what a package manager runs) skips every agent
20
- * emit. That is deliberate — those emits rewrite host-owned files — but it
18
+ * A third silence lives in the same subsystem: postinstall-safe mode (what a
19
+ * package manager's install declares, via `--postinstall-safe` /
20
+ * `LISA_POSTINSTALL=1`) skips every agent emit. That is deliberate — those emits rewrite host-owned files — but it
21
21
  * means no `bun install` at any version can reconcile `.codex/config.toml`, so
22
22
  * repos on the newest Lisa still carry a deprecated `codex_hooks` key and an
23
23
  * audit reasonably but wrongly concluded "apply just hasn't re-run". Same shape
@@ -51,7 +51,13 @@ import { getPackageVersion } from "./version.js";
51
51
  const CHECK_NAME = "Templates applied by this Lisa version?";
52
52
  const YAML_CHECK_NAME = "YAML runtime usable?";
53
53
  const REAPPLY_COMMAND = "node node_modules/@codyswann/lisa/dist/index.js --yes --skip-git-check .";
54
- /** No `--skip-git-check`: the only form that performs the agent emits. */
54
+ /**
55
+ * A plain operator apply, which performs the agent emits.
56
+ *
57
+ * `REAPPLY_COMMAND` above performs them too now — since
58
+ * CodySwannGT/lisa#3066 `--skip-git-check` waives only the clean-tree check —
59
+ * but this is the form to hand someone whose tree is already clean.
60
+ */
55
61
  const FULL_APPLY_COMMAND = "node node_modules/@codyswann/lisa/dist/index.js .";
56
62
  /**
57
63
  * How many stale paths to name inline before deferring to the receipt.
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-apply-freshness.js","sourceRoot":"","sources":["../../src/cli/doctor-apply-freshness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-apply-freshness.js","sourceRoot":"","sources":["../../src/cli/doctor-apply-freshness.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-merge-drivers.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-merge-drivers.ts"],"names":[],"mappings":"AAwCA,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,6EAA6E;AAC7E,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAkGD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CA0CjC"}
1
+ {"version":3,"file":"doctor-merge-drivers.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-merge-drivers.ts"],"names":[],"mappings":"AAyCA,2DAA2D;AAC3D,eAAO,MAAM,wBAAwB,8BAA8B,CAAC;AAEpE,6EAA6E;AAC7E,UAAU,sBAAsB;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAkGD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CACrC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,sBAAsB,CAAC,CA2CjC"}
@@ -32,10 +32,11 @@
32
32
  import { readFile } from "node:fs/promises";
33
33
  import * as path from "node:path";
34
34
  import { mergeDriversInAttributes } from "../core/gitattributes-merge-drivers.js";
35
- import { isLearningsMergeDriverEnabled } from "../core/learnings-merge-driver-config.js";
36
35
  import { probeLearningsMergeDriverRegistration } from "../core/learnings-merge-driver-install.js";
37
36
  import { LEARNINGS_MERGE_DRIVER_NAME } from "../core/learnings-merge-driver.js";
38
37
  import { probeMergeDriverRegistration } from "../core/merge-driver-registration.js";
38
+ import { readProjectConfig } from "../core/project-config.js";
39
+ import { resolveLearningsSettings } from "../core/project-config-learnings.js";
39
40
  /** Name of the merge-driver check as doctor reports it. */
40
41
  export const MERGE_DRIVERS_CHECK_NAME = "Merge drivers registered?";
41
42
  /**
@@ -147,7 +148,8 @@ export async function checkMergeDrivers(targetPath) {
147
148
  if (drivers.length === 0) {
148
149
  return result("ok", "Nothing in .gitattributes maps a path to a custom merge driver, so there is nothing to register");
149
150
  }
150
- const optedOut = (await isLearningsMergeDriverEnabled(targetPath))
151
+ const config = await readProjectConfig(targetPath);
152
+ const optedOut = resolveLearningsSettings(config).mergeDriverEnabled
151
153
  ? []
152
154
  : [LEARNINGS_MERGE_DRIVER_NAME];
153
155
  const expected = drivers.filter(driver => !optedOut.includes(driver));
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-merge-drivers.js","sourceRoot":"","sources":["../../src/cli/doctor-merge-drivers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-merge-drivers.js","sourceRoot":"","sources":["../../src/cli/doctor-merge-drivers.ts"],"names":[],"mappings":"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"}
@@ -12,11 +12,18 @@ export interface CLIOptions {
12
12
  validate?: boolean;
13
13
  skipGitCheck?: boolean;
14
14
  /**
15
- * Run the FULL apply even with `--skip-git-check`.
15
+ * Declare this apply a package-manager install lifecycle.
16
16
  *
17
- * The escape hatch from the conflation in CodySwannGT/lisa#3066: waiving the
18
- * dirty-tree check otherwise selects the reduced `postinstall-safe` subset as
19
- * a side effect, with no way to decline.
17
+ * The only thing that selects the reduced `postinstall-safe` subset. Every
18
+ * Lisa-written postinstall invocation carries it, in this spelling or as
19
+ * `LISA_POSTINSTALL=1` (CodySwannGT/lisa#3066).
20
+ */
21
+ postinstallSafe?: boolean;
22
+ /**
23
+ * Run the FULL apply even inside a declared postinstall.
24
+ *
25
+ * The override of last resort, for an operator forcing the complete apply
26
+ * from inside a lifecycle script.
20
27
  */
21
28
  fullApply?: boolean;
22
29
  /** Bare `--refresh-templates` yields true; with a value, the raw path list. */
@@ -1 +1 @@
1
- {"version":3,"file":"shared-options.d.ts","sourceRoot":"","sources":["../../src/cli/shared-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOzD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAClC,gBAAgB,GAAG,SAAS,CAW9B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAStD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAoC1D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,aAAa,GACpB,gBAAgB,CAYlB"}
1
+ {"version":3,"file":"shared-options.d.ts","sourceRoot":"","sources":["../../src/cli/shared-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAwB,MAAM,WAAW,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAOzD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,+EAA+E;IAC/E,gBAAgB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAClC,gBAAgB,GAAG,SAAS,CAW9B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAStD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAuC1D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,aAAa,GACpB,gBAAgB,CAYlB"}
@@ -52,14 +52,14 @@ export function addSharedOptions(command) {
52
52
  .option("-n, --dry-run", "Show what would be done without making changes")
53
53
  .option("-y, --yes", "Non-interactive mode (auto-accept defaults, overwrite on conflict)")
54
54
  .option("-v, --validate", "Validate project compatibility without applying changes")
55
- .option("--skip-git-check", "Skip dirty git working directory check (for postinstall use). " +
56
- "NOTE: on its own this also selects the reduced postinstall-safe apply, " +
57
- "which skips every agent emit and the Sonar integration. Add --full-apply " +
58
- "to waive the check without reducing the apply.")
59
- .option("--full-apply", "Run the FULL apply even with --skip-git-check. Without this, waiving the " +
60
- "dirty-tree check also selects the reduced postinstall-safe subset, so an " +
61
- "automated caller that only needed a dirty tree silently gets no agent " +
62
- "emits (CodySwannGT/lisa#3066).")
55
+ .option("--skip-git-check", "Skip the dirty git working directory check. Means only that: the apply " +
56
+ "still runs in full, including every agent emit (CodySwannGT/lisa#3066).")
57
+ .option("--postinstall-safe", "Declare this apply a package-manager install lifecycle, which runs the " +
58
+ "reduced postinstall-safe subset: no agent emit (Codex, Claude, agy, " +
59
+ "Copilot, OpenCode) and no Sonar integration, so an install never " +
60
+ "regenerates committed agent trees. Equivalent to LISA_POSTINSTALL=1.")
61
+ .option("--full-apply", "Run the FULL apply even inside a declared postinstall. Overrides " +
62
+ "--postinstall-safe and LISA_POSTINSTALL=1.")
63
63
  .option("--refresh-templates [paths]", "Let a non-interactive apply replace managed files it would otherwise report as out of date. " +
64
64
  "Optionally scope to a comma-separated list of repo-relative paths " +
65
65
  "(e.g. --refresh-templates=scripts/lisa-hooks). Backs up before replacing.")
@@ -1 +1 @@
1
- {"version":3,"file":"shared-options.js","sourceRoot":"","sources":["../../src/cli/shared-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared-options.js","sourceRoot":"","sources":["../../src/cli/shared-options.ts"],"names":[],"mappings":"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"}
@@ -20,42 +20,78 @@
20
20
  * fleet. A silent gap is bad; a silent gap with an instrument attesting to it
21
21
  * is worse.
22
22
  *
23
- * ## What did NOT change, deliberately
24
- *
25
- * `--skip-git-check` still selects `postinstall-safe` by default. That is the
26
- * conflation CodySwannGT/lisa#3066 reports, and it is preserved here rather
27
- * than separated, because separating it safely needs a reliable "this is a
28
- * postinstall" signal and there is not one:
29
- *
30
- * - npm sets `npm_lifecycle_event=postinstall` during a postinstall.
31
- * - **bun sets neither `npm_lifecycle_event` nor `npm_command`**, while still
32
- * running the script. Measured, not assumed.
33
- *
34
- * So keying the mode off the lifecycle environment would classify every
35
- * bun-based project's postinstall as a full apply, and a full apply under
36
- * `bun install` regenerates agent trees — precisely what the reduced mode
37
- * exists to prevent. The alternative, marking the hook command itself, means
38
- * changing text that `ensure-lisa-postinstall` recognises by exact match and
39
- * that already lives in every consumer's `package.json`; that carries the
40
- * two-channel hazard of CodySwannGT/lisa#3050, where a recogniser miss appends
41
- * a second invocation rather than failing.
42
- *
43
- * What this module adds instead is an explicit opt-out for the caller who
44
- * genuinely wants both — a dirty tree AND the full apply — which is the case
45
- * the fleet-update flow needs and the only case the conflation actually
46
- * blocked.
23
+ * ## The conflation, and how it is separated
24
+ *
25
+ * `--skip-git-check` used to carry two unrelated propositions, and selecting
26
+ * the reduced subset was the one nothing in its name suggested
27
+ * (CodySwannGT/lisa#3066). They are separated here because they are scoped to
28
+ * different things:
29
+ *
30
+ * | proposition | scoped to | expressed by |
31
+ * |---|---|---|
32
+ * | "do not require a clean working tree" | the INVOCATION — the caller knows its own tree | `--skip-git-check` |
33
+ * | "run the reduced subset" | the CONTEXT — is this a package manager's install lifecycle | `--postinstall-safe` / `LISA_POSTINSTALL=1` |
34
+ *
35
+ * `skipGitCheck` is accepted by {@link ApplyModeInputs} and deliberately read
36
+ * by nothing in this module. Keeping the field makes the separation directly
37
+ * assertable and makes any future re-reading of it a visible diff rather than
38
+ * a silent regression.
39
+ *
40
+ * ## Why the context is DECLARED and not detected
41
+ *
42
+ * Lisa already has an ambient detector — `isRunningAsLifecycleScript()`, which
43
+ * reads `npm_package_json`. It cannot decide this, and the reason is measured
44
+ * rather than assumed:
45
+ *
46
+ * - `npm install` postinstall sets `npm_lifecycle_event=postinstall`.
47
+ * - **`bun install` postinstall sets neither `npm_lifecycle_event` nor
48
+ * `npm_command`** while still running the script; it does set
49
+ * `npm_config_user_agent` and `npm_package_json`.
50
+ * - Every one of those leaks into the descendants of ANY `bun run` / `npm run`
51
+ * — including the shell an operator, a CI job, or an agent runs an apply
52
+ * from.
53
+ *
54
+ * A detector keyed on the first would classify every bun-based project's
55
+ * postinstall as a full apply, and a full apply under `bun install`
56
+ * regenerates agent trees — exactly what the reduced mode exists to prevent. A
57
+ * detector keyed on the second over-fires instead, handing the reduced subset
58
+ * back to the very callers this fixes, silently. A declaration can do neither:
59
+ * only Lisa's own postinstall invocations carry it.
60
+ *
61
+ * The declaration is also concrete at the moment the decision is taken — a
62
+ * plain string already present in the process, never a deferred or
63
+ * lazily-resolved value that could still be token-shaped when read.
47
64
  * @module core/apply-mode
48
65
  */
49
66
  import type { ApplyMode } from "./apply-receipt.js";
67
+ /** Environment variable a postinstall invocation sets to declare itself. */
68
+ export declare const LISA_POSTINSTALL_ENV = "LISA_POSTINSTALL";
69
+ /** The value {@link LISA_POSTINSTALL_ENV} must hold to count as declared. */
70
+ export declare const LISA_POSTINSTALL_ENV_VALUE = "1";
50
71
  /** The subset of config this decision reads. */
51
72
  export interface ApplyModeInputs {
52
- /** Whether the dirty-tree check was waived. */
73
+ /**
74
+ * Whether the dirty-tree check was waived.
75
+ *
76
+ * Accepted and DELIBERATELY UNREAD. This field used to decide the mode, and
77
+ * that conflation is the defect this module resolves; it stays in the shape
78
+ * so the separation can be asserted directly and so re-reading it would show
79
+ * up as a diff here rather than as behaviour nobody notices.
80
+ */
53
81
  readonly skipGitCheck: boolean;
54
82
  /**
55
- * Explicit request for the full apply even with the git check waived.
83
+ * Whether this apply declared itself a package-manager install lifecycle.
84
+ *
85
+ * Set by `--postinstall-safe` or `LISA_POSTINSTALL=1`, which every
86
+ * Lisa-written postinstall invocation carries. This is the only input that
87
+ * selects the reduced subset.
88
+ */
89
+ readonly postinstall?: boolean;
90
+ /**
91
+ * Explicit request for the full apply even inside a declared postinstall.
56
92
  *
57
- * The escape hatch from the conflation. Absent or false preserves today's
58
- * behaviour exactly, so no existing caller changes.
93
+ * The override of last resort, for an operator who means to force the
94
+ * complete apply from inside a lifecycle script.
59
95
  */
60
96
  readonly fullApply?: boolean;
61
97
  }
@@ -63,7 +99,7 @@ export interface ApplyModeInputs {
63
99
  * Resolves the mode this apply runs in.
64
100
  *
65
101
  * Every consumer — agent emits, `package.json` protection, and the receipt —
66
- * MUST read this rather than re-deriving from `skipGitCheck`, so the recorded
102
+ * MUST read this rather than re-deriving from any single flag, so the recorded
67
103
  * mode can never describe work the run did not do.
68
104
  * @param config - The apply's resolved configuration.
69
105
  * @returns `"postinstall-safe"` for the reduced subset, otherwise `"full"`.
@@ -79,4 +115,19 @@ export declare function resolveApplyMode(config: ApplyModeInputs): ApplyMode;
79
115
  * @returns True when the reduced `postinstall-safe` subset applies.
80
116
  */
81
117
  export declare function isPostinstallSafeApply(config: ApplyModeInputs): boolean;
118
+ /**
119
+ * Resolve the postinstall declaration from the CLI flag and the environment.
120
+ *
121
+ * Two spellings, one meaning. The flag is what Lisa's own spawned invocations
122
+ * pass, because a spawned child's environment is sanitised of package-manager
123
+ * variables and a flag survives that; the environment variable is what the
124
+ * hook text in a consumer's `package.json` carries, because prefixing an
125
+ * assignment leaves the command tail untouched and therefore leaves the
126
+ * recogniser in `ensure-lisa-postinstall` matching both shapes with a single
127
+ * added alternative.
128
+ * @param flag - Value of `--postinstall-safe`, if passed.
129
+ * @param env - Environment to read {@link LISA_POSTINSTALL_ENV} from.
130
+ * @returns True when this apply declared itself a postinstall.
131
+ */
132
+ export declare function resolvePostinstallDeclaration(flag: boolean | undefined, env: Readonly<Record<string, string | undefined>>): boolean;
82
133
  //# sourceMappingURL=apply-mode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-mode.d.ts","sourceRoot":"","sources":["../../src/core/apply-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAKnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAEvE"}
1
+ {"version":3,"file":"apply-mode.d.ts","sourceRoot":"","sources":["../../src/core/apply-mode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAEpD,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,qBAAqB,CAAC;AAEvD,6EAA6E;AAC7E,eAAO,MAAM,0BAA0B,MAAM,CAAC;AAE9C,gDAAgD;AAChD,MAAM,WAAW,eAAe;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAKnE;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAEvE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,GAAG,SAAS,EACzB,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAChD,OAAO,CAIT"}
@@ -1,8 +1,12 @@
1
+ /** Environment variable a postinstall invocation sets to declare itself. */
2
+ export const LISA_POSTINSTALL_ENV = "LISA_POSTINSTALL";
3
+ /** The value {@link LISA_POSTINSTALL_ENV} must hold to count as declared. */
4
+ export const LISA_POSTINSTALL_ENV_VALUE = "1";
1
5
  /**
2
6
  * Resolves the mode this apply runs in.
3
7
  *
4
8
  * Every consumer — agent emits, `package.json` protection, and the receipt —
5
- * MUST read this rather than re-deriving from `skipGitCheck`, so the recorded
9
+ * MUST read this rather than re-deriving from any single flag, so the recorded
6
10
  * mode can never describe work the run did not do.
7
11
  * @param config - The apply's resolved configuration.
8
12
  * @returns `"postinstall-safe"` for the reduced subset, otherwise `"full"`.
@@ -11,7 +15,7 @@ export function resolveApplyMode(config) {
11
15
  if (config.fullApply === true) {
12
16
  return "full";
13
17
  }
14
- return config.skipGitCheck ? "postinstall-safe" : "full";
18
+ return config.postinstall === true ? "postinstall-safe" : "full";
15
19
  }
16
20
  /**
17
21
  * Whether this apply runs the reduced subset.
@@ -25,4 +29,21 @@ export function resolveApplyMode(config) {
25
29
  export function isPostinstallSafeApply(config) {
26
30
  return resolveApplyMode(config) === "postinstall-safe";
27
31
  }
32
+ /**
33
+ * Resolve the postinstall declaration from the CLI flag and the environment.
34
+ *
35
+ * Two spellings, one meaning. The flag is what Lisa's own spawned invocations
36
+ * pass, because a spawned child's environment is sanitised of package-manager
37
+ * variables and a flag survives that; the environment variable is what the
38
+ * hook text in a consumer's `package.json` carries, because prefixing an
39
+ * assignment leaves the command tail untouched and therefore leaves the
40
+ * recogniser in `ensure-lisa-postinstall` matching both shapes with a single
41
+ * added alternative.
42
+ * @param flag - Value of `--postinstall-safe`, if passed.
43
+ * @param env - Environment to read {@link LISA_POSTINSTALL_ENV} from.
44
+ * @returns True when this apply declared itself a postinstall.
45
+ */
46
+ export function resolvePostinstallDeclaration(flag, env) {
47
+ return (flag === true || env[LISA_POSTINSTALL_ENV] === LISA_POSTINSTALL_ENV_VALUE);
48
+ }
28
49
  //# sourceMappingURL=apply-mode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"apply-mode.js","sourceRoot":"","sources":["../../src/core/apply-mode.ts"],"names":[],"mappings":"AA+DA;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;AAC3D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC;AACzD,CAAC"}
1
+ {"version":3,"file":"apply-mode.js","sourceRoot":"","sources":["../../src/core/apply-mode.ts"],"names":[],"mappings":"AAmEA,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,kBAAkB,CAAC;AAEvD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AA8B9C;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAuB;IAC5D,OAAO,gBAAgB,CAAC,MAAM,CAAC,KAAK,kBAAkB,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAyB,EACzB,GAAiD;IAEjD,OAAO,CACL,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,oBAAoB,CAAC,KAAK,0BAA0B,CAC1E,CAAC;AACJ,CAAC"}
@@ -8,7 +8,11 @@ export declare const APPLY_RECEIPT_SCHEMA_VERSION = 1;
8
8
  /**
9
9
  * How complete the recorded apply was.
10
10
  *
11
- * `postinstall-safe` is the `--skip-git-check` path a package manager runs. It
11
+ * `postinstall-safe` is the path a package manager's install runs, selected by
12
+ * the `--postinstall-safe` / `LISA_POSTINSTALL=1` declaration every
13
+ * Lisa-written postinstall invocation carries. (It used to be selected by
14
+ * `--skip-git-check`, which also meant something else entirely — see
15
+ * `core/apply-mode` and CodySwannGT/lisa#3066.) It
12
16
  * deliberately skips every agent emit (Codex, Claude, agy, Copilot, OpenCode)
13
17
  * and the Sonar integration, because those rewrite host-owned files that must
14
18
  * not change under an install. That is the right behaviour and the wrong