@tienne/gestalt 0.86.0 → 0.88.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 (133) hide show
  1. package/CLAUDE.md +6 -2
  2. package/dist/bin/gestalt-hook.d.ts +5 -0
  3. package/dist/bin/gestalt-hook.d.ts.map +1 -0
  4. package/dist/bin/gestalt-hook.js +51 -0
  5. package/dist/bin/gestalt-hook.js.map +1 -0
  6. package/dist/package.json +4 -3
  7. package/dist/plugin/role-agents/_shared/references/ai-tell-quick-rules.md +2 -2
  8. package/dist/plugin/skills/blast-radius/SKILL.md +11 -1
  9. package/dist/plugin/skills/diff-radius/SKILL.md +11 -0
  10. package/dist/plugin/skills/review/SKILL.md +9 -2
  11. package/dist/schemas/gestalt.schema.json +19 -0
  12. package/dist/src/cli/commands/harness-refs.d.ts +10 -0
  13. package/dist/src/cli/commands/harness-refs.d.ts.map +1 -1
  14. package/dist/src/cli/commands/harness-refs.js +40 -0
  15. package/dist/src/cli/commands/harness-refs.js.map +1 -1
  16. package/dist/src/cli/index.d.ts.map +1 -1
  17. package/dist/src/cli/index.js +10 -1
  18. package/dist/src/cli/index.js.map +1 -1
  19. package/dist/src/code-graph/cochange.d.ts +40 -0
  20. package/dist/src/code-graph/cochange.d.ts.map +1 -1
  21. package/dist/src/code-graph/cochange.js +88 -3
  22. package/dist/src/code-graph/cochange.js.map +1 -1
  23. package/dist/src/code-graph/engine.d.ts +35 -1
  24. package/dist/src/code-graph/engine.d.ts.map +1 -1
  25. package/dist/src/code-graph/engine.js +300 -55
  26. package/dist/src/code-graph/engine.js.map +1 -1
  27. package/dist/src/code-graph/freshness.d.ts +39 -0
  28. package/dist/src/code-graph/freshness.d.ts.map +1 -0
  29. package/dist/src/code-graph/freshness.js +93 -0
  30. package/dist/src/code-graph/freshness.js.map +1 -0
  31. package/dist/src/code-graph/hooks/background.d.ts +18 -0
  32. package/dist/src/code-graph/hooks/background.d.ts.map +1 -0
  33. package/dist/src/code-graph/hooks/background.js +55 -0
  34. package/dist/src/code-graph/hooks/background.js.map +1 -0
  35. package/dist/src/code-graph/hooks/pointers.d.ts +66 -0
  36. package/dist/src/code-graph/hooks/pointers.d.ts.map +1 -0
  37. package/dist/src/code-graph/hooks/pointers.js +292 -0
  38. package/dist/src/code-graph/hooks/pointers.js.map +1 -0
  39. package/dist/src/code-graph/hooks/rank.d.ts +36 -0
  40. package/dist/src/code-graph/hooks/rank.d.ts.map +1 -0
  41. package/dist/src/code-graph/hooks/rank.js +212 -0
  42. package/dist/src/code-graph/hooks/rank.js.map +1 -0
  43. package/dist/src/code-graph/hooks/run.d.ts +37 -0
  44. package/dist/src/code-graph/hooks/run.d.ts.map +1 -0
  45. package/dist/src/code-graph/hooks/run.js +324 -0
  46. package/dist/src/code-graph/hooks/run.js.map +1 -0
  47. package/dist/src/code-graph/hooks/settings.d.ts +11 -0
  48. package/dist/src/code-graph/hooks/settings.d.ts.map +1 -0
  49. package/dist/src/code-graph/hooks/settings.js +25 -0
  50. package/dist/src/code-graph/hooks/settings.js.map +1 -0
  51. package/dist/src/code-graph/hooks/state.d.ts +20 -0
  52. package/dist/src/code-graph/hooks/state.d.ts.map +1 -0
  53. package/dist/src/code-graph/hooks/state.js +73 -0
  54. package/dist/src/code-graph/hooks/state.js.map +1 -0
  55. package/dist/src/code-graph/index.d.ts +6 -2
  56. package/dist/src/code-graph/index.d.ts.map +1 -1
  57. package/dist/src/code-graph/index.js +3 -1
  58. package/dist/src/code-graph/index.js.map +1 -1
  59. package/dist/src/code-graph/ko-text.d.ts +39 -0
  60. package/dist/src/code-graph/ko-text.d.ts.map +1 -0
  61. package/dist/src/code-graph/ko-text.js +223 -0
  62. package/dist/src/code-graph/ko-text.js.map +1 -0
  63. package/dist/src/code-graph/lock.d.ts +30 -0
  64. package/dist/src/code-graph/lock.d.ts.map +1 -0
  65. package/dist/src/code-graph/lock.js +140 -0
  66. package/dist/src/code-graph/lock.js.map +1 -0
  67. package/dist/src/code-graph/plugins/typescript-skeleton.d.ts +7 -0
  68. package/dist/src/code-graph/plugins/typescript-skeleton.d.ts.map +1 -0
  69. package/dist/src/code-graph/plugins/typescript-skeleton.js +157 -0
  70. package/dist/src/code-graph/plugins/typescript-skeleton.js.map +1 -0
  71. package/dist/src/code-graph/plugins/typescript.d.ts.map +1 -1
  72. package/dist/src/code-graph/plugins/typescript.js +58 -0
  73. package/dist/src/code-graph/plugins/typescript.js.map +1 -1
  74. package/dist/src/code-graph/storage.d.ts +85 -0
  75. package/dist/src/code-graph/storage.d.ts.map +1 -1
  76. package/dist/src/code-graph/storage.js +318 -3
  77. package/dist/src/code-graph/storage.js.map +1 -1
  78. package/dist/src/code-graph/types.d.ts +66 -0
  79. package/dist/src/code-graph/types.d.ts.map +1 -1
  80. package/dist/src/core/config.d.ts +33 -0
  81. package/dist/src/core/config.d.ts.map +1 -1
  82. package/dist/src/core/config.js +14 -0
  83. package/dist/src/core/config.js.map +1 -1
  84. package/dist/src/core/hooks-env.d.ts +9 -0
  85. package/dist/src/core/hooks-env.d.ts.map +1 -0
  86. package/dist/src/core/hooks-env.js +16 -0
  87. package/dist/src/core/hooks-env.js.map +1 -0
  88. package/dist/src/harness-review/backward-search.d.ts +15 -2
  89. package/dist/src/harness-review/backward-search.d.ts.map +1 -1
  90. package/dist/src/harness-review/backward-search.js +101 -43
  91. package/dist/src/harness-review/backward-search.js.map +1 -1
  92. package/dist/src/harness-review/collect.d.ts +10 -1
  93. package/dist/src/harness-review/collect.d.ts.map +1 -1
  94. package/dist/src/harness-review/collect.js +66 -6
  95. package/dist/src/harness-review/collect.js.map +1 -1
  96. package/dist/src/harness-review/github-code-search.d.ts +32 -1
  97. package/dist/src/harness-review/github-code-search.d.ts.map +1 -1
  98. package/dist/src/harness-review/github-code-search.js +86 -2
  99. package/dist/src/harness-review/github-code-search.js.map +1 -1
  100. package/dist/src/harness-review/hybrid-search.d.ts +35 -0
  101. package/dist/src/harness-review/hybrid-search.d.ts.map +1 -0
  102. package/dist/src/harness-review/hybrid-search.js +63 -0
  103. package/dist/src/harness-review/hybrid-search.js.map +1 -0
  104. package/dist/src/harness-review/related-clones.d.ts +66 -0
  105. package/dist/src/harness-review/related-clones.d.ts.map +1 -0
  106. package/dist/src/harness-review/related-clones.js +309 -0
  107. package/dist/src/harness-review/related-clones.js.map +1 -0
  108. package/dist/src/harness-review/search-backend.d.ts +23 -1
  109. package/dist/src/harness-review/search-backend.d.ts.map +1 -1
  110. package/dist/src/harness-review/search-backend.js +13 -1
  111. package/dist/src/harness-review/search-backend.js.map +1 -1
  112. package/dist/src/humanize/detectors.js +1 -1
  113. package/dist/src/humanize/detectors.js.map +1 -1
  114. package/dist/src/mcp/schemas.d.ts +9 -3
  115. package/dist/src/mcp/schemas.d.ts.map +1 -1
  116. package/dist/src/mcp/schemas.js +19 -2
  117. package/dist/src/mcp/schemas.js.map +1 -1
  118. package/dist/src/mcp/server.d.ts.map +1 -1
  119. package/dist/src/mcp/server.js +21 -3
  120. package/dist/src/mcp/server.js.map +1 -1
  121. package/dist/src/mcp/tools/code-graph-passthrough.d.ts +6 -1
  122. package/dist/src/mcp/tools/code-graph-passthrough.d.ts.map +1 -1
  123. package/dist/src/mcp/tools/code-graph-passthrough.js +95 -6
  124. package/dist/src/mcp/tools/code-graph-passthrough.js.map +1 -1
  125. package/package.json +4 -3
  126. package/plugin/.codex-plugin/plugin.json +1 -1
  127. package/plugin/.mcp.json +1 -1
  128. package/plugin/mcp.json +1 -1
  129. package/plugin/role-agents/_shared/references/ai-tell-quick-rules.md +2 -2
  130. package/plugin/skills/blast-radius/SKILL.md +11 -1
  131. package/plugin/skills/diff-radius/SKILL.md +11 -0
  132. package/plugin/skills/review/SKILL.md +9 -2
  133. package/schemas/gestalt.schema.json +19 -0
