@codyswann/lisa 3.6.2 → 3.8.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 (97) hide show
  1. package/dist/cli/doctor-worktree-hygiene.d.ts +40 -0
  2. package/dist/cli/doctor-worktree-hygiene.d.ts.map +1 -0
  3. package/dist/cli/doctor-worktree-hygiene.js +123 -0
  4. package/dist/cli/doctor-worktree-hygiene.js.map +1 -0
  5. package/dist/cli/doctor.d.ts.map +1 -1
  6. package/dist/cli/doctor.js +6 -0
  7. package/dist/cli/doctor.js.map +1 -1
  8. package/dist/core/upstream-evidence-manifest.d.ts.map +1 -1
  9. package/dist/core/upstream-evidence-manifest.js +24 -11
  10. package/dist/core/upstream-evidence-manifest.js.map +1 -1
  11. package/expo/create-only/.github/required-checks.json +9 -1
  12. package/nestjs/create-only/.github/required-checks.json +9 -1
  13. package/package.json +1 -1
  14. package/plugins/lisa/.claude-plugin/plugin.json +1 -1
  15. package/plugins/lisa/.codex-plugin/plugin.json +1 -1
  16. package/plugins/lisa/.codex-plugin/skills/lisa-drive-pr-to-merge/SKILL.md +29 -1
  17. package/plugins/lisa/.codex-plugin/skills/lisa-pull-request-review/SKILL.md +50 -2
  18. package/plugins/lisa/rules/eager/falsifiable-checks.md +3 -1
  19. package/plugins/lisa/rules/reference/derived-branch-plan.md +18 -2
  20. package/plugins/lisa/rules/reference/falsifiable-checks.md +57 -5
  21. package/plugins/lisa/scripts/design-source-gate.mjs +11 -2
  22. package/plugins/lisa/skills/lisa-drive-pr-to-merge/SKILL.md +29 -1
  23. package/plugins/lisa/skills/lisa-pull-request-review/SKILL.md +50 -2
  24. package/plugins/lisa-agy/plugin.json +1 -1
  25. package/plugins/lisa-agy/scripts/design-source-gate.mjs +11 -2
  26. package/plugins/lisa-agy/skills/lisa-drive-pr-to-merge/SKILL.md +29 -1
  27. package/plugins/lisa-agy/skills/lisa-pull-request-review/SKILL.md +50 -2
  28. package/plugins/lisa-cdk/.claude-plugin/plugin.json +1 -1
  29. package/plugins/lisa-cdk/.codex-plugin/plugin.json +1 -1
  30. package/plugins/lisa-cdk-agy/plugin.json +1 -1
  31. package/plugins/lisa-cdk-copilot/.claude-plugin/plugin.json +1 -1
  32. package/plugins/lisa-cdk-cursor/.claude-plugin/plugin.json +1 -1
  33. package/plugins/lisa-copilot/.claude-plugin/plugin.json +1 -1
  34. package/plugins/lisa-copilot/rules/eager/falsifiable-checks.md +3 -1
  35. package/plugins/lisa-copilot/rules/reference/derived-branch-plan.md +18 -2
  36. package/plugins/lisa-copilot/rules/reference/falsifiable-checks.md +57 -5
  37. package/plugins/lisa-copilot/scripts/design-source-gate.mjs +11 -2
  38. package/plugins/lisa-copilot/skills/lisa-drive-pr-to-merge/SKILL.md +29 -1
  39. package/plugins/lisa-copilot/skills/lisa-pull-request-review/SKILL.md +50 -2
  40. package/plugins/lisa-cursor/.claude-plugin/plugin.json +1 -1
  41. package/plugins/lisa-cursor/rules/derived-branch-plan-reference.mdc +18 -2
  42. package/plugins/lisa-cursor/rules/falsifiable-checks-reference.mdc +57 -5
  43. package/plugins/lisa-cursor/rules/falsifiable-checks.mdc +3 -1
  44. package/plugins/lisa-cursor/scripts/design-source-gate.mjs +11 -2
  45. package/plugins/lisa-cursor/skills/lisa-drive-pr-to-merge/SKILL.md +29 -1
  46. package/plugins/lisa-cursor/skills/lisa-pull-request-review/SKILL.md +50 -2
  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/rules/eager/falsifiable-checks.md +3 -1
  88. package/plugins/src/base/rules/reference/derived-branch-plan.md +18 -2
  89. package/plugins/src/base/rules/reference/falsifiable-checks.md +57 -5
  90. package/plugins/src/base/scripts/design-source-gate.mjs +11 -2
  91. package/plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md +29 -1
  92. package/plugins/src/base/skills/lisa-pull-request-review/SKILL.md +50 -2
  93. package/typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml +71 -0
  94. package/typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member.yml +90 -0
  95. package/typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs +402 -5
  96. package/typescript/create-only/.github/required-checks.json +13 -3
  97. package/typescript/package-lisa/package.lisa.json +2 -1
