@codyswann/lisa 3.2.0 → 3.3.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.
Files changed (132) hide show
  1. package/dist/cli/doctor-lisa-owned-artifacts.d.ts.map +1 -1
  2. package/dist/cli/doctor-lisa-owned-artifacts.js +41 -2
  3. package/dist/cli/doctor-lisa-owned-artifacts.js.map +1 -1
  4. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  5. package/dist/core/upstream-evidence-manifest.js +65 -11
  6. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  7. package/expo/create-only/.github/workflows/nightly-e2e-health.yml +21 -2
  8. package/package.json +1 -1
  9. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  10. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  11. package/plugins/lisa/rules/eager/do-it-now.md +11 -0
  12. package/plugins/lisa/rules/eager/empirical-inquiry.md +1 -0
  13. package/plugins/lisa/rules/eager/falsifiable-checks.md +2 -0
  14. package/plugins/lisa/rules/eager/integration-access-layer.md +5 -0
  15. package/plugins/lisa/rules/eager/learnings-ladder.md +18 -0
  16. package/plugins/lisa/rules/eager/local-ci-first.md +15 -0
  17. package/plugins/lisa/rules/eager/not-blocked-just-waiting.md +13 -0
  18. package/plugins/lisa/rules/eager/session-status-updates.md +19 -0
  19. package/plugins/lisa/rules/eager/wiki-knowledge-source.md +6 -11
  20. package/plugins/lisa/rules/reference/do-it-now.md +37 -0
  21. package/plugins/lisa/rules/reference/empirical-inquiry.md +1 -0
  22. package/plugins/lisa/rules/reference/falsifiable-checks.md +24 -2
  23. package/plugins/lisa/rules/reference/integration-access-layer.md +8 -0
  24. package/plugins/lisa/rules/reference/learnings-ladder.md +41 -0
  25. package/plugins/lisa/rules/reference/local-ci-first.md +34 -0
  26. package/plugins/lisa/rules/reference/not-blocked-just-waiting.md +41 -0
  27. package/plugins/lisa/rules/reference/session-status-updates.md +60 -0
  28. package/plugins/lisa/rules/reference/wiki-knowledge-source.md +21 -5
  29. package/plugins/lisa-agy/plugin.json +1 -1
  30. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  31. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  33. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  35. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  36. package/plugins/lisa-copilot/rules/eager/do-it-now.md +11 -0
  37. package/plugins/lisa-copilot/rules/eager/empirical-inquiry.md +1 -0
  38. package/plugins/lisa-copilot/rules/eager/falsifiable-checks.md +2 -0
  39. package/plugins/lisa-copilot/rules/eager/integration-access-layer.md +5 -0
  40. package/plugins/lisa-copilot/rules/eager/learnings-ladder.md +18 -0
  41. package/plugins/lisa-copilot/rules/eager/local-ci-first.md +15 -0
  42. package/plugins/lisa-copilot/rules/eager/not-blocked-just-waiting.md +13 -0
  43. package/plugins/lisa-copilot/rules/eager/session-status-updates.md +19 -0
  44. package/plugins/lisa-copilot/rules/eager/wiki-knowledge-source.md +6 -11
  45. package/plugins/lisa-copilot/rules/reference/do-it-now.md +37 -0
  46. package/plugins/lisa-copilot/rules/reference/empirical-inquiry.md +1 -0
  47. package/plugins/lisa-copilot/rules/reference/falsifiable-checks.md +24 -2
  48. package/plugins/lisa-copilot/rules/reference/integration-access-layer.md +8 -0
  49. package/plugins/lisa-copilot/rules/reference/learnings-ladder.md +41 -0
  50. package/plugins/lisa-copilot/rules/reference/local-ci-first.md +34 -0
  51. package/plugins/lisa-copilot/rules/reference/not-blocked-just-waiting.md +41 -0
  52. package/plugins/lisa-copilot/rules/reference/session-status-updates.md +60 -0
  53. package/plugins/lisa-copilot/rules/reference/wiki-knowledge-source.md +21 -5
  54. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  55. package/plugins/lisa-cursor/rules/do-it-now-reference.mdc +42 -0
  56. package/plugins/lisa-cursor/rules/do-it-now.mdc +16 -0
  57. package/plugins/lisa-cursor/rules/empirical-inquiry-reference.mdc +1 -0
  58. package/plugins/lisa-cursor/rules/empirical-inquiry.mdc +1 -0
  59. package/plugins/lisa-cursor/rules/falsifiable-checks-reference.mdc +24 -2
  60. package/plugins/lisa-cursor/rules/falsifiable-checks.mdc +2 -0
  61. package/plugins/lisa-cursor/rules/integration-access-layer-reference.mdc +8 -0
  62. package/plugins/lisa-cursor/rules/integration-access-layer.mdc +5 -0
  63. package/plugins/lisa-cursor/rules/learnings-ladder-reference.mdc +46 -0
  64. package/plugins/lisa-cursor/rules/learnings-ladder.mdc +23 -0
  65. package/plugins/lisa-cursor/rules/local-ci-first-reference.mdc +39 -0
  66. package/plugins/lisa-cursor/rules/local-ci-first.mdc +20 -0
  67. package/plugins/lisa-cursor/rules/not-blocked-just-waiting-reference.mdc +46 -0
  68. package/plugins/lisa-cursor/rules/not-blocked-just-waiting.mdc +18 -0
  69. package/plugins/lisa-cursor/rules/session-status-updates-reference.mdc +65 -0
  70. package/plugins/lisa-cursor/rules/session-status-updates.mdc +24 -0
  71. package/plugins/lisa-cursor/rules/wiki-knowledge-source-reference.mdc +21 -5
  72. package/plugins/lisa-cursor/rules/wiki-knowledge-source.mdc +7 -12
  73. package/plugins/lisa-expo/.claude-plugin/plugin.json +1 -1
  74. package/plugins/lisa-expo/.codex-plugin/plugin.json +1 -1
  75. package/plugins/lisa-expo-agy/plugin.json +1 -1
  76. package/plugins/lisa-expo-copilot/.claude-plugin/plugin.json +1 -1
  77. package/plugins/lisa-expo-cursor/.claude-plugin/plugin.json +1 -1
  78. package/plugins/lisa-harper-fabric/.claude-plugin/plugin.json +1 -1
  79. package/plugins/lisa-harper-fabric/.codex-plugin/plugin.json +1 -1
  80. package/plugins/lisa-harper-fabric-agy/plugin.json +1 -1
  81. package/plugins/lisa-harper-fabric-copilot/.claude-plugin/plugin.json +1 -1
  82. package/plugins/lisa-harper-fabric-cursor/.claude-plugin/plugin.json +1 -1
  83. package/plugins/lisa-nestjs/.claude-plugin/plugin.json +1 -1
  84. package/plugins/lisa-nestjs/.codex-plugin/plugin.json +1 -1
  85. package/plugins/lisa-nestjs-agy/plugin.json +1 -1
  86. package/plugins/lisa-nestjs-copilot/.claude-plugin/plugin.json +1 -1
  87. package/plugins/lisa-nestjs-cursor/.claude-plugin/plugin.json +1 -1
  88. package/plugins/lisa-openclaw/.claude-plugin/plugin.json +1 -1
  89. package/plugins/lisa-openclaw/.codex-plugin/plugin.json +1 -1
  90. package/plugins/lisa-openclaw-agy/plugin.json +1 -1
  91. package/plugins/lisa-openclaw-copilot/.claude-plugin/plugin.json +1 -1
  92. package/plugins/lisa-openclaw-cursor/.claude-plugin/plugin.json +1 -1
  93. package/plugins/lisa-phaser/.claude-plugin/plugin.json +1 -1
  94. package/plugins/lisa-phaser/.codex-plugin/plugin.json +1 -1
  95. package/plugins/lisa-phaser-agy/plugin.json +1 -1
  96. package/plugins/lisa-phaser-copilot/.claude-plugin/plugin.json +1 -1
  97. package/plugins/lisa-phaser-cursor/.claude-plugin/plugin.json +1 -1
  98. package/plugins/lisa-rails/.claude-plugin/plugin.json +1 -1
  99. package/plugins/lisa-rails/.codex-plugin/plugin.json +1 -1
  100. package/plugins/lisa-rails-agy/plugin.json +1 -1
  101. package/plugins/lisa-rails-copilot/.claude-plugin/plugin.json +1 -1
  102. package/plugins/lisa-rails-cursor/.claude-plugin/plugin.json +1 -1
  103. package/plugins/lisa-typescript/.claude-plugin/plugin.json +1 -1
  104. package/plugins/lisa-typescript/.codex-plugin/plugin.json +1 -1
  105. package/plugins/lisa-typescript-agy/plugin.json +1 -1
  106. package/plugins/lisa-typescript-copilot/.claude-plugin/plugin.json +1 -1
  107. package/plugins/lisa-typescript-cursor/.claude-plugin/plugin.json +1 -1
  108. package/plugins/lisa-wiki/.claude-plugin/plugin.json +1 -1
  109. package/plugins/lisa-wiki/.codex-plugin/plugin.json +1 -1
  110. package/plugins/lisa-wiki-agy/plugin.json +1 -1
  111. package/plugins/lisa-wiki-copilot/.claude-plugin/plugin.json +1 -1
  112. package/plugins/lisa-wiki-cursor/.claude-plugin/plugin.json +1 -1
  113. package/plugins/src/base/rules/eager/do-it-now.md +11 -0
  114. package/plugins/src/base/rules/eager/empirical-inquiry.md +1 -0
  115. package/plugins/src/base/rules/eager/falsifiable-checks.md +2 -0
  116. package/plugins/src/base/rules/eager/integration-access-layer.md +5 -0
  117. package/plugins/src/base/rules/eager/learnings-ladder.md +18 -0
  118. package/plugins/src/base/rules/eager/local-ci-first.md +15 -0
  119. package/plugins/src/base/rules/eager/not-blocked-just-waiting.md +13 -0
  120. package/plugins/src/base/rules/eager/session-status-updates.md +19 -0
  121. package/plugins/src/base/rules/eager/wiki-knowledge-source.md +6 -11
  122. package/plugins/src/base/rules/reference/do-it-now.md +37 -0
  123. package/plugins/src/base/rules/reference/empirical-inquiry.md +1 -0
  124. package/plugins/src/base/rules/reference/falsifiable-checks.md +24 -2
  125. package/plugins/src/base/rules/reference/integration-access-layer.md +8 -0
  126. package/plugins/src/base/rules/reference/learnings-ladder.md +41 -0
  127. package/plugins/src/base/rules/reference/local-ci-first.md +34 -0
  128. package/plugins/src/base/rules/reference/not-blocked-just-waiting.md +41 -0
  129. package/plugins/src/base/rules/reference/session-status-updates.md +60 -0
  130. package/plugins/src/base/rules/reference/wiki-knowledge-source.md +21 -5
  131. package/typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs +173 -8
  132. package/typescript/copy-overwrite/scripts/nightly-e2e-suites.schema.json +12 -0
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-lisa-owned-artifacts.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-lisa-owned-artifacts.ts"],"names":[],"mappings":"AAkCA,wEAAwE;AACxE,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAoFD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAA0B,GACnC,OAAO,CAAC,aAAa,CAAC,CA2CxB"}
1
+ {"version":3,"file":"doctor-lisa-owned-artifacts.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-lisa-owned-artifacts.ts"],"names":[],"mappings":"AA0CA,wEAAwE;AACxE,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAkHD;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,MAA0B,GACnC,OAAO,CAAC,aAAa,CAAC,CAiDxB"}
@@ -21,11 +21,18 @@ import { fileURLToPath } from "node:url";
21
21
  import * as fse from "fs-extra";