@@ -4,6 +4,7 @@ import { fileURLToPath } from 'node:url';
4
4
  import { config as dotenvConfig } from 'dotenv';
5
5
  import { z } from 'zod';
6
6
  import { gestaltPath } from './home.js';
7
+ import { HOOKS_ENV, parseHooksEnv } from './hooks-env.js';
7
8
  import { DEFAULT_MODEL, DEFAULT_REASONING_MODEL, DEFAULT_TIER_MODELS, REASONING_MODEL_FALLBACK, RESOLUTION_THRESHOLD, MAX_INTERVIEW_ROUNDS, DRIFT_THRESHOLD, EVOLVE_SUCCESS_THRESHOLD, EVOLVE_GOAL_ALIGNMENT_THRESHOLD, } from './constants.js';
8
9
  const __dirname = dirname(fileURLToPath(import.meta.url));
9
10
  const PACKAGE_ROOT = resolve(__dirname, '..', '..');
@@ -301,6 +302,15 @@ const tierModelsSchema = z.object({
301
302
  standard: agentModelAliasSchema.default(DEFAULT_TIER_MODELS.standard),
302
303
  frontier: agentModelAliasSchema.default(DEFAULT_TIER_MODELS.frontier),
303
304
  });
305
+ const codeGraphConfigSchema = z.object({
306
+ /**
307
+ * Claude Code 플러그인 훅이 코드 그래프 컨텍스트를 넣을지. 훅은 플러그인이 깔린 모든 레포에
308
+ * 걸리므로 기본은 꺼짐이다. 훅 프로세스는 기동 비용 때문에 이 스키마를 거치지 않고
309
+ * `src/code-graph/hooks/settings.ts`가 같은 값을 직접 읽는다. 환경변수 이름과 파싱은
310
+ * 양쪽이 `./hooks-env.ts`를 함께 쓴다.
311
+ */
312
+ hooks: z.object({ enabled: z.boolean().default(false) }).default({}),
313
+ });
304
314
  const configSchema = z.object({
305
315
  llm: llmConfigSchema.default({}),
306
316
  interview: interviewConfigSchema.default({}),
@@ -340,6 +350,7 @@ const configSchema = z.object({
340
350
  */
341
351
  ruleSourceWarnings: z.array(z.string()).default([]),
342
352
  notifications: z.boolean().default(false),
353
+ codeGraph: codeGraphConfigSchema.default({}),
343
354
  // 상수가 아니라 함수다. 모듈을 읽을 때 굳히면 테스트 setupFiles가 GESTALT_HOME을
344
355
  // 세우기 전에 값이 정해져서 진짜 홈을 가리킨다
345
356
  dbPath: z.string().default(() => gestaltPath('events.db')),
@@ -476,6 +487,9 @@ function buildEnvConfig() {
476
487
  if (env['GESTALT_NOTIFICATIONS'] !== undefined) {
477
488
  result.notifications = env['GESTALT_NOTIFICATIONS'] === 'true';
478
489
  }
490
+ const hooksEnabled = parseHooksEnv(env[HOOKS_ENV]);
491
+ if (hooksEnabled !== undefined)
492
+ result.codeGraph = { hooks: { enabled: hooksEnabled } };
479
493
  // top-level
480
494
  if (env['GESTALT_REASONING_MODEL'] !== undefined)
481
495
  result.reasoningModel = env['GESTALT_REASONING_MODEL'];
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/core/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 코드 그래프 훅을 켜고 끄는 환경변수. config.ts와 훅 프로세스가 함께 쓴다.
3
+ * 훅은 기동 비용 때문에 zod와 dotenv를 못 불러오므로 이 모듈은 아무것도 import하지 않는다.
4
+ */
5
+ /** 켜고 끄는 환경변수. gestalt.json보다 우선한다 */
6
+ export declare const HOOKS_ENV = "GESTALT_CODE_GRAPH_HOOKS";
7
+ /** 1/true면 true, 0/false면 false, 그 밖엔 판정을 gestalt.json에 넘긴다는 뜻으로 undefined */
8
+ export declare function parseHooksEnv(raw: string | undefined): boolean | undefined;
9
+ //# sourceMappingURL=hooks-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-env.d.ts","sourceRoot":"","sources":["../../../src/core/hooks-env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,eAAO,MAAM,SAAS,6BAA6B,CAAC;AAEpD,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAK1E"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 코드 그래프 훅을 켜고 끄는 환경변수. config.ts와 훅 프로세스가 함께 쓴다.
3
+ * 훅은 기동 비용 때문에 zod와 dotenv를 못 불러오므로 이 모듈은 아무것도 import하지 않는다.
4
+ */
5
+ /** 켜고 끄는 환경변수. gestalt.json보다 우선한다 */
6
+ export const HOOKS_ENV = 'GESTALT_CODE_GRAPH_HOOKS';
7
+ /** 1/true면 true, 0/false면 false, 그 밖엔 판정을 gestalt.json에 넘긴다는 뜻으로 undefined */
8
+ export function parseHooksEnv(raw) {
9
+ const v = raw?.trim().toLowerCase();
10
+ if (v === '1' || v === 'true')
11
+ return true;
12
+ if (v === '0' || v === 'false')
13
+ return false;
14
+ return undefined;
15
+ }
16
+ //# sourceMappingURL=hooks-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks-env.js","sourceRoot":"","sources":["../../../src/core/hooks-env.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,sCAAsC;AACtC,MAAM,CAAC,MAAM,SAAS,GAAG,0BAA0B,CAAC;AAEpD,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,GAAuB;IACnD,MAAM,CAAC,GAAG,GAAG,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACpC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAC7C,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { CodeSearchBackend, SkippedRepo } from './search-backend.js';
2
- import type { Identifier, ReferenceCandidate } from './types.js';
1
+ import type { BackendCounts, CodeSearchBackend, SkippedRepo } from './search-backend.js';
2
+ import type { Identifier, ReferenceCandidate, SearchBackendKind } from './types.js';
3
3
  export interface BackwardSearchInput {
4
4
  /** extractIdentifiers 결과. extractedBy가 llm인 것은 검색하지 않고 needsLlmJudgment로 넘긴다 */
5
5
  identifiers: Identifier[];
@@ -29,6 +29,18 @@ export interface SkippedIdentifier {
29
29
  identifier: Identifier;
30
30
  reason: string;
31
31
  }
32
+ /** 질의를 몇 개 계획했고 몇 개를 다 찾았는지. 막힌 라운드가 얼마나 봤는지 보여 준다 */
33
+ export interface BackwardSearchCoverage {
34
+ planned: number;
35
+ /** 넘긴 레포를 하나도 안 빠뜨리고 찾은 질의 수 */
36
+ searched: number;
37
+ byBackend: Partial<Record<SearchBackendKind, BackendCounts>>;
38
+ /** 조직 와일드카드를 실은 질의. 관련 레포 밖을 얼마나 봤는지다 */
39
+ orgWide?: {
40
+ planned: number;
41
+ searched: number;
42
+ };
43
+ }
32
44
  export interface BackwardSearchResult {
33
45
  backwardRefs: BackwardRefCandidate[];
34
46
  /** 코드가 바뀌면 낡을 수 있는 문서. 결함 후보가 아니라 리포트의 다른 절에 싣는다 */
@@ -39,6 +51,7 @@ export interface BackwardSearchResult {
39
51
  skipped: SkippedRepo[];
40
52
  /** 너무 짧아 검색어로 쓰지 않은 식별자 */
41
53
  skippedIdentifiers: SkippedIdentifier[];
54
+ coverage: BackwardSearchCoverage;
42
55
  }
43
56
  /** 이보다 짧은 값은 흔한 낱말과 겹쳐 온 조직이 걸리므로 검색하지 않는다 */
44
57
  export declare const MIN_SEARCH_TERM_LENGTH = 3;
@@ -1 +1 @@
1
- {"version":3,"file":"backward-search.d.ts","sourceRoot":"","sources":["../../../src/harness-review/backward-search.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,iBAAiB,EAAa,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACrF,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kDAAkD;IAClD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,IAAI,EAAE,cAAc,CAAC;IACrB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,oDAAoD;IACpD,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,2DAA2D;IAC3D,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,6CAA6C;IAC7C,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2BAA2B;IAC3B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;CACzC;AAED,8CAA8C;AAC9C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AA0ExC;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAyG9F"}
1
+ {"version":3,"file":"backward-search.d.ts","sourceRoot":"","sources":["../../../src/harness-review/backward-search.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EAGjB,WAAW,EACZ,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,WAAW,mBAAmB;IAClC,gFAAgF;IAChF,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,kDAAkD;IAClD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,IAAI,EAAE,cAAc,CAAC;IACrB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,sDAAsD;AACtD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7D,yCAAyC;IACzC,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjD;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,oBAAoB,EAAE,CAAC;IACrC,oDAAoD;IACpD,aAAa,EAAE,qBAAqB,EAAE,CAAC;IACvC,2DAA2D;IAC3D,gBAAgB,EAAE,iBAAiB,EAAE,CAAC;IACtC,6CAA6C;IAC7C,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,2BAA2B;IAC3B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,QAAQ,EAAE,sBAAsB,CAAC;CAClC;AAED,8CAA8C;AAC9C,eAAO,MAAM,sBAAsB,IAAI,CAAC;AA8FxC;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAqH9F"}
@@ -6,6 +6,7 @@
6
6
  * 조회하지 못한 레포는 skipped에 그대로 실어, 후보가 비었을 때 "참조 없음"과 구분되게 한다.
7
7
  */
8
8
  import { githubSlug } from './forward-search.js';
9
+ import { isOrgWildcard } from './github-code-search.js';
9
10
  import { isHarnessPath } from './identifiers.js';
10
11
  /** 이보다 짧은 값은 흔한 낱말과 겹쳐 온 조직이 걸리므로 검색하지 않는다 */
11
12
  export const MIN_SEARCH_TERM_LENGTH = 3;
@@ -60,6 +61,17 @@ function isBareHeadingMention(hit, id, term, selfRepo) {
60
61
  return false;
61
62
  return !(selfRepo && hit.text.includes(nameOf(selfRepo)));
62
63
  }
64
+ /**
65
+ * GitHub 한도 안에서 먼저 보낼 순서. 이름은 다른 레포가 그대로 적어 부르므로 걸리면 거의 참조다.
66
+ * 헤딩 원문은 레포 이름이 같이 적힌 줄만 남기므로(isBareHeadingMention) 건지는 게 가장 적다
67
+ */
68
+ var QueryRank;
69
+ (function (QueryRank) {
70
+ QueryRank[QueryRank["Name"] = 0] = "Name";
71
+ QueryRank[QueryRank["HeadingAnchor"] = 1] = "HeadingAnchor";
72
+ QueryRank[QueryRank["RepoName"] = 2] = "RepoName";
73
+ QueryRank[QueryRank["HeadingText"] = 3] = "HeadingText";
74
+ })(QueryRank || (QueryRank = {}));
63
75
  function nameOf(repo) {
64
76
  const slash = repo.lastIndexOf('/');
65
77
  return slash < 0 ? repo : repo.slice(slash + 1);
@@ -80,6 +92,7 @@ export async function backwardSearch(input) {
80
92
  needsLlmJudgment: [],
81
93
  skipped: [],
82
94
  skippedIdentifiers: [],
95
+ coverage: { planned: 0, searched: 0, byBackend: {} },
83
96
  };
84
97
  const skippedRepos = new Map();
85
98
  const noteSkipped = (list) => {
@@ -114,55 +127,67 @@ export async function backwardSearch(input) {
114
127
  if (!docHits.has(key))
115
128
  docHits.set(key, { hit, term });
116
129
  };
117
- if (repos.length > 0) {
118
- for (const id of searchable) {
119
- for (const term of termsOf(id)) {
120
- const { hits, skipped } = await input.backend.search(term, repos, opts);
121
- noteSkipped(skipped);
122
- for (const hit of hits) {
123
- const bounded = hasBoundedMatch(hit.text, term);
124
- if (pointsAtOwnFile(input.backend, hit, id, term, input.selfRepo))
125
- continue;
126
- if (isBareHeadingMention(hit, id, term, input.selfRepo))
127
- continue;
128
- // 이름은 더 긴 이름의 일부로 걸리면 다른 이름이다. widget-audit와 widget-audit-v2
129
- if (!bounded && NAME_KINDS.has(id.kind))
130
- continue;
131
- if (isHarnessPath(hit.path)) {
132
- const key = locationKey(hit);
133
- if (seenRefs.has(key))
134
- continue;
135
- seenRefs.add(key);
136
- result.backwardRefs.push({
137
- kind: 'backwardRef',
138
- sourceFile: hit.path,
139
- sourceLine: hit.line,
140
- targetRepo: hit.repo,
141
- targetPath: hit.path,
142
- matchedText: id.value,
143
- contextLines: [hit.text],
144
- needsLlmJudgment: !bounded,
145
- identifier: id,
146
- searchTerm: term,
147
- });
148
- }
149
- else if (bounded && isDocPath(hit.path)) {
150
- noteDoc(hit, term);
151
- }
152
- }
153
- }
130
+ const queries = repos.length > 0 ? planQueries(searchable, repos, input.selfRepo, opts) : [];
131
+ input.backend.plan?.(queries.map((q) => q.repos));
132
+ let searched = 0;
133
+ const orgWide = { planned: 0, searched: 0 };
134
+ for (const q of queries) {
135
+ const { hits, skipped } = await input.backend.search(q.term, q.repos, q.opts);
136
+ noteSkipped(skipped);
137
+ if (skipped.length === 0)
138
+ searched++;
139
+ if (q.repos.some(isOrgWildcard)) {
140
+ orgWide.planned++;
141
+ if (!skipped.some((x) => isOrgWildcard(x.repo)))
142
+ orgWide.searched++;
154
143
  }
155
- if (input.selfRepo) {
156
- const name = nameOf(input.selfRepo);
157
- const { hits, skipped } = await input.backend.search(name, repos, opts);
158
- noteSkipped(skipped);
144
+ const { id, term } = q;
145
+ if (!id) {
159
146
  for (const hit of hits) {
160
- if (!isHarnessPath(hit.path) && isDocPath(hit.path) && hasBoundedMatch(hit.text, name)) {
161
- noteDoc(hit, name);
147
+ if (!isHarnessPath(hit.path) && isDocPath(hit.path) && hasBoundedMatch(hit.text, term)) {
148
+ noteDoc(hit, term);
162
149
  }
163
150
  }
151
+ continue;
152
+ }
153
+ for (const hit of hits) {
154
+ const bounded = hasBoundedMatch(hit.text, term);
155
+ if (pointsAtOwnFile(input.backend, hit, id, term, input.selfRepo))
156
+ continue;
157
+ if (isBareHeadingMention(hit, id, term, input.selfRepo))
158
+ continue;
159
+ // 이름은 더 긴 이름의 일부로 걸리면 다른 이름이다. widget-audit와 widget-audit-v2
160
+ if (!bounded && NAME_KINDS.has(id.kind))
161
+ continue;
162
+ if (isHarnessPath(hit.path)) {
163
+ const key = locationKey(hit);
164
+ if (seenRefs.has(key))
165
+ continue;
166
+ seenRefs.add(key);
167
+ result.backwardRefs.push({
168
+ kind: 'backwardRef',
169
+ sourceFile: hit.path,
170
+ sourceLine: hit.line,
171
+ targetRepo: hit.repo,
172
+ targetPath: hit.path,
173
+ matchedText: id.value,
174
+ contextLines: [hit.text],
175
+ needsLlmJudgment: !bounded,
176
+ identifier: id,
177
+ searchTerm: term,
178
+ });
179
+ }
180
+ else if (bounded && isDocPath(hit.path)) {
181
+ noteDoc(hit, term);
182
+ }
164
183
  }
165
184
  }
185
+ result.coverage = {
186
+ planned: queries.length,
187
+ searched,
188
+ byBackend: input.backend.counts?.() ?? {},
189
+ ...(orgWide.planned > 0 ? { orgWide } : {}),
190
+ };
166
191
  for (const { hit, term } of docHits.values()) {
167
192
  result.knowledgeDocs.push({
168
193
  kind: 'knowledgeDoc',
@@ -180,4 +205,37 @@ export async function backwardSearch(input) {
180
205
  result.skipped = [...skippedRepos].map(([repo, reason]) => ({ repo, reason }));
181
206
  return result;
182
207
  }
208
+ /**
209
+ * 식별자와 검색어를 질의 목록으로 펼쳐 GitHub에 보낼 순서로 줄 세운다.
210
+ *
211
+ * 헤딩 질의에서는 조직 와일드카드를 뺀다. 관련 레포 밖에서 남의 레포 절을 부르는 일은 드물고
212
+ * 헤딩이 이름보다 훨씬 많아서(17개 파일 PR에 91개) 와일드카드에 실으면 한도를 혼자 다 쓴다.
213
+ */
214
+ function planQueries(identifiers, repos, selfRepo, opts) {
215
+ const scoped = repos.filter((r) => !isOrgWildcard(r));
216
+ const selfName = selfRepo ? nameOf(selfRepo) : undefined;
217
+ const base = opts ?? {};
218
+ const out = [];
219
+ for (const id of identifiers) {
220
+ if (id.kind !== 'heading') {
221
+ out.push({ rank: QueryRank.Name, term: id.value, id, repos, opts: base });
222
+ continue;
223
+ }
224
+ for (const term of termsOf(id)) {
225
+ const anchor = term.startsWith('#');
226
+ out.push({
227
+ rank: anchor ? QueryRank.HeadingAnchor : QueryRank.HeadingText,
228
+ term,
229
+ id,
230
+ repos: scoped,
231
+ // 앵커 없이 헤딩 글자만 걸린 줄은 레포 이름이 같이 있어야 남긴다. GitHub에는 그 조건을 질의로 건다
232
+ opts: !anchor && selfName ? { ...base, requireAlso: selfName } : base,
233
+ });
234
+ }
235
+ }
236
+ if (selfName)
237
+ out.push({ rank: QueryRank.RepoName, term: selfName, repos, opts: base });
238
+ // sort는 안정 정렬이라 같은 순위 안에서는 긴 값이 먼저인 기존 순서가 남는다
239
+ return out.filter((q) => q.repos.length > 0).sort((a, b) => a.rank - b.rank);
240
+ }
183
241
  //# sourceMappingURL=backward-search.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"backward-search.js","sourceRoot":"","sources":["../../../src/harness-review/backward-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backward-search.js","sourceRoot":"","sources":["../../../src/harness-review/backward-search.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { type GhRunner } from '../review-loop/fetch.js';
2
- import { type LlmJudgmentTarget } from './backward-search.js';
2
+ import { type BackwardSearchCoverage, type LlmJudgmentTarget } from './backward-search.js';
3
3
  import type { BlockReason } from './github-backend.js';
4
+ import { type CloneGitRunner } from './related-clones.js';
4
5
  import { type SkippedRepo } from './search-backend.js';
5
6
  import { type Identifier, type ReferenceCandidate, type ReferenceCandidateKind, type SearchBackendKind } from './types.js';
6
7
  export declare const COLLECT_BACKENDS: readonly ["local", "github"];
@@ -36,6 +37,12 @@ export interface CollectOptions {
36
37
  /** 관련 레포 탐지 캐시를 무시한다 */
37
38
  refresh?: boolean;
38
39
  codeGraphDbPath?: string;
40
+ /** github 백엔드가 관련 레포를 받아 두는 자리. 기본은 `~/.gestalt/repos`이고 그 아래 워크트리마다 나뉜다 */
41
+ cloneRoot?: string;
42
+ /** 테스트에서 클론 준비의 git 호출을 바꾼다 */
43
+ cloneGit?: CloneGitRunner;
44
+ /** 테스트에서 코드 검색 한도 대기를 실제로 자지 않게 바꾼다 */
45
+ sleep?: (ms: number) => Promise<void>;
39
46
  }
40
47
  export interface CollectResult {
41
48
  version: 1;
@@ -62,6 +69,8 @@ export interface CollectResult {
62
69
  */
63
70
  referenceCheckSkipped: boolean;
64
71
  skippedRepos: SkippedRepo[];
72
+ /** 역방향 검색이 질의를 몇 개 계획했고 몇 개를 봤는지. 검색을 안 돌렸으면 null */
73
+ backwardSearchCoverage: BackwardSearchCoverage | null;
65
74
  detectors: Record<DetectorName, DetectorStatus>;
66
75
  limitations: string[];
67
76
  }
@@ -1 +1 @@
1
- {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/harness-review/collect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"collect.d.ts","sourceRoot":"","sources":["../../../src/harness-review/collect.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,10 @@ import { runGh } from '../review-loop/fetch.js';
12
12
  import { backwardSearch, } from './backward-search.js';
13
13
  import { findCopyDrift } from './copy-drift.js';
14
14
  import { forwardSearch } from './forward-search.js';
15
- import { GithubCodeSearchAdapter, orgWildcard } from './github-code-search.js';
15
+ import { GithubCodeSearchAdapter, isOrgWildcard, orgWildcard } from './github-code-search.js';
16
+ import { HybridSearchBackend } from './hybrid-search.js';
16
17
  import { extractIdentifiersFromGit, isHarnessPath, isRuleDocPath } from './identifiers.js';
18
+ import { defaultCloneRoot, prepareRelatedClones, pruneWorktreeClones, worktreeCloneRoot, } from './related-clones.js';
17
19
  import { detectRelatedRepos, readOriginRepo } from './related-repos.js';
18
20
  import { findRuleIdListGapsFromGit } from './rule-id-lists.js';
19
21
  import { findRuleOverlapFromGit } from './rule-overlap.js';
@@ -196,10 +198,32 @@ export async function collectReferenceCandidates(opts) {
196
198
  }
197
199
  else {
198
200
  let backend;
199
- if (opts.backend === 'github' && org !== null) {
200
- adapter = new GithubCodeSearchAdapter({ owner: org, selfRepo: repo, gh });
201
- backend = adapter;
202
- searchedRepos = [...relatedRepos, orgWildcard(org)];
201
+ if (opts.backend === 'github' && found && org !== null) {
202
+ adapter = new GithubCodeSearchAdapter({ owner: org, selfRepo: repo, gh, sleep: opts.sleep });
203
+ // 관련 레포는 로컬 클론에서 찾고 GitHub 코드 검색(분당 10회)은 클론으로 못 덮는 자리에만 쓴다
204
+ const cloneBase = opts.cloneRoot ?? defaultCloneRoot();
205
+ // 이 워크트리의 쓴 시각을 먼저 갱신한다. 정리를 먼저 돌리면 오래 묵은 자기 클론을 지우고
206
+ // 바로 다시 받는다
207
+ const cloneRoot = worktreeCloneRoot(cloneBase, repoRoot);
208
+ pruneWorktreeClones(cloneBase, { now: opts.now });
209
+ const clones = prepareRelatedClones({
210
+ targets: cloneTargets(found.relatedRepos, repoDirs, repo),
211
+ cloneRoot,
212
+ gh,
213
+ git: opts.cloneGit,
214
+ now: opts.now,
215
+ });
216
+ limitations.push(...clones.limitations);
217
+ backend = new HybridSearchBackend({
218
+ local: new LocalCloneBackend(clones.sources),
219
+ localRepos: clones.sources.map((s) => s.repo),
220
+ github: adapter,
221
+ owner: org,
222
+ });
223
+ searchedRepos = [
224
+ ...new Set([...relatedRepos, ...repoDirs.map((d) => d.repo)]),
225
+ orgWildcard(org),
226
+ ];
203
227
  limitations.push(...adapter.limitations);
204
228
  }
205
229
  else {
@@ -222,7 +246,17 @@ export async function collectReferenceCandidates(opts) {
222
246
  catch (e) {
223
247
  skip('backwardSearch', errorMessage(e));
224
248
  }
225
- noteBlocked('backwardSearch', adapter?.blocked);
249
+ const scopedRepos = searchedRepos.filter((r) => !isOrgWildcard(r));
250
+ if (backward && onlyOrgWideRateLimited(adapter?.blocked, backward.skipped, scopedRepos)) {
251
+ // 관련 레포는 전부 찾았고 한도 때문에 조직 전체 검색만 덜 봤다. 막힘으로 올리면 이름이 수십 개인
252
+ // PR은 라운드마다 막힌다. 대신 얼마나 봤는지를 남겨 리포트가 그대로 보이게 한다
253
+ const ow = backward.coverage.orgWide;
254
+ limitations.push(`조직 전체 검색은 질의 ${ow?.searched ?? 0}/${ow?.planned ?? 0}개만 봤다. 관련 레포는 전부 찾았다 (${adapter.blocked.detail})`);
255
+ backward.skipped = [];
256
+ }
257
+ else {
258
+ noteBlocked('backwardSearch', adapter?.blocked);
259
+ }
226
260
  }
227
261
  if (backward) {
228
262
  addCandidates(backward.backwardRefs);
@@ -251,8 +285,34 @@ export async function collectReferenceCandidates(opts) {
251
285
  noGitHubRemote,
252
286
  referenceCheckSkipped: noGitHubRemote || lookupBlocked.length > 0 || skippedRepos.length > 0 || crossRepoSkipped,
253
287
  skippedRepos,
288
+ backwardSearchCoverage: backward?.coverage ?? null,
254
289
  detectors,
255
290
  limitations,
256
291
  };
257
292
  }
293
+ /** 관련 레포와 `--repo-dir` 레포를 클론 대상으로 합친다. 같은 레포면 사람이 준 클론을 쓴다 */
294
+ function cloneTargets(related, repoDirs, self) {
295
+ const byKey = new Map();
296
+ for (const r of related) {
297
+ const key = `${r.owner}/${r.name}`.toLowerCase();
298
+ byKey.set(key, { repo: `${r.owner}/${r.name}`, defaultBranch: r.defaultBranch });
299
+ }
300
+ for (const d of repoDirs) {
301
+ const key = d.repo.toLowerCase();
302
+ const prev = byKey.get(key);
303
+ byKey.set(key, { ...(prev ?? { repo: d.repo }), userDir: d.dir });
304
+ }
305
+ byKey.delete(self.toLowerCase());
306
+ return [...byKey.values()];
307
+ }
308
+ /**
309
+ * 한도 때문에 조직 와일드카드만 덜 봤는지. 관련 레포가 하나도 없으면 와일드카드가 검색의 전부라
310
+ * 여기에 안 든다. 받기만 하는 레포는 그 검색으로만 자기를 부르는 레포를 찾는다
311
+ */
312
+ function onlyOrgWideRateLimited(blocked, skipped, scopedRepos) {
313
+ return (blocked?.reason === 'rateLimited' &&
314
+ scopedRepos.length > 0 &&
315
+ skipped.length > 0 &&
316
+ skipped.every((s) => isOrgWildcard(s.repo)));
317
+ }
258
318
  //# sourceMappingURL=collect.js.map