@codyswann/lisa 4.28.3 → 4.28.4

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 (93) hide show
  1. package/dist/cli/doctor-merge-drivers.d.ts.map +1 -1
  2. package/dist/cli/doctor-merge-drivers.js +4 -2
  3. package/dist/cli/doctor-merge-drivers.js.map +1 -1
  4. package/dist/core/learnings.d.ts +1 -1
  5. package/dist/core/learnings.d.ts.map +1 -1
  6. package/dist/core/learnings.js +1 -1
  7. package/dist/core/learnings.js.map +1 -1
  8. package/dist/core/nightly-e2e-guard-behavior-certificate.js +2 -2
  9. package/dist/core/project-config-learnings.d.ts +49 -0
  10. package/dist/core/project-config-learnings.d.ts.map +1 -0
  11. package/dist/core/project-config-learnings.js +87 -0
  12. package/dist/core/project-config-learnings.js.map +1 -0
  13. package/dist/core/project-config.d.ts +2 -18
  14. package/dist/core/project-config.d.ts.map +1 -1
  15. package/dist/core/project-config.js +4 -57
  16. package/dist/core/project-config.js.map +1 -1
  17. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  18. package/dist/core/upstream-evidence-manifest.js +7 -4
  19. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  20. package/dist/migrations/ensure-learnings-gitattributes.d.ts.map +1 -1
  21. package/dist/migrations/ensure-learnings-gitattributes.js +6 -5
  22. package/dist/migrations/ensure-learnings-gitattributes.js.map +1 -1
  23. package/dist/migrations/ensure-learnings-merge-driver.d.ts.map +1 -1
  24. package/dist/migrations/ensure-learnings-merge-driver.js +6 -3
  25. package/dist/migrations/ensure-learnings-merge-driver.js.map +1 -1
  26. package/package.json +3 -3
  27. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  28. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  29. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  30. package/plugins/lisa/.codex-plugin/skills/lisa-persist-learning/SKILL.md +1 -1
  31. package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  32. package/plugins/lisa/skills/lisa-persist-learning/SKILL.md +1 -1
  33. package/plugins/lisa-agy/plugin.json +1 -1
  34. package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  35. package/plugins/lisa-agy/skills/lisa-persist-learning/SKILL.md +1 -1
  36. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  37. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  38. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  39. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  40. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  42. package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  43. package/plugins/lisa-copilot/skills/lisa-persist-learning/SKILL.md +1 -1
  44. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  45. package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  46. package/plugins/lisa-cursor/skills/lisa-persist-learning/SKILL.md +1 -1
  47. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  48. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  49. package/plugins/lisa-expo-agy/plugin.json +1 -1
  50. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  51. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  52. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  53. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  54. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  55. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  56. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  57. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  58. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  59. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  60. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  61. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  62. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  63. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  64. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  65. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  66. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  67. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  68. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  69. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  70. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  71. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  72. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  73. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  74. package/plugins/lisa-rails-agy/plugin.json +1 -1
  75. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  76. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  77. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  79. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  80. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  81. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  82. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  84. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  85. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  86. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  87. package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +7 -3
  88. package/plugins/src/base/skills/lisa-persist-learning/SKILL.md +1 -1
  89. package/scripts/verify-packed-learnings-contract.mjs +101 -2
  90. package/dist/core/learnings-merge-driver-config.d.ts +0 -7
  91. package/dist/core/learnings-merge-driver-config.d.ts.map +0 -1
  92. package/dist/core/learnings-merge-driver-config.js +0 -58
  93. package/dist/core/learnings-merge-driver-config.js.map +0 -1
@@ -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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"}
@@ -7,5 +7,5 @@ export * from "./learnings-projection.js";
7
7
  export * from "./learnings-supersede.js";
8
8
  export * from "./learnings-writer.js";
9
9
  export * from "./upstream-attribution-body.js";