@@ -0,0 +1,40 @@
1
+ import type { DoctorCheck } from "./doctor.js";
2
+ /**
3
+ * Worktree count above which doctor warns.
4
+ *
5
+ * Not derived from a failure rate — the measurements in CodySwannGT/lisa#2490
6
+ * varied worktree count and machine load together (27 worktrees at load ~50,
7
+ * 38 at load ~115), so they cannot isolate a count at which suites start
8
+ * failing. The threshold is grounded in the one quantity that IS deterministic:
9
+ * crawl amplification. Each worktree is a full checkout, so every tool that
10
+ * globs from the repo root sees the project's own source multiplied by the
11
+ * worktree count. Measured in this repo at 20 worktrees: 14,389 `.ts` files
12
+ * under `.claude/worktrees` against 1,023 in the project itself — 14x. Ten is
13
+ * the point past which the accumulated checkouts dominate the tree by an order
14
+ * of magnitude, which is early enough to act on and late enough that ordinary
15
+ * parallel work does not trip it.
16
+ */
17
+ export declare const WORKTREE_COUNT_WARN_THRESHOLD = 10;
18
+ /**
19
+ * Report how many agent worktrees have accumulated under this checkout.
20
+ *
21
+ * Agent worktrees are the root enabler behind the environmental unit-suite
22
+ * failures in CodySwannGT/lisa#2490: they are never garbage-collected, each one
23
+ * is a full checkout, and the resulting tree is what every crawler in the repo
24
+ * has to walk past. The same cause is documented downstream three separate ways
25
+ * in `propswap/frontend` (watchman crawl cost, jest's find-crawler overflowing
26
+ * V8's max string length, an unanchored Metro blockList pattern) — all of which
27
+ * only appeared once enough worktrees had piled up.
28
+ *
29
+ * Read-only and warn-only by design. Doctor reports the count and names the
30
+ * repair; it never removes a worktree itself, because the operator is the only
31
+ * one who knows whether an idle-looking checkout still holds work.
32
+ *
33
+ * Running from INSIDE a worktree naturally reports clean: the roots live in the
34
+ * primary checkout, so a worktree has none of its own. That matches how
35
+ * `isInsideWorktree` conditions the vitest and jest exclusions.
36
+ * @param targetPath - Project path to inspect
37
+ * @returns Doctor check result
38
+ */
39
+ export declare function checkWorktreeHygiene(targetPath: string): Promise<DoctorCheck>;
40
+ //# sourceMappingURL=doctor-worktree-hygiene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-worktree-hygiene.d.ts","sourceRoot":"","sources":["../../src/cli/doctor-worktree-hygiene.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAQhD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,oBAAoB,CACxC,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,WAAW,CAAC,CAsDtB"}
@@ -0,0 +1,123 @@
1
+ import { readdir } from "node:fs/promises";
2
+ import * as path from "node:path";
3
+ import { WORKTREE_ROOTS } from "../configs/worktrees.js";
4
+ const WORKTREE_HYGIENE_CHECK_NAME = "Agent worktree hygiene?";
5
+ /**
6
+ * Worktree count above which doctor warns.
7
+ *
8
+ * Not derived from a failure rate — the measurements in CodySwannGT/lisa#2490
9
+ * varied worktree count and machine load together (27 worktrees at load ~50,
10
+ * 38 at load ~115), so they cannot isolate a count at which suites start
11
+ * failing. The threshold is grounded in the one quantity that IS deterministic:
12
+ * crawl amplification. Each worktree is a full checkout, so every tool that
13
+ * globs from the repo root sees the project's own source multiplied by the
14
+ * worktree count. Measured in this repo at 20 worktrees: 14,389 `.ts` files
15
+ * under `.claude/worktrees` against 1,023 in the project itself — 14x. Ten is
16
+ * the point past which the accumulated checkouts dominate the tree by an order
17
+ * of magnitude, which is early enough to act on and late enough that ordinary
18
+ * parallel work does not trip it.
19
+ */
20
+ export const WORKTREE_COUNT_WARN_THRESHOLD = 10;
21
+ /**
22
+ * Report how many agent worktrees have accumulated under this checkout.
23
+ *
24
+ * Agent worktrees are the root enabler behind the environmental unit-suite
25
+ * failures in CodySwannGT/lisa#2490: they are never garbage-collected, each one
26
+ * is a full checkout, and the resulting tree is what every crawler in the repo
27
+ * has to walk past. The same cause is documented downstream three separate ways
28
+ * in `propswap/frontend` (watchman crawl cost, jest's find-crawler overflowing
29
+ * V8's max string length, an unanchored Metro blockList pattern) — all of which
30
+ * only appeared once enough worktrees had piled up.
31
+ *
32
+ * Read-only and warn-only by design. Doctor reports the count and names the
33
+ * repair; it never removes a worktree itself, because the operator is the only
34
+ * one who knows whether an idle-looking checkout still holds work.
35
+ *
36
+ * Running from INSIDE a worktree naturally reports clean: the roots live in the
37
+ * primary checkout, so a worktree has none of its own. That matches how
38
+ * `isInsideWorktree` conditions the vitest and jest exclusions.
39
+ * @param targetPath - Project path to inspect
40
+ * @returns Doctor check result
41
+ */
42
+ export async function checkWorktreeHygiene(targetPath) {
43
+ const inspections = await Promise.all(WORKTREE_ROOTS.map(root => inspectRoot(targetPath, root)));
44
+ const total = inspections.reduce((sum, inspection) => sum + inspection.count, 0);
45
+ const uninspectable = inspections.flatMap(inspection => inspection.uninspectable === undefined ? [] : [inspection.uninspectable]);
46
+ if (uninspectable.length > 0) {
47
+ return {
48
+ name: WORKTREE_HYGIENE_CHECK_NAME,
49
+ status: "warn",
50
+ detail: `Could not inspect worktree root(s): ${uninspectable.join(", ")}. ` +
51
+ `Counted ${total} agent worktrees in the roots that were readable`,
52
+ };
53
+ }
54
+ if (total === 0) {
55
+ return {
56
+ name: WORKTREE_HYGIENE_CHECK_NAME,
57
+ status: "ok",
58
+ detail: `No agent worktrees under ${WORKTREE_ROOTS.join(" or ")}`,
59
+ };
60
+ }
61
+ if (total <= WORKTREE_COUNT_WARN_THRESHOLD) {
62
+ return {
63
+ name: WORKTREE_HYGIENE_CHECK_NAME,
64
+ status: "ok",
65
+ detail: `${describeCount(total)} under ${WORKTREE_ROOTS.join(" and ")} (threshold ${WORKTREE_COUNT_WARN_THRESHOLD})`,
66
+ };
67
+ }
68
+ return {
69
+ name: WORKTREE_HYGIENE_CHECK_NAME,
70
+ status: "warn",
71
+ detail: `${describeCount(total)} under ${WORKTREE_ROOTS.join(" and ")}, ` +
72
+ `over the threshold of ${WORKTREE_COUNT_WARN_THRESHOLD}. ` +
73
+ "Each one is a full checkout that every file crawler walks past, which is " +
74
+ "what makes unit suites time out from ambient load rather than defects. " +
75
+ "Review them with `git worktree list`, retire the finished ones with " +
76
+ "`git worktree remove <path>` — which refuses a worktree with uncommitted " +
77
+ "changes, so it cannot discard work — then clear stale registrations with " +
78
+ "`git worktree prune` (CodySwannGT/lisa#2490)",
79
+ };
80
+ }
81
+ /**
82
+ * Count worktree directories under one repo-relative root.
83
+ * @param targetPath - Project path to inspect
84
+ * @param root - Repo-relative worktree root
85
+ * @returns Count for the root, or the root name when it could not be read
86
+ */
87
+ async function inspectRoot(targetPath, root) {
88
+ try {
89
+ const entries = await readdir(path.join(targetPath, root), {
90
+ withFileTypes: true,
91
+ });
92
+ return {
93
+ count: entries.filter(entry => entry.isDirectory()).length,
94
+ };
95
+ }
96
+ catch (error) {
97
+ // A missing root is the normal case — most checkouts have neither, and a
98
+ // worktree checkout has neither of its own. Anything else (a file where the
99
+ // directory belongs, a permissions failure) is reported rather than counted
100
+ // as clean, so the check never reports hygiene it did not verify.
101
+ return isMissing(error) ? { count: 0 } : { count: 0, uninspectable: root };
102
+ }
103
+ }
104
+ /**
105
+ * Report whether a readdir failure means the path simply does not exist.
106
+ * @param error - Error thrown by readdir
107
+ * @returns True when the root is absent
108
+ */
109
+ function isMissing(error) {
110
+ return (typeof error === "object" &&
111
+ error !== null &&
112
+ "code" in error &&
113
+ error.code === "ENOENT");
114
+ }
115
+ /**
116
+ * Render a worktree count with correct pluralization.
117
+ * @param total - Number of worktrees counted
118
+ * @returns Human-readable count phrase
119
+ */
120
+ function describeCount(total) {
121
+ return `${total} agent worktree${total === 1 ? "" : "s"}`;
122
+ }
123
+ //# sourceMappingURL=doctor-worktree-hygiene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-worktree-hygiene.js","sourceRoot":"","sources":["../../src/cli/doctor-worktree-hygiene.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAgBnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,mDAAmD;AACnD,KAAK,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAO3C,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACjD;AAaD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAyBtB;AA4MD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,aAAa,EACtB,YAAY,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC7C,OAAO,CAAC,YAAY,CAAC,CAwDvB"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAiBnE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,mDAAmD;AACnD,KAAK,YAAY,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAO3C,oCAAoC;AACpC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,wCAAwC;AACxC,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,KAAK,CAAC;IACxB,cAAc,EAAE,OAAO,cAAc,CAAC;IACtC,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,KAAK,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,kBAAkB,EAAE,OAAO,kBAAkB,CAAC;IAC9C,mBAAmB,EAAE,OAAO,mBAAmB,CAAC;CACjD;AAaD;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,EAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAyBtB;AA4MD;;;;;;GAMG;AACH,wBAAsB,SAAS,CAC7B,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,aAAa,EACtB,YAAY,GAAE,OAAO,CAAC,kBAAkB,CAAM,GAC7C,OAAO,CAAC,YAAY,CAAC,CA6DvB"}
@@ -17,6 +17,7 @@ import { checkLisaOwnedArtifacts } from "./doctor-lisa-owned-artifacts.js";
17
17
  import { checkLegacyMonitorThresholds } from "./doctor-monitor-thresholds.js";