22
22
  import { PROJECT_TYPE_ORDER } from "../core/config.js";
23
23
  import { isLisaOwnedTemplate } from "../core/lisa-owned-templates.js";
24
+ import { isLisaSourceRepo } from "../core/self-apply.js";
24
25
  import { listFilesRecursive } from "../utils/file-operations.js";
25
26
  import { matchesAnyPattern, parseIgnorePatterns, } from "../utils/ignore-patterns.js";
26
27
  const CHECK_NAME = "Lisa enforcement artifacts current?";
27
28
  const COPY_OVERWRITE = "copy-overwrite";
28
29
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
30
+ /**
31
+ * Quoted relative module specifiers — `import`/`export from`, `require()`, and
32
+ * a shell `source`/`.` of a sibling path all spell the target the same way.
33
+ * Bounded quantifier keeps the scan linear on large files.
34
+ */
35
+ const RELATIVE_SPECIFIER = /["'`](\.\.?\/[^"'`\n]{1,4096})["'`]/g;
29
36
  /**
30
37
  * Resolve the installed Lisa package root, mirroring how apply resolves it.
31
38
  * @returns Absolute path to the Lisa package root
@@ -81,6 +88,29 @@ async function matchesAnyShipped(installed, sources) {
81
88
  const shipped = await Promise.all(sources.map(async (source) => readFile(source)));
82
89
  return shipped.some(candidate => installed.equals(candidate));
83
90
  }
91
+ /**
92
+ * Whether the installed file is a trampoline that re-exports the shipped
93
+ * template instead of copying it.
94
+ *
95
+ * Lisa's own repository is the one host that cannot hold a byte copy of a file
96
+ * it also ships: the working copy and the template would be two editable
97
+ * originals of the same guard, free to diverge. It keeps a few-line entrypoint
98
+ * that re-exports the template, so its hooks and CI run the exact bytes the
99
+ * fleet gets. Byte comparison necessarily calls that drift; it is the opposite.
100
+ *
101
+ * Proof, not pattern-match: the specifier is resolved against the installed
102
+ * file's own directory and must land exactly on a shipped variant of this same
103
+ * destination. A stub pointing anywhere else is still drift.
104
+ * @param installed - Bytes currently installed in the project
105
+ * @param installedPath - Absolute path of the installed file
106
+ * @param sources - Absolute paths of the shipped variants
107
+ * @returns True when the installed file defers to a shipped variant
108
+ */
109
+ function reExportsShippedTemplate(installed, installedPath, sources) {
110
+ const shipped = new Set(sources.map(source => path.resolve(source)));
111
+ const directory = path.dirname(installedPath);
112
+ return [...installed.toString("utf8").matchAll(RELATIVE_SPECIFIER)].some(match => shipped.has(path.resolve(directory, match[1] ?? "")));
113
+ }
84
114
  /**
85
115
  * Report Lisa-owned enforcement artifacts the project has an outdated copy of.
86
116
  *
@@ -101,13 +131,22 @@ export async function checkLisaOwnedArtifacts(targetPath, lisaRoot = defaultLisa
101
131
  }
102
132
  const ignoreText = await readFile(path.join(targetPath, ".lisaignore"), "utf8").catch(() => "");
103
133
  const ignorePatterns = parseIgnorePatterns(ignoreText);
134
+ // Gating the trampoline exemption on self-host keeps this check byte-for-byte
135
+ // unchanged for every real host project: the branch below is unreachable
136
+ // unless the target's package.json is Lisa itself. A host must not be able to
137
+ // swap a guard for a thin re-export and have doctor call it current.
138
+ const selfHost = await isLisaSourceRepo(targetPath);
104
139
  const results = await Promise.all([...shipped].map(async ([destination, sources]) => {
105
140
  if (matchesAnyPattern(destination, ignorePatterns))
106
141
  return undefined;
107
- const installed = await readFile(path.join(targetPath, destination)).catch(() => undefined);
142
+ const installedPath = path.join(targetPath, destination);
143
+ const installed = await readFile(installedPath).catch(() => undefined);
108
144
  if (installed === undefined)
109
145
  return undefined;
110
- return (await matchesAnyShipped(installed, sources))
146
+ if (await matchesAnyShipped(installed, sources))
147
+ return undefined;
148
+ return selfHost &&
149
+ reExportsShippedTemplate(installed, installedPath, sources)
111
150
  ? undefined
112
151
  : destination;
113
152
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"doctor-lisa-owned-artifacts.js","sourceRoot":"","sources":["../../src/cli/doctor-lisa-owned-artifacts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor-lisa-owned-artifacts.js","sourceRoot":"","sources":["../../src/cli/doctor-lisa-owned-artifacts.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,CAkwEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA+5NjE,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,CAsxEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA28NjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -104,7 +104,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
104
104
  "expo/create-only/.github/workflows/deploy.yml": "0978b1f4e19e1ff66bb8cdd037d36a3751d4e917db7ceb5bcf100fad36768516",
105
105
  "expo/create-only/.github/workflows/maestro-e2e.yml": "4bacb1da9ea897345aad77b8ae7ee96861c555aa77a00846f4572da18e9fd6e0",
106
106
  "expo/create-only/.github/workflows/nightly-e2e-bypass-reaper.yml": "4185f5083d8da5efa620e8641d6b75e0cb424edd563989c7432892872969797c",
107
- "expo/create-only/.github/workflows/nightly-e2e-health.yml": "009f43bf5a07574adcad11c09c947d54e1a5877ff4ba51128dd4721ad6877a70",
107
+ "expo/create-only/.github/workflows/nightly-e2e-health.yml": "fb2a4c5d3731c5aa52573d2d2f2313561141172718195a05b5a7217168b7ae84",
108
108
  "expo/create-only/.github/workflows/nightly-e2e-report.yml": "df47b2e5c31d2bb4eee6fb979d8d25b3a5cea572e46be042a9b4c59fbe43af72",
109
109
  "expo/create-only/.maestro/flake-classification.json": "b1259c17a875dcdc0fa2398bb280f084e898f46fefaf51e35c3c5aadcbef5a5d",
110
110
  "expo/create-only/.zap/baseline.conf": "ab18d74ba5270dd5d795e740cd6b1292bb78dc36c79a20c1e7b752d14c0c55f5",
@@ -361,14 +361,18 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
361
361
  "plugins/src/base/rules/eager/dependency-internalization-kit.md": "9e2cc78afffc477c14718390ed88c42f781911c51fb7c13dada497f9e956b1a3",
362
362
  "plugins/src/base/rules/eager/dependency-trust-classes.md": "43a0932a7b8d4fd075b66bfe778025d808a13d9aa61ae793e9eb2fc8a555a381",
363
363
  "plugins/src/base/rules/eager/derived-branch-plan.md": "aa88be9f1a6de7a843222585bcc1c593b993e7d5900c8a33a9f38ef8a99d25b4",
364
+ "plugins/src/base/rules/eager/do-it-now.md": "de0c1565fa7b8a99a7f5d15af1118c3e5eb942a0d893bbb672533149fb82688e",
364
365
  "plugins/src/base/rules/eager/documentation-source-paths.md": "3a7c2a6264654a3cc44dd326441ba211a39c1c267033cc189c1c635adb84b52b",
365
- "plugins/src/base/rules/eager/empirical-inquiry.md": "e638352e2426110eb831a2c4c7dbbd302f578009cdc5bc69258bddf3677c2f44",
366
+ "plugins/src/base/rules/eager/empirical-inquiry.md": "67aa64ba3ecc4f3cd761111d2562662e0a2acf7892703b14ec83f7f7b073e670",
366
367
  "plugins/src/base/rules/eager/factory-model.md": "dee39b4276926ee27a2614bf26b985fd33bb3d115313fa6e2893de12da13ed7c",
367
- "plugins/src/base/rules/eager/falsifiable-checks.md": "f26bb06e17f27e2b4d2e45657df6e5b0b3990124d5937a0701d8bf5a7e47d6f8",
368
+ "plugins/src/base/rules/eager/falsifiable-checks.md": "7cfe0ec4a4c7f7b133580ee4b9004b764a99bd98e9d39856c587c8ad45fda920",
368
369
  "plugins/src/base/rules/eager/history-audit.md": "e2365e3fb28230c643e943d26688a93906afa68e3e1355d3e86d4b22ab3db559",
369
- "plugins/src/base/rules/eager/integration-access-layer.md": "f857fd731d65615e6ac4e7bb2dd7cad00cf692749fd1ccf344b3cb9ca1c49877",
370
+ "plugins/src/base/rules/eager/integration-access-layer.md": "e5675ec414d0dcfbbf7a29912f39ea5fb02747aa4e6045493e636cba1e635eb7",
370
371
  "plugins/src/base/rules/eager/intent-routing.md": "a2ef2397a98fb3d991fcfb39b669e289c1e2b697191cbeb6c071d71eca836207",
371
372
  "plugins/src/base/rules/eager/leaf-only-lifecycle.md": "270a7b071c0dfabd2c80417e6a63ab462a9ac630dc3d1ae36c68a2fbf6235578",
373
+ "plugins/src/base/rules/eager/learnings-ladder.md": "58f70031f7ad720254e73db53f4f328f35cdce2a562c8f62e403be842abccab0",
374
+ "plugins/src/base/rules/eager/local-ci-first.md": "8a0369f3b23c4c9906194ea2d5b6dab44bb82dee753571b7e3e27ed799a289f5",
375
+ "plugins/src/base/rules/eager/not-blocked-just-waiting.md": "bd96e3a61bfd9ddf27d88b6cb62948c701b6335e9758a081cd5c1fc63048d9be",
372
376
  "plugins/src/base/rules/eager/observability-audit.md": "eef7f612937db85e2fb685f262a651ac0fea195fb79363224281f057dc1a6ef7",
373
377
  "plugins/src/base/rules/eager/prd-definition-of-ready.md": "5d30476344425f78961ed1412b06edd5e7cde478c81e1b945860b55aecf56e1f",
374
378
  "plugins/src/base/rules/eager/prd-lifecycle-rollup.md": "b5c58148a0ed78989e21bc7789ecf1d5448077879be01ee342ddb46d8f105a1e",
@@ -382,6 +386,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
382
386
  "plugins/src/base/rules/eager/report-actionability.md": "7c4d5b2bea93b7cd5bb8694fa7c06f4ca8f94a19eb17832f1ccc5354b0207163",
383
387
  "plugins/src/base/rules/eager/reset-seed-coverage.md": "d028c8709d7d3a05b2f9bb8209a0d6bf1aef99e88d5e7d7132909e8d0d4c19d9",
384
388
  "plugins/src/base/rules/eager/security-audit-handling.md": "1f6effe92be66736a0c9fab634c5fdd6ad1e789865faa67bb783c67ddb4ad490",
389
+ "plugins/src/base/rules/eager/session-status-updates.md": "bbb42e86b8eb68334b8b9c0bc70beb4895a54015e097bf745fc92156b3e24766",
385
390
  "plugins/src/base/rules/eager/settled-decisions.md": "f5339c81b8d29f628830e6147314cbb941b9d9e6d87c3834d8fe7adc4b46ef4c",
386
391
  "plugins/src/base/rules/eager/stale-state-claims.md": "faf5057f5910237b8d5048dbcccb73e0cd03762a8eefbeae43b5d0153104a85a",
387
392
  "plugins/src/base/rules/eager/tool-access-gate.md": "a5413a43ec353f768586e0a1cde3836db025cb5d8b80821020602995e71aa296",
@@ -389,7 +394,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
389
394
  "plugins/src/base/rules/eager/upstream-to-lisa.md": "eb8b37e789423dba78e3a77951db087c4d3f56a88478b63107ec6b9ddbf23b13",
390
395
  "plugins/src/base/rules/eager/usage-accounting.md": "b93fa782d61911579b25363e465bb1f4e9b7e4edb54465a346d52f74dffe5a97",
391
396
  "plugins/src/base/rules/eager/verification.md": "a6cc1d50c5b91080171490edce4d375f136a14790dcbb247ca8b736ad8f55cfd",
392
- "plugins/src/base/rules/eager/wiki-knowledge-source.md": "418c2f6e8fcf726a7ebfc7cc69210e37dc23cc8b20573e19e1de33cf0587dd17",
397
+ "plugins/src/base/rules/eager/wiki-knowledge-source.md": "b3ae63fca40461fef19779d8f0c971553963ed8fe9c22fc504da3d8e757b3a36",
393
398
  "plugins/src/base/rules/eager/work-item-definition-of-ready.md": "4285953f749aabee90dd44d7bff7e28a50e0a8c910917a96ebf81abfa425d836",
394
399
  "plugins/src/base/rules/reference/automation-runbook-contract.md": "2074badf010c15dce80ce17be0d0c714baf700d09e87ca1f9d4628108e6f231c",
395
400
  "plugins/src/base/rules/reference/base-rules.md": "487ea1764c4b636ca4a33b78a90e925f028bb9a54182c0795cd1bbdc437a262d",
@@ -405,14 +410,18 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
405
410
  "plugins/src/base/rules/reference/dependency-internalization-kit.md": "8c8e9bddbe2165905c3919ae9dd3d131b557cf9c7eb370393dfa85827076c73b",
406
411
  "plugins/src/base/rules/reference/dependency-trust-classes.md": "82216b80d4807e0ad302d04924032cc6a7a95b26f72ea853e378572a5c31821c",
407
412
  "plugins/src/base/rules/reference/derived-branch-plan.md": "672983b5171bf6e377f3d17927fd75e45208ffa6500718c07df1d449ca00f7d0",
413
+ "plugins/src/base/rules/reference/do-it-now.md": "46fdcc335e115d0f387af398789f443ef8dd3ab17de5f7d95120c31f913a8fce",
408
414
  "plugins/src/base/rules/reference/documentation-source-paths.md": "555155889c9cf279865b9d8fc554bdd461c96a3ec76a5001dfeb361a71056999",
409
- "plugins/src/base/rules/reference/empirical-inquiry.md": "85f4552aa4c561677de40fd01bc6cccf5dbcf13865647db9df819d11f3cc3389",
415
+ "plugins/src/base/rules/reference/empirical-inquiry.md": "8cb166ab9eff4eb30287822a4d7843f76884d70d683d7c61d6a7ffd4ff9f7159",
410
416
  "plugins/src/base/rules/reference/factory-model.md": "b28a2ea4df7c33390111667a2807d9003cf8c9a14829f6fb0dbc929b05bfed3a",
411
- "plugins/src/base/rules/reference/falsifiable-checks.md": "89015d3c21b38de5f6d871ef6d97f64820d0068cf93c5c3ab58927f65741944f",
417
+ "plugins/src/base/rules/reference/falsifiable-checks.md": "284eccdf5b0fa29d2927a24ab25ad4aed34b0798e4fdf2e8e7d6fd1b80e3236b",
412
418
  "plugins/src/base/rules/reference/history-audit.md": "20a46390f71fadda499c61193d430c3d53df49b55a4cefa50a112f82fa4b05ef",
413
- "plugins/src/base/rules/reference/integration-access-layer.md": "630eded38a921ae878cf647b8ed55237a805717d01090ebe47d2aae9c0e7276d",
419
+ "plugins/src/base/rules/reference/integration-access-layer.md": "6d0f419b315ffcf9bdd14a556a81c05848e8245e2ba850696e72d4cff2e65600",
414
420
  "plugins/src/base/rules/reference/intent-routing.md": "988f8f45b41056c2adaa1a3e5f6ea926ac56a2fd041c07f98a9c2b271050efdd",
415
421
  "plugins/src/base/rules/reference/leaf-only-lifecycle.md": "3d6d531fdca61a348fa1dd1bdb4c28fe66c85fb955238ef668a78cce4a36a7a1",
422
+ "plugins/src/base/rules/reference/learnings-ladder.md": "4b6760e8ec58dea0e646cfa1b0518f468cc959ef3be55e3f87c225ec076f53c7",
423
+ "plugins/src/base/rules/reference/local-ci-first.md": "4db796a9e159d25e5edd0d8d8d713b6556a3024a96e3882a50e19928b0e81a18",
424
+ "plugins/src/base/rules/reference/not-blocked-just-waiting.md": "bef69d0cefa92e2b8ca589bb27f8e92749140e662d54110e12f0a47890e69f14",
416
425
  "plugins/src/base/rules/reference/observability-audit.md": "98cf4c849baf0801bd2c46a90e7a072196649d506fbda577cc5c4019d2194551",
417
426
  "plugins/src/base/rules/reference/prd-definition-of-ready.md": "041a8f3c9b703b3921acc30fe92acfb9e2ab43da04cf019c102ebca98b2f4ba3",
418
427
  "plugins/src/base/rules/reference/prd-lifecycle-rollup.md": "f539e7b43918e173dd7491a139be078815d26098f992cd7fc86cd05878c90b9b",
@@ -426,6 +435,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
426
435
  "plugins/src/base/rules/reference/report-actionability.md": "42fa86bb189467c7bc7ee64f6ebccd3926bb2aaf512ee5a498c232025b8a364b",
427
436
  "plugins/src/base/rules/reference/reset-seed-coverage.md": "741c49e0544aecfa2c4aadf6a36ef496a1a5d974f71962ae8e33cc625651f0c2",
428
437
  "plugins/src/base/rules/reference/security-audit-handling.md": "9633e11ac89af26444a272449f36fe03f26e61fab40ca16a0ab50464725f7d8c",
438
+ "plugins/src/base/rules/reference/session-status-updates.md": "8c34dc9399d6b20103edb3ed8d214aaa05a97065e4c78d8010f394cd041b3320",
429
439
  "plugins/src/base/rules/reference/settled-decisions.md": "6c84f309a1f765eba1648d6ace836387bd96b924f245c16cf3629f501ef6bb18",
430
440
  "plugins/src/base/rules/reference/stale-state-claims.md": "6329e1a7629f9a12f10454c767842aecee4964df8b7bb4aebda9dde3c0959c2a",
431
441
  "plugins/src/base/rules/reference/tool-access-gate.md": "70fcd6cd92dc003a40886b1bef02540e6401f5b70ba97308d42bbbddc0206eab",
@@ -433,7 +443,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
433
443
  "plugins/src/base/rules/reference/upstream-to-lisa.md": "dcf07f8eba66aaf1d132bfaeff73cbf7576279822893235a3c3f8cbc4a4a3323",
434
444
  "plugins/src/base/rules/reference/usage-accounting.md": "79c00ed4a97c40de72cfccef16b6846ba668fc564354507907876489c038ab75",
435
445
  "plugins/src/base/rules/reference/verification.md": "9ae8db87b37c7700687fabd1b8632b3cddd0f1f1e4b04384c604f88f160056ed",
436
- "plugins/src/base/rules/reference/wiki-knowledge-source.md": "305d38e13984c2a64144f302336405d0ccbec493a6ed3ec67d210fed44940717",
446
+ "plugins/src/base/rules/reference/wiki-knowledge-source.md": "725a7415a0606f85164722bd4b4975bce1f496cc43c97e45b224810b1a685189",
437
447
  "plugins/src/base/rules/reference/work-item-definition-of-ready.md": "ebcfe89f5a33a8008c4a54c1c2f4a092952df3263adc8f537a4c0b6ad8dbe18d",
438
448
  "plugins/src/base/scripts/automation-run-record.mjs": "89143e06975d8333b137fd2bdb5f12bcd703403752337f00c25d18fefba6a4c8",
439
449
  "plugins/src/base/scripts/automation-status-claude-adapter.mjs": "b1054acf4a5cbbe5354bd62a22b96533bcbc69b6cb9245976ceb8af638a04494",
@@ -1111,12 +1121,12 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1111
1121
  "typescript/copy-overwrite/eslint.ignore.config.json": "04dcd754829cf93bf0ba0d76e4031d28cb7149afa658575d02bb13bf73f7880e",
1112
1122
  "typescript/copy-overwrite/eslint.slow.config.ts": "f66d04381940936544931d7f20ffd4e43c38b8a907d56ffa101e2236371d8c94",
1113
1123
  "typescript/copy-overwrite/knip.json": "6eb93d705a2d645332fbae1dd42cf2d48f85978ebc265451a53790912f277d12",
1114
- "typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs": "e497015ea207f43492dcb8a32918066ff061588af71c684531f38dbc1f2ed89c",
1124
+ "typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs": "c9dd6f6816b35d4d8f684892878d4181b9cb5266a7f2e2814970aa49dc04a001",
1115
1125
  "typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs": "86e9df17ea11fe0cd11d54f7fd60f016338e7fe28cdd4b07fab3b0b064b64ffb",
1116
1126
  "typescript/copy-overwrite/scripts/check-threshold-ratchet.mjs": "e1e3f22b33267212b90f915f83821559d1a45cab5b16c7164b86bd6c7b53549b",
1117
1127
  "typescript/copy-overwrite/scripts/check-verification-coverage.mjs": "3c1d27d0668fc66a18cb014f2b607878f0a88c178a773fbe964b8e46b19e86d6",
1118
1128
  "typescript/copy-overwrite/scripts/lisa-mutation.mjs": "7d8d24dea151ef2178807046e97aea7ebfadd9c88eb50347feb7bb4bb190227d",
1119
- "typescript/copy-overwrite/scripts/nightly-e2e-suites.schema.json": "ea9b2b4ab1d2a39d7b4eb8c841ccae576836678ca42bb40161d6af383e3e378c",
1129
+ "typescript/copy-overwrite/scripts/nightly-e2e-suites.schema.json": "a6041930ca4536f3a76e4f54976ff846ab575f5f07a2356722eedcb06795e684",
1120
1130
  "typescript/copy-overwrite/scripts/threshold-ratchet-compare.mjs": "90affbeaed0d65c032dccfc0bd4a4b26eda291f6b61aa8b12599f41842452e0a",
1121
1131
  "typescript/copy-overwrite/scripts/threshold-ratchet-families.mjs": "8fa58cc7276add0b2edf1de92bdcc32d81d840811ef0614ddc724010b59a888c",
1122
1132
  "typescript/copy-overwrite/sgconfig.yml": "0ffe058c791d4d323f98104cf78c763bb0356d88739042060ceb86b6b1cb78d7",
@@ -2498,6 +2508,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2498
2508
  "plugins/lisa-copilot/rules/eager/dependency-internalization-kit.md": true,
2499
2509
  "plugins/lisa-copilot/rules/eager/dependency-trust-classes.md": true,
2500
2510
  "plugins/lisa-copilot/rules/eager/derived-branch-plan.md": true,
2511
+ "plugins/lisa-copilot/rules/eager/do-it-now.md": true,
2501
2512
  "plugins/lisa-copilot/rules/eager/documentation-source-paths.md": true,
2502
2513
  "plugins/lisa-copilot/rules/eager/empirical-inquiry.md": true,
2503
2514
  "plugins/lisa-copilot/rules/eager/factory-model.md": true,
@@ -2506,6 +2517,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2506
2517
  "plugins/lisa-copilot/rules/eager/integration-access-layer.md": true,
2507
2518
  "plugins/lisa-copilot/rules/eager/intent-routing.md": true,
2508
2519
  "plugins/lisa-copilot/rules/eager/leaf-only-lifecycle.md": true,
2520
+ "plugins/lisa-copilot/rules/eager/learnings-ladder.md": true,
2521
+ "plugins/lisa-copilot/rules/eager/local-ci-first.md": true,
2522
+ "plugins/lisa-copilot/rules/eager/not-blocked-just-waiting.md": true,
2509
2523
  "plugins/lisa-copilot/rules/eager/observability-audit.md": true,
2510
2524
  "plugins/lisa-copilot/rules/eager/prd-definition-of-ready.md": true,
2511
2525
  "plugins/lisa-copilot/rules/eager/prd-lifecycle-rollup.md": true,
@@ -2519,6 +2533,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2519
2533
  "plugins/lisa-copilot/rules/eager/report-actionability.md": true,
2520
2534
  "plugins/lisa-copilot/rules/eager/reset-seed-coverage.md": true,
2521
2535
  "plugins/lisa-copilot/rules/eager/security-audit-handling.md": true,
2536
+ "plugins/lisa-copilot/rules/eager/session-status-updates.md": true,
2522
2537
  "plugins/lisa-copilot/rules/eager/settled-decisions.md": true,
2523
2538
  "plugins/lisa-copilot/rules/eager/stale-state-claims.md": true,
2524
2539
  "plugins/lisa-copilot/rules/eager/tool-access-gate.md": true,
@@ -2542,6 +2557,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2542
2557
  "plugins/lisa-copilot/rules/reference/dependency-internalization-kit.md": true,
2543
2558
  "plugins/lisa-copilot/rules/reference/dependency-trust-classes.md": true,
2544
2559
  "plugins/lisa-copilot/rules/reference/derived-branch-plan.md": true,
2560
+ "plugins/lisa-copilot/rules/reference/do-it-now.md": true,
2545
2561
  "plugins/lisa-copilot/rules/reference/documentation-source-paths.md": true,
2546
2562
  "plugins/lisa-copilot/rules/reference/empirical-inquiry.md": true,
2547
2563
  "plugins/lisa-copilot/rules/reference/factory-model.md": true,
@@ -2550,6 +2566,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2550
2566
  "plugins/lisa-copilot/rules/reference/integration-access-layer.md": true,
2551
2567
  "plugins/lisa-copilot/rules/reference/intent-routing.md": true,
2552
2568
  "plugins/lisa-copilot/rules/reference/leaf-only-lifecycle.md": true,
2569
+ "plugins/lisa-copilot/rules/reference/learnings-ladder.md": true,
2570
+ "plugins/lisa-copilot/rules/reference/local-ci-first.md": true,
2571
+ "plugins/lisa-copilot/rules/reference/not-blocked-just-waiting.md": true,
2553
2572
  "plugins/lisa-copilot/rules/reference/observability-audit.md": true,
2554
2573
  "plugins/lisa-copilot/rules/reference/prd-definition-of-ready.md": true,
2555
2574
  "plugins/lisa-copilot/rules/reference/prd-lifecycle-rollup.md": true,
@@ -2563,6 +2582,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2563
2582
  "plugins/lisa-copilot/rules/reference/report-actionability.md": true,
2564
2583
  "plugins/lisa-copilot/rules/reference/reset-seed-coverage.md": true,
2565
2584
  "plugins/lisa-copilot/rules/reference/security-audit-handling.md": true,
2585
+ "plugins/lisa-copilot/rules/reference/session-status-updates.md": true,
2566
2586
  "plugins/lisa-copilot/rules/reference/settled-decisions.md": true,
2567
2587
  "plugins/lisa-copilot/rules/reference/stale-state-claims.md": true,
2568
2588
  "plugins/lisa-copilot/rules/reference/tool-access-gate.md": true,
@@ -2945,6 +2965,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2945
2965
  "plugins/lisa-cursor/rules/dependency-trust-classes.mdc": true,
2946
2966
  "plugins/lisa-cursor/rules/derived-branch-plan-reference.mdc": true,
2947
2967
  "plugins/lisa-cursor/rules/derived-branch-plan.mdc": true,
2968
+ "plugins/lisa-cursor/rules/do-it-now-reference.mdc": true,
2969
+ "plugins/lisa-cursor/rules/do-it-now.mdc": true,
2948
2970
  "plugins/lisa-cursor/rules/documentation-source-paths-reference.mdc": true,
2949
2971
  "plugins/lisa-cursor/rules/documentation-source-paths.mdc": true,
2950
2972
  "plugins/lisa-cursor/rules/empirical-inquiry-reference.mdc": true,
@@ -2961,6 +2983,12 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2961
2983
  "plugins/lisa-cursor/rules/intent-routing.mdc": true,
2962
2984
  "plugins/lisa-cursor/rules/leaf-only-lifecycle-reference.mdc": true,
2963
2985
  "plugins/lisa-cursor/rules/leaf-only-lifecycle.mdc": true,
2986
+ "plugins/lisa-cursor/rules/learnings-ladder-reference.mdc": true,
2987
+ "plugins/lisa-cursor/rules/learnings-ladder.mdc": true,
2988
+ "plugins/lisa-cursor/rules/local-ci-first-reference.mdc": true,
2989
+ "plugins/lisa-cursor/rules/local-ci-first.mdc": true,
2990
+ "plugins/lisa-cursor/rules/not-blocked-just-waiting-reference.mdc": true,
2991
+ "plugins/lisa-cursor/rules/not-blocked-just-waiting.mdc": true,
2964
2992
  "plugins/lisa-cursor/rules/observability-audit-reference.mdc": true,
2965
2993
  "plugins/lisa-cursor/rules/observability-audit.mdc": true,
2966
2994
  "plugins/lisa-cursor/rules/prd-definition-of-ready-reference.mdc": true,
@@ -2987,6 +3015,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
2987
3015
  "plugins/lisa-cursor/rules/reset-seed-coverage.mdc": true,
2988
3016
  "plugins/lisa-cursor/rules/security-audit-handling-reference.mdc": true,
2989
3017
  "plugins/lisa-cursor/rules/security-audit-handling.mdc": true,
3018
+ "plugins/lisa-cursor/rules/session-status-updates-reference.mdc": true,
3019
+ "plugins/lisa-cursor/rules/session-status-updates.mdc": true,
2990
3020
  "plugins/lisa-cursor/rules/settled-decisions-reference.mdc": true,
2991
3021
  "plugins/lisa-cursor/rules/settled-decisions.mdc": true,
2992
3022
  "plugins/lisa-cursor/rules/stale-state-claims-reference.mdc": true,
@@ -5454,6 +5484,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5454
5484
  "plugins/lisa/rules/eager/dependency-internalization-kit.md": true,
5455
5485
  "plugins/lisa/rules/eager/dependency-trust-classes.md": true,
5456
5486
  "plugins/lisa/rules/eager/derived-branch-plan.md": true,
5487
+ "plugins/lisa/rules/eager/do-it-now.md": true,
5457
5488
  "plugins/lisa/rules/eager/documentation-source-paths.md": true,
5458
5489
  "plugins/lisa/rules/eager/empirical-inquiry.md": true,
5459
5490
  "plugins/lisa/rules/eager/factory-model.md": true,
@@ -5462,6 +5493,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5462
5493
  "plugins/lisa/rules/eager/integration-access-layer.md": true,
5463
5494
  "plugins/lisa/rules/eager/intent-routing.md": true,
5464
5495
  "plugins/lisa/rules/eager/leaf-only-lifecycle.md": true,
5496
+ "plugins/lisa/rules/eager/learnings-ladder.md": true,
5497
+ "plugins/lisa/rules/eager/local-ci-first.md": true,
5498
+ "plugins/lisa/rules/eager/not-blocked-just-waiting.md": true,
5465
5499
  "plugins/lisa/rules/eager/observability-audit.md": true,
5466
5500
  "plugins/lisa/rules/eager/prd-definition-of-ready.md": true,
5467
5501
  "plugins/lisa/rules/eager/prd-lifecycle-rollup.md": true,
@@ -5475,6 +5509,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5475
5509
  "plugins/lisa/rules/eager/report-actionability.md": true,
5476
5510
  "plugins/lisa/rules/eager/reset-seed-coverage.md": true,
5477
5511
  "plugins/lisa/rules/eager/security-audit-handling.md": true,
5512
+ "plugins/lisa/rules/eager/session-status-updates.md": true,
5478
5513
  "plugins/lisa/rules/eager/settled-decisions.md": true,
5479
5514
  "plugins/lisa/rules/eager/stale-state-claims.md": true,
5480
5515
  "plugins/lisa/rules/eager/tool-access-gate.md": true,
@@ -5498,6 +5533,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5498
5533
  "plugins/lisa/rules/reference/dependency-internalization-kit.md": true,
5499
5534
  "plugins/lisa/rules/reference/dependency-trust-classes.md": true,
5500
5535
  "plugins/lisa/rules/reference/derived-branch-plan.md": true,
5536
+ "plugins/lisa/rules/reference/do-it-now.md": true,
5501
5537
  "plugins/lisa/rules/reference/documentation-source-paths.md": true,
5502
5538
  "plugins/lisa/rules/reference/empirical-inquiry.md": true,
5503
5539
  "plugins/lisa/rules/reference/factory-model.md": true,
@@ -5506,6 +5542,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5506
5542
  "plugins/lisa/rules/reference/integration-access-layer.md": true,
5507
5543
  "plugins/lisa/rules/reference/intent-routing.md": true,
5508
5544
  "plugins/lisa/rules/reference/leaf-only-lifecycle.md": true,
5545
+ "plugins/lisa/rules/reference/learnings-ladder.md": true,
5546
+ "plugins/lisa/rules/reference/local-ci-first.md": true,
5547
+ "plugins/lisa/rules/reference/not-blocked-just-waiting.md": true,
5509
5548
  "plugins/lisa/rules/reference/observability-audit.md": true,
5510
5549
  "plugins/lisa/rules/reference/prd-definition-of-ready.md": true,
5511
5550
  "plugins/lisa/rules/reference/prd-lifecycle-rollup.md": true,
@@ -5519,6 +5558,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
5519
5558
  "plugins/lisa/rules/reference/report-actionability.md": true,
5520
5559
  "plugins/lisa/rules/reference/reset-seed-coverage.md": true,
5521
5560
  "plugins/lisa/rules/reference/security-audit-handling.md": true,
5561
+ "plugins/lisa/rules/reference/session-status-updates.md": true,
5522
5562
  "plugins/lisa/rules/reference/settled-decisions.md": true,
5523
5563
  "plugins/lisa/rules/reference/stale-state-claims.md": true,
5524
5564
  "plugins/lisa/rules/reference/tool-access-gate.md": true,
@@ -6067,6 +6107,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6067
6107
  "plugins/src/base/rules/eager/dependency-internalization-kit.md": true,
6068
6108
  "plugins/src/base/rules/eager/dependency-trust-classes.md": true,
6069
6109
  "plugins/src/base/rules/eager/derived-branch-plan.md": true,
6110
+ "plugins/src/base/rules/eager/do-it-now.md": true,
6070
6111
  "plugins/src/base/rules/eager/documentation-source-paths.md": true,
6071
6112
  "plugins/src/base/rules/eager/empirical-inquiry.md": true,
6072
6113
  "plugins/src/base/rules/eager/factory-model.md": true,
@@ -6075,6 +6116,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6075
6116
  "plugins/src/base/rules/eager/integration-access-layer.md": true,
6076
6117
  "plugins/src/base/rules/eager/intent-routing.md": true,
6077
6118
  "plugins/src/base/rules/eager/leaf-only-lifecycle.md": true,
6119
+ "plugins/src/base/rules/eager/learnings-ladder.md": true,
6120
+ "plugins/src/base/rules/eager/local-ci-first.md": true,
6121
+ "plugins/src/base/rules/eager/not-blocked-just-waiting.md": true,
6078
6122
  "plugins/src/base/rules/eager/observability-audit.md": true,
6079
6123
  "plugins/src/base/rules/eager/prd-definition-of-ready.md": true,
6080
6124
  "plugins/src/base/rules/eager/prd-lifecycle-rollup.md": true,
@@ -6088,6 +6132,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6088
6132
  "plugins/src/base/rules/eager/report-actionability.md": true,
6089
6133
  "plugins/src/base/rules/eager/reset-seed-coverage.md": true,
6090
6134
  "plugins/src/base/rules/eager/security-audit-handling.md": true,
6135
+ "plugins/src/base/rules/eager/session-status-updates.md": true,
6091
6136
  "plugins/src/base/rules/eager/settled-decisions.md": true,
6092
6137
  "plugins/src/base/rules/eager/stale-state-claims.md": true,
6093
6138
  "plugins/src/base/rules/eager/tool-access-gate.md": true,
@@ -6111,6 +6156,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6111
6156
  "plugins/src/base/rules/reference/dependency-internalization-kit.md": true,
6112
6157
  "plugins/src/base/rules/reference/dependency-trust-classes.md": true,
6113
6158
  "plugins/src/base/rules/reference/derived-branch-plan.md": true,
6159
+ "plugins/src/base/rules/reference/do-it-now.md": true,
6114
6160
  "plugins/src/base/rules/reference/documentation-source-paths.md": true,
6115
6161
  "plugins/src/base/rules/reference/empirical-inquiry.md": true,
6116
6162
  "plugins/src/base/rules/reference/factory-model.md": true,
@@ -6119,6 +6165,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6119
6165
  "plugins/src/base/rules/reference/integration-access-layer.md": true,
6120
6166
  "plugins/src/base/rules/reference/intent-routing.md": true,
6121
6167
  "plugins/src/base/rules/reference/leaf-only-lifecycle.md": true,
6168
+ "plugins/src/base/rules/reference/learnings-ladder.md": true,
6169
+ "plugins/src/base/rules/reference/local-ci-first.md": true,
6170
+ "plugins/src/base/rules/reference/not-blocked-just-waiting.md": true,
6122
6171
  "plugins/src/base/rules/reference/observability-audit.md": true,
6123
6172
  "plugins/src/base/rules/reference/prd-definition-of-ready.md": true,
6124
6173
  "plugins/src/base/rules/reference/prd-lifecycle-rollup.md": true,
@@ -6132,6 +6181,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6132
6181
  "plugins/src/base/rules/reference/report-actionability.md": true,
6133
6182
  "plugins/src/base/rules/reference/reset-seed-coverage.md": true,
6134
6183
  "plugins/src/base/rules/reference/security-audit-handling.md": true,
6184
+ "plugins/src/base/rules/reference/session-status-updates.md": true,
6135
6185
  "plugins/src/base/rules/reference/settled-decisions.md": true,
6136
6186
  "plugins/src/base/rules/reference/stale-state-claims.md": true,
6137
6187
  "plugins/src/base/rules/reference/tool-access-gate.md": true,
@@ -7280,6 +7330,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7280
7330
  "tests/integration/maestro-native-flow-runner.test.ts": true,
7281
7331
  "tests/integration/maestro-native-workflow.test.ts": true,
7282
7332
  "tests/integration/maestro-native-zero-flow.test.ts": true,
7333
+ "tests/integration/nightly-e2e-grace-wiring.test.ts": true,
7283
7334
  "tests/integration/nightly-e2e-health-workflow.test.ts": true,
7284
7335
  "tests/integration/nightly-e2e-report-workflow.test.ts": true,
7285
7336
  "tests/integration/quality-workflow.test.ts": true,
@@ -7449,6 +7500,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7449
7500
  "tests/unit/core/host-rules-parity.test.ts": true,
7450
7501
  "tests/unit/core/host-rules-pointer.test.ts": true,
7451
7502
  "tests/unit/core/instruction-files-migration.test.ts": true,
7503
+ "tests/unit/core/instruction-files-self-host.test.ts": true,
7452
7504
  "tests/unit/core/kane-cli.test.ts": true,
7453
7505
  "tests/unit/core/kane-pilot.test.ts": true,
7454
7506
  "tests/unit/core/kane-readiness.test.ts": true,
@@ -7603,6 +7655,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7603
7655
  "tests/unit/scripts/nightly-e2e-health-api.test.ts": true,
7604
7656
  "tests/unit/scripts/nightly-e2e-health-bypass.test.ts": true,
7605
7657
  "tests/unit/scripts/nightly-e2e-health-completeness.test.ts": true,
7658
+ "tests/unit/scripts/nightly-e2e-health-grace.test.ts": true,
7606
7659
  "tests/unit/scripts/nightly-e2e-health-issues.test.ts": true,
7607
7660
  "tests/unit/scripts/nightly-e2e-health-label-attribution.test.ts": true,
7608
7661
  "tests/unit/scripts/nightly-e2e-health.test.ts": true,
@@ -7831,6 +7884,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7831
7884
  "tests/unit/strategies/reset-seed-coverage-rule.test.ts": true,
7832
7885
  "tests/unit/strategies/rework-triage-skill.test.ts": true,
7833
7886
  "tests/unit/strategies/security-two-bucket-contract.test.ts": true,
7887
+ "tests/unit/strategies/session-operating-pack.test.ts": true,
7834
7888
  "tests/unit/strategies/setup-automations-readiness-warning.test.ts": true,
7835
7889
  "tests/unit/strategies/setup-confluence-verified-parent.test.ts": true,
7836
7890
  "tests/unit/strategies/setup-github-prd-verified-label.test.ts": true,