10
- export { DEFAULT_PROJECT_LEARNINGS_FILE, HOST_RULES_DIR, LEGACY_PROJECT_RULES_FILE, PROJECT_LEARNINGS_FILENAME, readProjectConfig, resolveLegacyProjectLearningsFile, resolveLegacyProjectRulesFile, resolveProjectLearningsFile, type LearningsConfig, type ProjectConfig, } from "./project-config.js";
10
+ export { DEFAULT_PROJECT_LEARNINGS_FILE, HOST_RULES_DIR, LEGACY_PROJECT_RULES_FILE, PROJECT_LEARNINGS_FILENAME, readProjectConfig, resolveLearningsSettings, resolveLegacyProjectLearningsFile, resolveLegacyProjectRulesFile, resolveProjectLearningsFile, type LearningsConfig, type ProjectConfig, } from "./project-config.js";
11
11
  //# sourceMappingURL=learnings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"learnings.d.ts","sourceRoot":"","sources":["../../src/core/learnings.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,iCAAiC,EACjC,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"learnings.d.ts","sourceRoot":"","sources":["../../src/core/learnings.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,EACtB,KAAK,uBAAuB,GAC7B,MAAM,yBAAyB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,2BAA2B,EAC3B,KAAK,eAAe,EACpB,KAAK,aAAa,GACnB,MAAM,qBAAqB,CAAC"}
@@ -7,5 +7,5 @@ export * from "./learnings-projection.js";
7
7
  export * from "./learnings-supersede.js";
8
8
  export * from "./learnings-writer.js";
9
9
  export * from "./upstream-attribution-body.js";
10
- export { DEFAULT_PROJECT_LEARNINGS_FILE, HOST_RULES_DIR, LEGACY_PROJECT_RULES_FILE, PROJECT_LEARNINGS_FILENAME, readProjectConfig, resolveLegacyProjectLearningsFile, resolveLegacyProjectRulesFile, resolveProjectLearningsFile, } from "./project-config.js";
10
+ export { DEFAULT_PROJECT_LEARNINGS_FILE, HOST_RULES_DIR, LEGACY_PROJECT_RULES_FILE, PROJECT_LEARNINGS_FILENAME, readProjectConfig, resolveLearningsSettings, resolveLegacyProjectLearningsFile, resolveLegacyProjectRulesFile, resolveProjectLearningsFile, } from "./project-config.js";
11
11
  //# sourceMappingURL=learnings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"learnings.js","sourceRoot":"","sources":["../../src/core/learnings.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,iCAAiC,EACjC,6BAA6B,EAC7B,2BAA2B,GAG5B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"learnings.js","sourceRoot":"","sources":["../../src/core/learnings.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,sBAAsB,GAEvB,MAAM,yBAAyB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gCAAgC,CAAC;AAC/C,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,yBAAyB,EACzB,0BAA0B,EAC1B,iBAAiB,EACjB,wBAAwB,EACxB,iCAAiC,EACjC,6BAA6B,EAC7B,2BAA2B,GAG5B,MAAM,qBAAqB,CAAC"}
@@ -20,9 +20,9 @@ export const NIGHTLY_E2E_GUARD_BEHAVIOR_CERTIFICATES = Object.freeze({
20
20
  }),
21
21
  "312e8962e21be2f3c6c6c0235b0c6159b8dc39425508b4965c7df87fb1333380": Object.freeze({
22
22
  contractVersion: "1.9.0",
23
- packageVersions: Object.freeze(["4.28.3"]),
23
+ packageVersions: Object.freeze(["4.28.4"]),
24
24
  provenances: Object.freeze([
25
- "workspace package @codyswann/lisa@4.28.3 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
25
+ "workspace package @codyswann/lisa@4.28.4 (typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs)",
26
26
  ]),
27
27
  }),