18
18
  import { checkRepositoryReadiness } from "./doctor-readiness.js";
19
19
  import { checkWorkerEpoch } from "./doctor-worker-epoch.js";
20
+ import { checkWorktreeHygiene } from "./doctor-worktree-hygiene.js";
20
21
  import { STARTERS } from "./starters.js";
21
22
  import { runUpdateCheck } from "./update-check.js";
22
23
  const VERSION_CHECK_NAME = "Lisa version current?";
@@ -277,6 +278,11 @@ export async function runDoctor(targetPath, options, dependencies = {}) {
277
278
  await checkLearningsMergeDriver(resolvedTarget),
278
279
  await checkWorkerEpoch(resolvedTarget),
279
280
  checkLegacyCodexOverlay(resolvedTarget),
281
+ // Environment hygiene rather than project config: accumulated agent
282
+ // worktrees are what make unrelated unit suites time out under ambient
283
+ // load, so an operator debugging a red suite needs the count in front of
284
+ // them (CodySwannGT/lisa#2490).
285
+ await checkWorktreeHygiene(resolvedTarget),
280
286
  await checkStarterHealth(deps, options.offline === true),
281
287
  checkWiki(resolvedTarget),
282
288
  ...(options.readiness === true
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/cli/doctor.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,CAsyEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CA2gOjE,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,CA0yEpE,CAAC;AAEL,4EAA4E;AAC5E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAshOjE,CAAC;AAEL,sFAAsF;AACtF,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAk6I/D,CAAC"}
@@ -100,7 +100,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
100
100
  "expo/copy-overwrite/tsconfig.eslint.json": "375bb2ee8185e4a57d703e078ad57188f6d45b03b0fcbb16ef049fcf9b14c44b",
101
101
  "expo/copy-overwrite/tsconfig.expo.json": "55f3dfe80496f03152d40d364c5a9cabf3fdce3adc8cebea48ba5257d77b7aa9",
102
102
  "expo/copy-overwrite/tsconfig.json": "c92e2c2c109e8794ee351f634361ef46297f5a0cd606aaf5c19911da836df307",
103
- "expo/create-only/.github/required-checks.json": "68194b5e096c8d49579e06aed5e41df71c43c4dc46bbbcb390b4a27cd1e78c7f",
103
+ "expo/create-only/.github/required-checks.json": "9f23b0477f93c3193ab22251dd03251038cfe45c5a2603cb49fdf97cae799442",
104
104
  "expo/create-only/.github/workflows/ci.yml": "bf75c9d3b4f4a2cb24c2214d9fc27a9cb2247a6694b0cf02c40032b4d3e87cd9",
105
105
  "expo/create-only/.github/workflows/deploy.yml": "0978b1f4e19e1ff66bb8cdd037d36a3751d4e917db7ceb5bcf100fad36768516",
106
106
  "expo/create-only/.github/workflows/maestro-e2e.yml": "1063a54717195bb7df479a8ce16e8816b38b8f673be8670888d03e7833a96b7e",
@@ -182,7 +182,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
182
182
  "nestjs/create-only/.github/k6/thresholds/normal.json": "1842cf0b617380ce641781589b4084b03aac1beeb4803a696b3ae6329710ad44",
183
183
  "nestjs/create-only/.github/k6/thresholds/relaxed.json": "350c18b2c588fd628db8a6e82fc5c0b3ffc8a09f1c89b64d1f530350bc64a9ca",
184
184
  "nestjs/create-only/.github/k6/thresholds/strict.json": "e121ec72de4596b95c013a8c71f03653bcdf057cf7f8d1fec6f0e13c1381867f",
185
- "nestjs/create-only/.github/required-checks.json": "7d9af483f6150e2f7281f008dd08b56590721f3c86f6b1a3b7548f7838a0137f",
185
+ "nestjs/create-only/.github/required-checks.json": "6d40f9e3e89e1a7f533f6a995e1b9e5cc2fa089693b0cfbd8e8f883ae200589a",
186
186
  "nestjs/create-only/.github/workflows/ci.yml": "0985668e6d0478f1993bed8ccd398601d8e73376afd8775e1269ae129418152e",
187
187
  "nestjs/create-only/.github/workflows/deploy.yml": "78abfa87639cb7506418dd34387963a0557614933d823e6fa0413395166b945b",
188
188
  "nestjs/create-only/.zap/baseline.conf": "a7cd559b014555ef2efe7a6ce129384ec376ce4d66d5bc3ae9e2f3f883172c4d",
@@ -370,7 +370,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
370
370
  "plugins/src/base/rules/eager/documentation-source-paths.md": "3a7c2a6264654a3cc44dd326441ba211a39c1c267033cc189c1c635adb84b52b",
371
371
  "plugins/src/base/rules/eager/empirical-inquiry.md": "67aa64ba3ecc4f3cd761111d2562662e0a2acf7892703b14ec83f7f7b073e670",
372
372
  "plugins/src/base/rules/eager/factory-model.md": "dee39b4276926ee27a2614bf26b985fd33bb3d115313fa6e2893de12da13ed7c",
373
- "plugins/src/base/rules/eager/falsifiable-checks.md": "7cfe0ec4a4c7f7b133580ee4b9004b764a99bd98e9d39856c587c8ad45fda920",
373
+ "plugins/src/base/rules/eager/falsifiable-checks.md": "b4ecd8196fa2ba0dc7c128c5f2f986a36840aaa5f78d5b739f6fc2a67404df00",
374
374
  "plugins/src/base/rules/eager/history-audit.md": "e2365e3fb28230c643e943d26688a93906afa68e3e1355d3e86d4b22ab3db559",
375
375
  "plugins/src/base/rules/eager/integration-access-layer.md": "e5675ec414d0dcfbbf7a29912f39ea5fb02747aa4e6045493e636cba1e635eb7",
376
376
  "plugins/src/base/rules/eager/intent-routing.md": "a2ef2397a98fb3d991fcfb39b669e289c1e2b697191cbeb6c071d71eca836207",
@@ -414,13 +414,13 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
414
414
  "plugins/src/base/rules/reference/dependency-decision-records.md": "84f9fb8fa0a606307e828ec355ccbf2258beeeb88795dd113abe9bb2c37db39f",
415
415
  "plugins/src/base/rules/reference/dependency-internalization-kit.md": "8c8e9bddbe2165905c3919ae9dd3d131b557cf9c7eb370393dfa85827076c73b",
416
416
  "plugins/src/base/rules/reference/dependency-trust-classes.md": "82216b80d4807e0ad302d04924032cc6a7a95b26f72ea853e378572a5c31821c",
417
- "plugins/src/base/rules/reference/derived-branch-plan.md": "325245c8a40042f35bd83fabc3d6752724fbb2789d6fddade0e5191442846127",
417
+ "plugins/src/base/rules/reference/derived-branch-plan.md": "728ef5366d8d2645cce47e4544a7c175d7a7ba8bd6f7768ddb21e4415d53f4ad",
418
418
  "plugins/src/base/rules/reference/design-source-of-truth.md": "38f477cb0703627ac5daf561a9a1c42bd41be6d20113aba22f30d5e47d573dcf",
419
419
  "plugins/src/base/rules/reference/do-it-now.md": "46fdcc335e115d0f387af398789f443ef8dd3ab17de5f7d95120c31f913a8fce",
420
420
  "plugins/src/base/rules/reference/documentation-source-paths.md": "555155889c9cf279865b9d8fc554bdd461c96a3ec76a5001dfeb361a71056999",
421
421
  "plugins/src/base/rules/reference/empirical-inquiry.md": "8cb166ab9eff4eb30287822a4d7843f76884d70d683d7c61d6a7ffd4ff9f7159",
422
422
  "plugins/src/base/rules/reference/factory-model.md": "b28a2ea4df7c33390111667a2807d9003cf8c9a14829f6fb0dbc929b05bfed3a",
423
- "plugins/src/base/rules/reference/falsifiable-checks.md": "284eccdf5b0fa29d2927a24ab25ad4aed34b0798e4fdf2e8e7d6fd1b80e3236b",
423
+ "plugins/src/base/rules/reference/falsifiable-checks.md": "a0d7c3be070937042d17e98bdb955b87f30be5d298be91e33c1e6883cae2635d",
424
424
  "plugins/src/base/rules/reference/history-audit.md": "20a46390f71fadda499c61193d430c3d53df49b55a4cefa50a112f82fa4b05ef",
425
425
  "plugins/src/base/rules/reference/integration-access-layer.md": "6d0f419b315ffcf9bdd14a556a81c05848e8245e2ba850696e72d4cff2e65600",
426
426
  "plugins/src/base/rules/reference/intent-routing.md": "988f8f45b41056c2adaa1a3e5f6ea926ac56a2fd041c07f98a9c2b271050efdd",
@@ -459,7 +459,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
459
459
  "plugins/src/base/scripts/automation-status-report.mjs": "520f77645c5b7cab3f69848fb5cf19e8b1d802cd1f8ce6a35aa36a0bf6a0d146",
460
460
  "plugins/src/base/scripts/automation-status-run-history.mjs": "a07f0d1af412f0d2747a9cbe82fa0edbeb8cc8dd4bdf4c51526e779090f08208",
461
461
  "plugins/src/base/scripts/cross-pollinate.mjs": "e9a536389d2581370f6c470b8a070aaae96660646efc528a7ff7fb25d324a903",
462
- "plugins/src/base/scripts/design-source-gate.mjs": "2c8121404ac6dd71f74a3080561aa6daecb4f719fdd1360622511d35186bc13f",
462
+ "plugins/src/base/scripts/design-source-gate.mjs": "4db12844df14cc5dbcbdb96df9273cdce08057bc839493649fa65fccf559953b",
463
463
  "plugins/src/base/scripts/doctor-report.mjs": "f183e62848ac539da56a525fe2105fc6251a49e555a01dd1bba10d9227b1a6bf",
464
464
  "plugins/src/base/scripts/install-remote-agent-aws.mjs": "5ef1c323d7cbfda8976f6fb0c24f7a8e5f5757475fd1d71c6e5bec91023cebe3",
465
465
  "plugins/src/base/scripts/plugin-sync-explain.mjs": "8592c7359ee6cdb35995a882c8bb27e7b9c404074067fd272c70013e44e04b71",
@@ -492,7 +492,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
492
492
  "plugins/src/base/skills/lisa-detect-tooling/scripts/commands.mjs": "e28bd61fdde4a336b56ae3395423026943a5816015719d31d04f0d5a0ab50eec",
493
493
  "plugins/src/base/skills/lisa-detect-tooling/scripts/detect-tooling.mjs": "9d06590e6b99cce33e5fb10bd5b9e7515318133e3635368ef47162abc123bdfa",
494
494
  "plugins/src/base/skills/lisa-doctor/SKILL.md": "ed46df59bfd1097acad4a5ad960811ffb37b318c94e36e5f78ea3b96c2d76136",
495
- "plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "66a89df3976ddb17af5c31415eeb6192c4c9e0ebba7ab3ee38b4fa6ebadb4955",
495
+ "plugins/src/base/skills/lisa-drive-pr-to-merge/SKILL.md": "3919c6161900916090ee315df322938efc5b53bdfabf78efe8683432cf8ae488",
496
496
  "plugins/src/base/skills/lisa-epic-triage/SKILL.md": "d02760411249bddbd396f283191fe3e82bb7b95bf9393a19a7025dc5a57c3ab7",
497
497
  "plugins/src/base/skills/lisa-evaluation-suite/SKILL.md": "96b5c2091ccd22a565935a7b0b917f67998881b81055ce3e4d518319472eac8b",
498
498
  "plugins/src/base/skills/lisa-exploratory-qa/SKILL.md": "7041419b9160e0370c9a2351a53235e57a997ef11dabc0b670f8873b1db48d08",
@@ -591,7 +591,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
591
591
  "plugins/src/base/skills/lisa-project-ideation/examples/idempotency-verification-harness.md": "c6def168f32c3e6cb426d7d7d942bbe5b5776b46e315f47d2b2aeaad275c7f0f",
592
592
  "plugins/src/base/skills/lisa-project-ideation/examples/public-external-inspiration.md": "8e61344f46d46c2f6806b6bdb5bbf0086df358240661a524806d1bd659330ce9",
593
593
  "plugins/src/base/skills/lisa-project-ideation/examples/unavailable-data-rejection.md": "362835db13cb8f73179754bce427d0f7caef7738a575aa5b936a0383b7f81078",
594
- "plugins/src/base/skills/lisa-pull-request-review/SKILL.md": "f53f2674888609686cb86204e19863de1494b3975f4ec255711d65165403395d",
594
+ "plugins/src/base/skills/lisa-pull-request-review/SKILL.md": "10bb42cba995cdd6b945efd6ef3d48578860b9d09c94aefd17c298b53aed5053",
595
595
  "plugins/src/base/skills/lisa-qa-checklist/SKILL.md": "da1de96ada92d18f5f6b57e2751b95d5da28a6505debdb7ccd823b95bdd1405b",
596
596
  "plugins/src/base/skills/lisa-qa-clear/SKILL.md": "2a4bbe2501b159eceea289584e50bcceffae2fee5210420d6be3b403dae6d079",
597
597
  "plugins/src/base/skills/lisa-qa-fail/SKILL.md": "cf4bc2b6e3e31a7fabfba5fb9ed1218eb564b0d94113a317267371de7a2708fb",
@@ -1121,6 +1121,8 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1121
1121
  "typescript/copy-overwrite/ast-grep/rules/.gitkeep": "5068239f6c760759362d6a1cc83478d77eef0214fa7f4f23c8d1ce4b56f532c0",
1122
1122
  "typescript/copy-overwrite/ast-grep/rules/no-inline-component-in-container.yml": "9cd675cbba11457ba70c9c4f853f3e5cf652fe98c508075946f02bf045710ca6",
1123
1123
  "typescript/copy-overwrite/ast-grep/rules/no-inline-component-in-view.yml": "a662cb959ad5d96e4dda09d6dce1d69318e7c13f3d01787658184fd6075c2781",
1124
+ "typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml": "1664d70f1c5c37341e9ae29bfbe375d47b2e0df3cf2022c1933af209233109e9",
1125
+ "typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member.yml": "2601f136c89e2c70490a9a439f8a077157b09af525f6066fdae751001f8cc0ae",
1124
1126
  "typescript/copy-overwrite/ast-grep/utils/.gitkeep": "6792ca57f00ff5a84a4713a08308a8ab3144858b0b0d9f8251b8c26c48948fb7",
1125
1127
  "typescript/copy-overwrite/audit.ignore.config.json": "84ad811f25a9a309994153e1eb6117f9db90432f8e79e48065adec36494835bf",
1126
1128
  "typescript/copy-overwrite/commitlint.config.cjs": "72f3c0ac2e14929938f358f59d4932687107a9bd389a90aa8d9c100d7cb450f7",
@@ -1129,7 +1131,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1129
1131
  "typescript/copy-overwrite/eslint.slow.config.ts": "f66d04381940936544931d7f20ffd4e43c38b8a907d56ffa101e2236371d8c94",
1130
1132
  "typescript/copy-overwrite/knip.json": "6eb93d705a2d645332fbae1dd42cf2d48f85978ebc265451a53790912f277d12",
1131
1133
  "typescript/copy-overwrite/scripts/check-nightly-e2e-health.mjs": "c9dd6f6816b35d4d8f684892878d4181b9cb5266a7f2e2814970aa49dc04a001",
1132
- "typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs": "0a8b14790f38e00e5abfc665d3e3d2c29e0a139a2a22c4a65e0c08547b42fb7f",
1134
+ "typescript/copy-overwrite/scripts/check-skipped-required-checks.mjs": "8eaac3ea96d92b55c418877c1fe338a7c0b3a8f48ef3593258f54a633f761c85",
1133
1135
  "typescript/copy-overwrite/scripts/check-threshold-ratchet.mjs": "e1e3f22b33267212b90f915f83821559d1a45cab5b16c7164b86bd6c7b53549b",
1134
1136
  "typescript/copy-overwrite/scripts/check-verification-coverage.mjs": "3c1d27d0668fc66a18cb014f2b607878f0a88c178a773fbe964b8e46b19e86d6",
1135
1137
  "typescript/copy-overwrite/scripts/lisa-mutation.mjs": "7d8d24dea151ef2178807046e97aea7ebfadd9c88eb50347feb7bb4bb190227d",
@@ -1140,7 +1142,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1140
1142
  "typescript/copy-overwrite/tsconfig.eslint.json": "8a8ae5e201b18887b8eeda5eb569747221695524d4193ea03b4338b97b7fa642",
1141
1143
  "typescript/copy-overwrite/tsconfig.json": "8f4257fcd2cfd4b23e83e0fdd4908d41ee8f1ae75bb95d632e653a0ac13d58e4",
1142
1144
  "typescript/copy-overwrite/vitest.config.ts": "da92f06cc3ce68462c6f2f3d95adb1b1464591ce383a24e3334dc986e0c1e0fb",
1143
- "typescript/create-only/.github/required-checks.json": "49063a033604c8e98f7782e4352d67dea77ac9b949189f166e43044f0af7e4f4",
1145
+ "typescript/create-only/.github/required-checks.json": "0ec5fbf2fe2dcb366db0d0002357b881053143223a09a25e1dc488a87b142eb2",
1144
1146
  "typescript/create-only/.github/workflows/auto-update-pr-branches-dispatch.yml": "347f8a3830efdc3ad701fae0858994f4e45df8100844e91948b017b98115a28c",
1145
1147
  "typescript/create-only/.github/workflows/auto-update-pr-branches.yml": "cf185555bcbe8e9957333abcae2e0c20e00875f8d867f70134efbd2a5c974ee5",
1146
1148
  "typescript/create-only/.github/workflows/ci.yml": "dac98b7ab5a7397461e459b2553101bfdc6451d28b42f3b0115056b62cfb8b1d",
@@ -1168,7 +1170,7 @@ export const UPSTREAM_EVIDENCE_MANIFEST = Object.freeze({
1168
1170
  "typescript/github-rulesets/quality-checks.json": "d92599b203071b99b8fac1422b8493d2546138961ef04ba98176bc400af60945",
1169
1171
  "typescript/merge/.claude/settings.json": "834e6456cae81f45073bbbb08bf731fef043efb30cae2658cb4a59f17e66d165",
1170
1172
  "typescript/merge/.oxlintrc.json": "9504c20db80470c242c4ffe8cccad6951ed8141dfb5bf6503053e0b2712ab276",
1171
- "typescript/package-lisa/package.lisa.json": "7f121eec2d022cad7e3cf960806fefe7f30ef626cc89f951d322b40f5a9bd5ca",
1173
+ "typescript/package-lisa/package.lisa.json": "339c86d92be6419bbbcb974162522f5339a5ab6795beb27d60d3594bb6da139f",
1172
1174
  "ui/README.md": "deeb35e767ea5dd2883268835ea3ad21cbad9fa63ec8d8ff5e200f0e2a7d2751",
1173
1175
  "ui/index.html": "400088617ed6f16b4e52da5bfa81242d75cb09bc3ad6929eadb9f06e5365b4b6",
1174
1176
  });
@@ -1367,6 +1369,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
1367
1369
  "ast-grep/rules/harper/require-statuscode-on-thrown-error.yml": true,
1368
1370
  "ast-grep/rules/no-inline-component-in-container.yml": true,
1369
1371
  "ast-grep/rules/no-inline-component-in-view.yml": true,
1372
+ "ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml": true,
1373
+ "ast-grep/rules/no-missing-fs-extra-namespace-member.yml": true,
1370
1374
  "ast-grep/rules/phaser/no-canvas-renderer.yml": true,
1371
1375
  "ast-grep/rules/phaser/no-raw-webgl-context.yml": true,
1372
1376
  "ast-grep/rules/ruby/no-find-by-sql-without-params.yml": true,
@@ -6988,6 +6992,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
6988
6992
  "src/cli/doctor-sonar.ts": true,
6989
6993
  "src/cli/doctor-worker-epoch.ts": true,
6990
6994
  "src/cli/doctor-worker-journey.ts": true,
6995
+ "src/cli/doctor-worktree-hygiene.ts": true,
6991
6996
  "src/cli/doctor.ts": true,
6992
6997
  "src/cli/environment-cmd.ts": true,
6993
6998
  "src/cli/file-upstream-cmd.ts": true,
@@ -7350,6 +7355,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7350
7355
  "tests/fixtures/wiki-safety/allowed-contacts.md": true,
7351
7356
  "tests/fixtures/wiki-safety/redaction-source.md": true,
7352
7357
  "tests/helpers/__fixtures__/wiki-status-fixture.ts": true,
7358
+ "tests/helpers/io-latency-budget.ts": true,
7353
7359
  "tests/helpers/nightly-e2e-gate-harness.ts": true,
7354
7360
  "tests/helpers/readiness-workflow-fixtures.ts": true,
7355
7361
  "tests/helpers/safety-net-guard-fixtures.ts": true,
@@ -7436,6 +7442,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7436
7442
  "tests/unit/cli/doctor-sonar.test.ts": true,
7437
7443
  "tests/unit/cli/doctor-worker-epoch.test.ts": true,
7438
7444
  "tests/unit/cli/doctor-worker-journey.test.ts": true,
7445
+ "tests/unit/cli/doctor-worktree-hygiene.test.ts": true,
7439
7446
  "tests/unit/cli/doctor.test.ts": true,
7440
7447
  "tests/unit/cli/file-upstream-contract.test.ts": true,
7441
7448
  "tests/unit/cli/gate-commands.test.ts": true,
@@ -7544,6 +7551,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7544
7551
  "tests/unit/config/vitest-cdk.test.ts": true,
7545
7552
  "tests/unit/config/vitest-nestjs.test.ts": true,
7546
7553
  "tests/unit/config/vitest-typescript.test.ts": true,
7554
+ "tests/unit/config/worktree-exclusion-anchoring.test.ts": true,
7547
7555
  "tests/unit/core/bootstrap-environment.test.ts": true,
7548
7556
  "tests/unit/core/fs-extra-namespace-callsites.test.ts": true,
7549
7557
  "tests/unit/core/fs-extra-namespace-members.test.ts": true,
@@ -7739,6 +7747,7 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7739
7747
  "tests/unit/scripts/threshold-ratchet-wiring.test.ts": true,
7740
7748
  "tests/unit/scripts/threshold-ratchet.test.ts": true,
7741
7749
  "tests/unit/scripts/upstream-evidence-manifest.test.ts": true,
7750
+ "tests/unit/scripts/vacuous-required-checks.test.ts": true,
7742
7751
  "tests/unit/scripts/verification-coverage.test.ts": true,
7743
7752
  "tests/unit/scripts/work-item-github-failure-diagnosis.test.ts": true,
7744
7753
  "tests/unit/scripts/work-item-tracker-unreachable.test.ts": true,
@@ -7952,7 +7961,9 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
7952
7961
  "tests/unit/strategies/repo-scope-claim.test.ts": true,
7953
7962
  "tests/unit/strategies/reset-seed-coverage-rule.test.ts": true,
7954
7963
  "tests/unit/strategies/rework-triage-skill.test.ts": true,
7964
+ "tests/unit/strategies/runtime-behavior-change-consistency.test.ts": true,
7955
7965
  "tests/unit/strategies/runtime-behavior-change-decidability.test.ts": true,
7966
+ "tests/unit/strategies/runtime-behavior-change-sources.ts": true,
7956
7967
  "tests/unit/strategies/security-two-bucket-contract.test.ts": true,
7957
7968
  "tests/unit/strategies/session-operating-pack.test.ts": true,
7958
7969
  "tests/unit/strategies/setup-automations-readiness-warning.test.ts": true,
@@ -8047,6 +8058,8 @@ export const UPSTREAM_SURFACE_MANIFEST = Object.freeze({
8047
8058
  "typescript/copy-overwrite/ast-grep/rules/.gitkeep": true,
8048
8059
  "typescript/copy-overwrite/ast-grep/rules/no-inline-component-in-container.yml": true,
8049
8060
  "typescript/copy-overwrite/ast-grep/rules/no-inline-component-in-view.yml": true,
8061
+ "typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member-js.yml": true,
8062
+ "typescript/copy-overwrite/ast-grep/rules/no-missing-fs-extra-namespace-member.yml": true,
8050
8063
  "typescript/copy-overwrite/ast-grep/utils/.gitkeep": true,
8051
8064
  "typescript/copy-overwrite/audit.ignore.config.json": true,
8052
8065
  "typescript/copy-overwrite/commitlint.config.cjs": true,