28
28
  "898ee0247806c7aa6e98328662d80bcff22ff067999298865462a58daef8bb22": Object.freeze({
@@ -0,0 +1,49 @@
1
+ /** Optional `learnings` configuration block in `.lisa.config.json`. */
2
+ export interface LearningsConfig {
3
+ /** Safe repo-relative override for the machine-managed learnings ledger. */
4
+ readonly file?: string;
5
+ /** Explicit false declines local merge-driver installation. */
6
+ readonly mergeDriver?: boolean;
7
+ }
8
+ /** Minimum project-config shape consumed by the pure settings resolver. */
9
+ interface ConfigWithLearnings {
10
+ readonly learnings?: LearningsConfig;
11
+ }
12
+ /** Resolved learnings behavior derived from one validated config snapshot. */
13
+ export type ResolvedLearningsSettings = Readonly<{
14
+ learningsFile: string;
15
+ mergeDriverEnabled: boolean;
16
+ }>;
17
+ /**
18
+ * Validate a `learnings.file` override outside every eager context surface.
19
+ * @param value - Raw configured path
20
+ * @param source - Config source for errors
21
+ * @returns Validated project-relative learnings path
22
+ */
23
+ export declare function validateLearningsFile(value: unknown, source: string): string;
24
+ /**
25
+ * Validate the closed optional `learnings` block.
26
+ * @param value - Raw learnings value
27
+ * @param source - Config source for errors
28
+ * @returns Typed learnings config, or undefined when absent
29
+ */
30
+ export declare function validateLearningsConfig(value: unknown, source: string): LearningsConfig | undefined;
31
+ /**
32
+ * Resolve ledger location and merge-driver policy from one config snapshot.
33
+ *
34
+ * The driver is strictly opt-out: only literal false disables it. Runtime
35
+ * config reads validate the boolean before this resolver runs; keeping the
36
+ * comparison here as `!== false` preserves the safe default for typed callers.
37
+ * @param config - Validated project config snapshot
38
+ * @returns Resolved ledger path and merge-driver enablement
39
+ */
40
+ export declare function resolveLearningsSettings(config: ConfigWithLearnings): ResolvedLearningsSettings;
41
+ /**
42
+ * Resolve the validated ledger path while preserving the established public
43
+ * API used by writers and generated agent instructions.
44
+ * @param config - Project config carrying an optional learnings block
45
+ * @returns Safe project-relative learnings Markdown path
46
+ */
47
+ export declare function resolveProjectLearningsFile(config: ConfigWithLearnings): string;
48
+ export {};
49
+ //# sourceMappingURL=project-config-learnings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-config-learnings.d.ts","sourceRoot":"","sources":["../../src/core/project-config-learnings.ts"],"names":[],"mappings":"AAcA,uEAAuE;AACvE,MAAM,WAAW,eAAe;IAC9B,4EAA4E;IAC5E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,+DAA+D;IAC/D,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,2EAA2E;AAC3E,UAAU,mBAAmB;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;CACtC;AAED,8EAA8E;AAC9E,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5E;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,GACb,eAAe,GAAG,SAAS,CAyB7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,GAC1B,yBAAyB,CAK3B;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,mBAAmB,GAC1B,MAAM,CAIR"}
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Validated `.lisa.config.json` settings for the project-learnings ledger.
3
+ *
4
+ * Keeping the closed nested schema and its pure resolver together gives every
5
+ * mutating caller one typed snapshot: the ledger path and merge-driver opt-out
6
+ * can no longer be read through independent parsers that disagree on errors or
7
+ * timing.
8
+ * @module core/project-config-learnings
9
+ */
10
+ import { DEFAULT_PROJECT_LEARNINGS_FILE } from "./learnings-location.js";
11
+ import { validateConfiguredLearningsFile } from "./configured-learnings-path.js";
12
+ const LEARNINGS_FIELDS = ["file", "mergeDriver"];
13
+ /**
14
+ * Validate a `learnings.file` override outside every eager context surface.
15
+ * @param value - Raw configured path
16
+ * @param source - Config source for errors
17
+ * @returns Validated project-relative learnings path
18
+ */
19
+ export function validateLearningsFile(value, source) {
20
+ return validateConfiguredLearningsFile(value, source);
21
+ }
22
+ /**
23
+ * Validate the closed optional `learnings` block.
24
+ * @param value - Raw learnings value
25
+ * @param source - Config source for errors
26
+ * @returns Typed learnings config, or undefined when absent
27
+ */
28
+ export function validateLearningsConfig(value, source) {
29
+ if (value === undefined) {
30
+ return undefined;
31
+ }
32
+ if (value === null || typeof value !== "object" || Array.isArray(value)) {
33
+ throw new Error(`Invalid learnings in ${source}: expected an object`);
34
+ }
35
+ const object = value;
36
+ const unknown = Object.keys(object).find(key => !LEARNINGS_FIELDS.includes(key));
37
+ if (unknown !== undefined) {
38
+ throw new Error(`Invalid learnings.${unknown} in ${source}: unknown field; expected file or mergeDriver`);
39
+ }
40
+ const file = object.file === undefined
41
+ ? undefined
42
+ : validateLearningsFile(object.file, source);
43
+ const mergeDriver = validateMergeDriver(object.mergeDriver, source);
44
+ return {
45
+ ...(file === undefined ? {} : { file }),
46
+ ...(mergeDriver === undefined ? {} : { mergeDriver }),
47
+ };
48
+ }
49
+ /**
50
+ * Resolve ledger location and merge-driver policy from one config snapshot.
51
+ *
52
+ * The driver is strictly opt-out: only literal false disables it. Runtime
53
+ * config reads validate the boolean before this resolver runs; keeping the
54
+ * comparison here as `!== false` preserves the safe default for typed callers.
55
+ * @param config - Validated project config snapshot
56
+ * @returns Resolved ledger path and merge-driver enablement
57
+ */
58
+ export function resolveLearningsSettings(config) {
59
+ return Object.freeze({
60
+ learningsFile: resolveProjectLearningsFile(config),
61
+ mergeDriverEnabled: config.learnings?.mergeDriver !== false,
62
+ });
63
+ }
64
+ /**
65
+ * Resolve the validated ledger path while preserving the established public
66
+ * API used by writers and generated agent instructions.
67
+ * @param config - Project config carrying an optional learnings block
68
+ * @returns Safe project-relative learnings Markdown path
69
+ */
70
+ export function resolveProjectLearningsFile(config) {
71
+ return config.learnings?.file === undefined
72
+ ? DEFAULT_PROJECT_LEARNINGS_FILE
73
+ : validateLearningsFile(config.learnings.file, ".lisa.config.json");
74
+ }
75
+ /**
76
+ * Validate an optional merge-driver flag while preserving absence.
77
+ * @param value - Raw mergeDriver setting
78
+ * @param source - Config source for errors
79
+ * @returns Boolean setting or undefined
80
+ */
81
+ function validateMergeDriver(value, source) {
82
+ if (value === undefined || typeof value === "boolean") {
83
+ return value;
84
+ }
85
+ throw new Error(`Invalid learnings.mergeDriver in ${source}: expected boolean, received ${JSON.stringify(value)}`);
86
+ }
87
+ //# sourceMappingURL=project-config-learnings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-config-learnings.js","sourceRoot":"","sources":["../../src/core/project-config-learnings.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AAEjF,MAAM,gBAAgB,GAAG,CAAC,MAAM,EAAE,aAAa,CAAU,CAAC;AAqB1D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,MAAc;IAClE,OAAO,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,KAAc,EACd,MAAc;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,sBAAsB,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CACtC,GAAG,CAAC,EAAE,CAAC,CAAE,gBAAsC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAC9D,CAAC;IACF,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CACb,qBAAqB,OAAO,OAAO,MAAM,+CAA+C,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GACR,MAAM,CAAC,IAAI,KAAK,SAAS;QACvB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;IACpE,OAAO;QACL,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;KACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,MAA2B;IAE3B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,aAAa,EAAE,2BAA2B,CAAC,MAAM,CAAC;QAClD,kBAAkB,EAAE,MAAM,CAAC,SAAS,EAAE,WAAW,KAAK,KAAK;KAC5D,CAAC,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAA2B;IAE3B,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,SAAS;QACzC,CAAC,CAAC,8BAA8B;QAChC,CAAC,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,KAAc,EACd,MAAc;IAEd,IAAI,KAAK,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;QACtD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CACb,oCAAoC,MAAM,gCAAgC,IAAI,CAAC,SAAS,CACtF,KAAK,CACN,EAAE,CACJ,CAAC;AACJ,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { type Harness } from "./config.js";
2
+ import { type LearningsConfig } from "./project-config-learnings.js";
2
3
  import { type VerificationConfig } from "./project-config-kane.js";
3
4
  import { type NightlyE2EConfig } from "./project-config-nightly-e2e.js";
4
5
  export { AUTO_LOADED_RULES_DIR_PREFIXES, DEFAULT_PROJECT_LEARNINGS_FILE, PROJECT_LEARNINGS_FILENAME, } from "./learnings-location.js";
6
+ export { resolveLearningsSettings, resolveProjectLearningsFile, type LearningsConfig, type ResolvedLearningsSettings, } from "./project-config-learnings.js";
5
7
  export type { BrowserVerificationConfig, KaneBrowserConfig, VerificationConfig, } from "./project-config-kane.js";
6
8
  export type { NightlyE2EConfig, NightlyE2ETrackingConfig, NightlyE2ETrackingDestination, } from "./project-config-nightly-e2e.js";
7
9
  /** Filename of the per-project config, relative to the destination root */
@@ -26,15 +28,6 @@ export declare const HOST_RULES_DIR = ".agents/rules";
26
28
  * is human-gated work.
27
29
  */
28
30
  export declare const LEGACY_PROJECT_RULES_FILE = ".claude/rules/PROJECT_RULES.md";
29
- /** Optional `learnings` configuration block in `.lisa.config.json`. */
30
- export interface LearningsConfig {
31
- /**
32
- * Relative path to the machine-managed learnings ledger, overriding the
33
- * `.lisa/PROJECT_LEARNINGS.md` default. Must be a safe relative Markdown path
34
- * outside every auto-loaded rules tree.
35
- */
36
- readonly file?: string;
37
- }
38
31
  /**
39
32
  * Schema of `.lisa.config.json`. Additional fields may be added in future
40
33
  * versions; unknown fields are preserved on round-trip.
@@ -69,15 +62,6 @@ export interface ProjectConfig {
69
62
  * @returns Safe project-relative Markdown path
70
63
  */
71
64
  export declare function resolveLegacyProjectRulesFile(config: ProjectConfig): string;
72
- /**
73
- * Resolve the machine-managed learnings ledger path. A validated
74
- * `learnings.file` override wins; otherwise the `.lisa/PROJECT_LEARNINGS.md`
75
- * default is used. The path is intentionally independent of `projectRulesFile`:
76
- * the ledger is cold state, not a rules sibling.
77
- * @param config - Parsed project configuration
78
- * @returns Safe project-relative learnings Markdown path
79
- */
80
- export declare function resolveProjectLearningsFile(config: ProjectConfig): string;
81
65
  /**
82
66
  * Resolve the ledger's LEGACY location — the sibling of the retired single-file
83
67
  * rules path, where releases before the `.lisa/` relocation kept it. Used only
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/core/project-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-config.d.ts","sourceRoot":"","sources":["../../src/core/project-config.ts"],"names":[],"mappings":"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"}
@@ -11,12 +11,13 @@ import * as fse from "fs-extra";
11
11
  import { readFile, writeFile } from "node:fs/promises";
12
12
  import * as path from "node:path";
13
13
  import { ACCEPTED_HARNESS_INPUTS, DEFAULT_HARNESS, HARNESS_ALIASES, HARNESS_VALUES, LEGACY_HARNESS_ALIASES, } from "./config.js";
14
- import { DEFAULT_PROJECT_LEARNINGS_FILE, PROJECT_LEARNINGS_FILENAME, } from "./learnings-location.js";
15
- import { validateConfiguredLearningsFile } from "./configured-learnings-path.js";
14
+ import { PROJECT_LEARNINGS_FILENAME } from "./learnings-location.js";
15
+ import { validateLearningsConfig, } from "./project-config-learnings.js";
16
+ import { validateSafeRelativeMarkdownPath } from "./safe-relative-markdown-path.js";
16
17
  import { validateVerificationConfig, } from "./project-config-kane.js";
17
18
  import { validateNightlyE2EConfig, } from "./project-config-nightly-e2e.js";
18
- import { validateSafeRelativeMarkdownPath } from "./safe-relative-markdown-path.js";
19
19
  export { AUTO_LOADED_RULES_DIR_PREFIXES, DEFAULT_PROJECT_LEARNINGS_FILE, PROJECT_LEARNINGS_FILENAME, } from "./learnings-location.js";
20
+ export { resolveLearningsSettings, resolveProjectLearningsFile, } from "./project-config-learnings.js";
20
21
  /** Filename of the per-project config, relative to the destination root */
21
22
  export const PROJECT_CONFIG_FILENAME = ".lisa.config.json";
22
23
  /**
@@ -55,20 +56,6 @@ export function resolveLegacyProjectRulesFile(config) {
55
56
  const configured = config.projectRulesFile ?? LEGACY_PROJECT_RULES_FILE;
56
57
  return validateProjectRulesFile(configured, PROJECT_CONFIG_FILENAME);
57
58
  }
58
- /**
59
- * Resolve the machine-managed learnings ledger path. A validated
60
- * `learnings.file` override wins; otherwise the `.lisa/PROJECT_LEARNINGS.md`
61
- * default is used. The path is intentionally independent of `projectRulesFile`:
62
- * the ledger is cold state, not a rules sibling.
63
- * @param config - Parsed project configuration
64
- * @returns Safe project-relative learnings Markdown path
65
- */
66
- export function resolveProjectLearningsFile(config) {
67
- if (config.learnings?.file !== undefined) {
68
- return validateLearningsFile(config.learnings.file, PROJECT_CONFIG_FILENAME);
69
- }
70
- return DEFAULT_PROJECT_LEARNINGS_FILE;
71
- }
72
59
  /**
73
60
  * Resolve the ledger's LEGACY location — the sibling of the retired single-file
74
61
  * rules path, where releases before the `.lisa/` relocation kept it. Used only
@@ -238,15 +225,6 @@ function validateOptionalHarness(value, configPath) {
238
225
  const allowed = ACCEPTED_HARNESS_INPUTS.join(" | ");
239
226
  throw new Error(`Invalid harness in ${configPath}: expected ${allowed}, got ${JSON.stringify(value)}`);
240
227
  }
241
- /**
242
- * Validate a configurable destination as a safe, relative, non-traversing
243
- * Markdown path. Shared by every path-typed config field; the `field` label is
244
- * interpolated into each diagnostic so callers get a field-specific message.
245
- * @param value - Raw configured path
246
- * @param source - Config source for errors
247
- * @param field - Config field name used in error messages
248
- * @returns Validated project-relative path
249
- */
250
228
  /**
251
229
  * Validate the configurable rules destination as a safe Markdown path, and
252
230
  * reject the reserved learnings filename so a rules file can never collide with
@@ -263,37 +241,6 @@ function validateProjectRulesFile(value, source) {
263
241
  }
264
242
  return safe;
265
243
  }
266
- /**
267
- * Validate a `learnings.file` override: a safe relative Markdown path that does
268
- * NOT resolve inside any auto-loaded rules tree. Placing the ledger in an eager
269
- * tree is exactly the defect this relocation exists to prevent, so it is a hard
270
- * rejection with a readable reason rather than a silent fallback.
271
- * @param value - Raw configured path
272
- * @param source - Config source for errors
273
- * @returns Validated project-relative learnings path
274
- */
275
- function validateLearningsFile(value, source) {
276
- return validateConfiguredLearningsFile(value, source);
277
- }
278
- /**
279
- * Validate the optional `learnings` block, preserving an absent value.
280
- * @param value - Raw learnings value
281
- * @param source - Config source for errors
282
- * @returns Typed learnings config, or undefined when absent
283
- */
284
- function validateLearningsConfig(value, source) {
285
- if (value === undefined) {
286
- return undefined;
287
- }
288
- if (value === null || typeof value !== "object" || Array.isArray(value)) {
289
- throw new Error(`Invalid learnings in ${source}: expected an object`);
290
- }
291
- const file = value.file;
292
- if (file === undefined) {
293
- return {};
294
- }
295
- return { file: validateLearningsFile(file, source) };
296
- }
297
244
  /**
298
245
  * Narrow an unknown value to the Harness type
299
246
  * @param value - Untrusted value to test
@@ -1 +1 @@
1
- {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/core/project-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,cAAc,EACd,sBAAsB,GAEvB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EACL,0BAA0B,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,wBAAwB,GAEzB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,gCAAgC,EAAE,MAAM,kCAAkC,CAAC;AAEpF,OAAO,EACL,8BAA8B,EAC9B,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,yBAAyB,CAAC;AAcjC,2EAA2E;AAC3E,MAAM,CAAC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC;AAE3D;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,eAAe,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,gCAAgC,CAAC;AAkC1E;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAqB;IACjE,MAAM,UAAU,GAAG,MAAM,CAAC,gBAAgB,IAAI,yBAAyB,CAAC;IACxE,OAAO,wBAAwB,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CAAC,MAAqB;IAC/D,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QACzC,OAAO,qBAAqB,CAC1B,MAAM,CAAC,SAAS,CAAC,IAAI,EACrB,uBAAuB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,8BAA8B,CAAC;AACxC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iCAAiC,CAC/C,MAAqB;IAErB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,0BAA0B,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACxC,OAAO,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACnD,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAe,EACf,OAAsB;IAEtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,EAAE,CAAC;IAC3C,MAAM,SAAS,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,0BAA0B,CAAC,MAK1C;IACC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,CACL,MAAM,CAAC,WAAW,KAAK,SAAS;QAChC,MAAM,CAAC,eAAe,KAAK,MAAM,CAAC,eAAe,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,aAAa,CAC1B,UAAkB;IAElB,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAY,CAAC;IACzE,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,WAAW,uBAAuB,OAAO,UAAU,wBAAwB,CAC5E,CAAC;IACJ,CAAC;IACD,OAAO,MAAiC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,SAA8B,EAC9B,aAA4B;IAE5B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,aAAa,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,aAAa,CAAC,OAAO,CAAC;IAC/B,CAAC;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CACnC,MAAe,EACf,UAAkB;IAElB,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CACb,WAAW,uBAAuB,OAAO,UAAU,wBAAwB,CAC5E,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,MAAM,OAAO,GAAG,uBAAuB,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,gBAAgB,GACpB,GAAG,CAAC,gBAAgB,KAAK,SAAS;QAChC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,0BAA0B,CAAC,GAAG,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,wBAAwB,CAAC,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACxE,OAAO;QACL,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7C,GAAG,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC/D,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC;QACjD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC;QACvD,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC;KACpD,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,KAAc,EACd,UAAkB;IAElB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,qEAAqE;IACrE,qEAAqE;IACrE,wEAAwE;IACxE,4EAA4E;IAC5E,MAAM,MAAM,GACV,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACxE,MAAM,UAAU,GACd,MAAM,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,UAAU,CAAC;IACpB,CAAC;IACD,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,IAAI,KAAK,CACb,sBAAsB,UAAU,cAAc,OAAO,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH;;;;;;;GAOG;AACH,SAAS,wBAAwB,CAAC,KAAc,EAAE,MAAc;IAC9D,MAAM,IAAI,GAAG,gCAAgC,CAC3C,KAAK,EACL,MAAM,EACN,kBAAkB,CACnB,CAAC;IACF,IACE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;QACvC,0BAA0B,CAAC,WAAW,EAAE,EACxC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,+BAA+B,MAAM,KAAK,0BAA0B,4CAA4C,CACjH,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,qBAAqB,CAAC,KAAc,EAAE,MAAc;IAC3D,OAAO,+BAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACxD,CAAC;AAED;;;;;GAKG;AACH,SAAS,uBAAuB,CAC9B,KAAc,EACd,MAAc;IAEd,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,sBAAsB,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAI,KAAiC,CAAC,IAAI,CAAC;IACrD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACxB,cAAoC,CAAC,QAAQ,CAAC,KAAK,CAAC,CACtD,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC;IAClD,OAAO,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAe;IAEf,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC/D,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACxC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,aAAa,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,EAAE,GAAG,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"project-config.js","sourceRoot":"","sources":["../../src/core/project-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAs+EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAg+PjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
1
+ {"version":3,"file":"upstream-evidence-manifest.d.ts","sourceRoot":"","sources":["../../src/core/upstream-evidence-manifest.ts"],"names":[],"mappings":"AACA,iFAAiF;AACjF,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAs+EpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAm+PjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -539,7 +539,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
539
539
  "plugins/src/base/skills/lisa-detect-tooling/scripts/commands.mjs": "e28bd61fdde4a336b56ae3395423026943a5816015719d31d04f0d5a0ab50eec",
540
540
  "plugins/src/base/skills/lisa-detect-tooling/scripts/detect-tooling.mjs": "d9419814fc04c935bd7e320e85b1977c9bfc9275d9ea5fb557002ad438ee7925",
541
541
  "plugins/src/base/skills/lisa-doctor/SKILL.md": "ab7bb855fd3ebe321e41b0143815f202b70f6ba38f6678791d6d9e933e0c3fd8",
542
- "plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "b19d955db9947f76986b0fa592233578eba7f956c70c3d4b65e36e2e72b07192",
542
+ "plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "83ce3ffcdb196f9edee9c29f0129e9f00e5bd5bd73c500d55e72020aa00f5359",
543
543
  "plugins/src/base/skills/lisa-epic-triage/SKILL.md": "d02760411249bddbd396f283191fe3e82bb7b95bf9393a19a7025dc5a57c3ab7",
544
544
  "plugins/src/base/skills/lisa-evaluation-suite/SKILL.md": "96b5c2091ccd22a565935a7b0b917f67998881b81055ce3e4d518319472eac8b",
545
545
  "plugins/src/base/skills/lisa-exploratory-qa/SKILL.md": "562b80ea0be5ffb1087386495a380bfb5808a1da4c08a7e253c5229d747bc5c7",
@@ -623,7 +623,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
623
623
  "plugins/src/base/skills/lisa-parity-sentry-seer/SKILL.md": "ec09515906a55e98ac0f619f048f14c4a16db74c1cd5744dda0cdfa42ce7fed6",
624
624
  "plugins/src/base/skills/lisa-parity-skill-creator/SKILL.md": "616e0493f75fe92c18137548d7c86a91a9b04d9844ca76fa3f14156e3e7814e5",
625
625
  "plugins/src/base/skills/lisa-performance-review/SKILL.md": "351542c256e54940e6d672a70606b8414425c6435ae6f026841bcc02f9fce9c4",
626
- "plugins/src/base/skills/lisa-persist-learning/SKILL.md": "a6d4e9726291dea3af336579978663b591aa212e0a1f1bffb39f4f06b4ab477b",
626
+ "plugins/src/base/skills/lisa-persist-learning/SKILL.md": "f99ee553e703b055cb0a21c84b306ac64be399bfdc4876b3a161be7a92999a61",
627
627
  "plugins/src/base/skills/lisa-plan/SKILL.md": "9c372e106afd53ff988046119cf36b0f6519c4426775dd8ad3c9d9baeee5d3e2",
628
628
  "plugins/src/base/skills/lisa-plugin-sync-explain/SKILL.md": "b41619f3d0d342af2438afd54cb97db7d2445e54e3fc7bb012292079acbc6a4f",
629
629
  "plugins/src/base/skills/lisa-posthog-access/SKILL.md": "c18095cf3343746c428167969cbde03e400e50f3e1a3b3bd4345f262a8d0a60d",
@@ -1185,7 +1185,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1185
1185
  "scripts/verify-health-contract-built.mjs": "4041780d412bee7b9e1bbe24d908bac64705184a8b0698f0d5bb748ec36b0bcd",
1186
1186
  "scripts/verify-health-deterministic-built.mjs": "9016663d16c93d0d0d74b41a957d200cd3aa8ef5b12e0879d24ba5ea041ab307",
1187
1187
  "scripts/verify-learner-frontmatter-built.mjs": "b8ac0240726721a047811e98d42f661426abc3e427a0c86f3b20082eb498809d",
1188
- "scripts/verify-packed-learnings-contract.mjs": "6ed8390ec9e06fededf0dc87b714f36c6f55546b04a22e03186569cd39d8f661",
1188
+ "scripts/verify-packed-learnings-contract.mjs": "2227b32f3b3dc2dc6817a60b4998b64881c03e30ecd15cb52b6d6f95a5870613",
1189
1189
  "tsconfig/base.json": "d04a105ec81aa9dc69d230d4a83406d920c305b6fc13c641ebafde0c41fc658f",
1190
1190
  "tsconfig/build.json": "a743350ea93b0e8d2151c974c5a8a4cbcf946cd7f06c40d83146079bde70afe1",
1191
1191
  "tsconfig/cdk.json": "f9c0bfad5e40ce30bc037f08abf2f8feb78963484f2929ab17ec187ffe34b732",
@@ -7550,7 +7550,6 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7550
7550
  "src/core/learnings-lock-capability.ts": true,
7551
7551
  "src/core/learnings-lock-fs.ts": true,
7552
7552
  "src/core/learnings-lock.ts": true,
7553
- "src/core/learnings-merge-driver-config.ts": true,
7554
7553
  "src/core/learnings-merge-driver-install.ts": true,
7555
7554
  "src/core/learnings-merge-driver.ts": true,
7556
7555
  "src/core/learnings-merge.ts": true,
@@ -7572,6 +7571,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7572
7571
  "src/core/nightly-e2e-guard-behavior-certificate.ts": true,
7573
7572
  "src/core/override-floors.ts": true,
7574
7573
  "src/core/project-config-kane.ts": true,
7574
+ "src/core/project-config-learnings.ts": true,
7575
7575
  "src/core/project-config-nightly-e2e.ts": true,
7576
7576
  "src/core/project-config.ts": true,
7577
7577
  "src/core/reconciliation-report.ts": true,
@@ -8344,6 +8344,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8344
8344
  "tests/unit/core/plugin-sync-marker.test.ts": true,
8345
8345
  "tests/unit/core/project-config-harness-migration.test.ts": true,
8346
8346
  "tests/unit/core/project-config-kane.test.ts": true,
8347
+ "tests/unit/core/project-config-learnings-architecture.test.ts": true,
8348
+ "tests/unit/core/project-config-learnings.test.ts": true,
8347
8349
  "tests/unit/core/project-config-nightly-e2e-default.test.ts": true,
8348
8350
  "tests/unit/core/project-config-nightly-e2e.test.ts": true,
8349
8351
  "tests/unit/core/project-config.test.ts": true,
@@ -8943,6 +8945,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8943
8945
  "tests/unit/strategies/learnings-audit-contract.test.ts": true,
8944
8946
  "tests/unit/strategies/learnings-confirmation-contract.test.ts": true,
8945
8947
  "tests/unit/strategies/learnings-fingerprint-contract.test.ts": true,
8948
+ "tests/unit/strategies/learnings-merge-driver-opt-out-contract.test.ts": true,
8946
8949
  "tests/unit/strategies/learnings-overflow-contract.test.ts": true,
8947
8950
  "tests/unit/strategies/lifecycle-label-claimability.test.ts": true,
8948
8951
  "tests/unit/strategies/lifecycle-label-trust-contract.test.ts": true,