mister-wolf 2.10.0 → 2.12.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 (96) hide show
  1. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  2. package/dist/adapters/cli/cli-entry.js +337 -94
  3. package/dist/adapters/cli/cli-entry.js.map +1 -1
  4. package/dist/adapters/cli/commands/analytics.d.ts +1 -1
  5. package/dist/adapters/cli/commands/analytics.d.ts.map +1 -1
  6. package/dist/adapters/cli/commands/analytics.js +30 -1
  7. package/dist/adapters/cli/commands/analytics.js.map +1 -1
  8. package/dist/adapters/cli/commands/memory-brief.d.ts.map +1 -1
  9. package/dist/adapters/cli/commands/memory-brief.js +15 -2
  10. package/dist/adapters/cli/commands/memory-brief.js.map +1 -1
  11. package/dist/adapters/cli/commands/memory-call.d.ts.map +1 -1
  12. package/dist/adapters/cli/commands/memory-call.js +54 -3
  13. package/dist/adapters/cli/commands/memory-call.js.map +1 -1
  14. package/dist/adapters/cli/commands/memory-recap.d.ts.map +1 -1
  15. package/dist/adapters/cli/commands/memory-recap.js +16 -1
  16. package/dist/adapters/cli/commands/memory-recap.js.map +1 -1
  17. package/dist/adapters/fs/config-file.d.ts +8 -0
  18. package/dist/adapters/fs/config-file.d.ts.map +1 -1
  19. package/dist/adapters/fs/config-file.js +57 -2
  20. package/dist/adapters/fs/config-file.js.map +1 -1
  21. package/dist/adapters/fs/heuristic-project-scanner.d.ts +10 -0
  22. package/dist/adapters/fs/heuristic-project-scanner.d.ts.map +1 -1
  23. package/dist/adapters/fs/heuristic-project-scanner.js +58 -1
  24. package/dist/adapters/fs/heuristic-project-scanner.js.map +1 -1
  25. package/dist/adapters/fs/markdown-memory-store.d.ts +2 -0
  26. package/dist/adapters/fs/markdown-memory-store.d.ts.map +1 -1
  27. package/dist/adapters/fs/markdown-memory-store.js +25 -1
  28. package/dist/adapters/fs/markdown-memory-store.js.map +1 -1
  29. package/dist/adapters/fs/scan-snapshot-cache.d.ts +23 -0
  30. package/dist/adapters/fs/scan-snapshot-cache.d.ts.map +1 -0
  31. package/dist/adapters/fs/scan-snapshot-cache.js +36 -0
  32. package/dist/adapters/fs/scan-snapshot-cache.js.map +1 -0
  33. package/dist/adapters/fs/session-delivery-registry.d.ts +31 -0
  34. package/dist/adapters/fs/session-delivery-registry.d.ts.map +1 -0
  35. package/dist/adapters/fs/session-delivery-registry.js +104 -0
  36. package/dist/adapters/fs/session-delivery-registry.js.map +1 -0
  37. package/dist/adapters/fs/session-metrics-log.d.ts +15 -3
  38. package/dist/adapters/fs/session-metrics-log.d.ts.map +1 -1
  39. package/dist/adapters/fs/session-metrics-log.js +150 -29
  40. package/dist/adapters/fs/session-metrics-log.js.map +1 -1
  41. package/dist/adapters/mcp/mcp-schemas.d.ts +10 -1
  42. package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
  43. package/dist/adapters/mcp/mcp-schemas.js +29 -0
  44. package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
  45. package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
  46. package/dist/adapters/mcp/mcp-tools.js +72 -19
  47. package/dist/adapters/mcp/mcp-tools.js.map +1 -1
  48. package/dist/adapters/render/opencode/opencode-renderer.d.ts +1 -0
  49. package/dist/adapters/render/opencode/opencode-renderer.d.ts.map +1 -1
  50. package/dist/adapters/render/opencode/opencode-renderer.js +47 -8
  51. package/dist/adapters/render/opencode/opencode-renderer.js.map +1 -1
  52. package/dist/adapters/render/sync-state.d.ts +9 -0
  53. package/dist/adapters/render/sync-state.d.ts.map +1 -0
  54. package/dist/adapters/render/sync-state.js +32 -0
  55. package/dist/adapters/render/sync-state.js.map +1 -0
  56. package/dist/adapters/sqlite/sqlite-search-index.d.ts +6 -1
  57. package/dist/adapters/sqlite/sqlite-search-index.d.ts.map +1 -1
  58. package/dist/adapters/sqlite/sqlite-search-index.js +47 -25
  59. package/dist/adapters/sqlite/sqlite-search-index.js.map +1 -1
  60. package/dist/app/use-cases/add-memory-object.d.ts.map +1 -1
  61. package/dist/app/use-cases/add-memory-object.js +2 -1
  62. package/dist/app/use-cases/add-memory-object.js.map +1 -1
  63. package/dist/app/use-cases/build-analytics.d.ts +64 -1
  64. package/dist/app/use-cases/build-analytics.d.ts.map +1 -1
  65. package/dist/app/use-cases/build-analytics.js +157 -0
  66. package/dist/app/use-cases/build-analytics.js.map +1 -1
  67. package/dist/app/use-cases/generate-agent-brief.d.ts.map +1 -1
  68. package/dist/app/use-cases/generate-agent-brief.js +3 -0
  69. package/dist/app/use-cases/generate-agent-brief.js.map +1 -1
  70. package/dist/app/use-cases/generate-recap.d.ts +14 -0
  71. package/dist/app/use-cases/generate-recap.d.ts.map +1 -1
  72. package/dist/app/use-cases/generate-recap.js +37 -0
  73. package/dist/app/use-cases/generate-recap.js.map +1 -1
  74. package/dist/app/use-cases/get-call-injections.d.ts +6 -0
  75. package/dist/app/use-cases/get-call-injections.d.ts.map +1 -1
  76. package/dist/app/use-cases/get-call-injections.js +26 -8
  77. package/dist/app/use-cases/get-call-injections.js.map +1 -1
  78. package/dist/app/use-cases/scan-project.d.ts +36 -1
  79. package/dist/app/use-cases/scan-project.d.ts.map +1 -1
  80. package/dist/app/use-cases/scan-project.js +91 -37
  81. package/dist/app/use-cases/scan-project.js.map +1 -1
  82. package/dist/domain/error-class.d.ts.map +1 -1
  83. package/dist/domain/error-class.js +5 -0
  84. package/dist/domain/error-class.js.map +1 -1
  85. package/dist/domain/memory-types.d.ts.map +1 -1
  86. package/dist/domain/memory-types.js +7 -2
  87. package/dist/domain/memory-types.js.map +1 -1
  88. package/dist/domain/router-log.d.ts +8 -2
  89. package/dist/domain/router-log.d.ts.map +1 -1
  90. package/dist/domain/router-log.js +14 -2
  91. package/dist/domain/router-log.js.map +1 -1
  92. package/dist/domain/schemas/relation-schema.d.ts +1 -1
  93. package/package.json +1 -1
  94. package/templates/base/agents/executor-lead.md +5 -3
  95. package/templates/base/playbooks/executor-lead-playbook.md +68 -0
  96. package/templates/opencode/plugins/wolf-router.ts +102 -44
@@ -1 +1 @@
1
- {"version":3,"file":"generate-agent-brief.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC1D,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,CA+BnC"}
1
+ {"version":3,"file":"generate-agent-brief.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,wFAAwF;IACxF,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,wBAAsB,kBAAkB,CACtC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,EAAE,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC1D,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,wBAAwB,CAAC,CAkCnC"}
@@ -1,6 +1,9 @@
1
1
  import { join } from 'path';
2
2
  import { briefsDir } from '../../adapters/fs/project-paths.js';
3
3
  export async function generateAgentBrief(deps, root, snapshot) {
4
+ // T013: ровно ОДИН store.list() — MarkdownMemoryStore.list() в любом случае
5
+ // обходит все файлы, type-фильтры не сокращают IO; три фильтрованных вызова
6
+ // дали бы три полных прохода. С parse-кэшем стора это одна walk+stat-проходка.
4
7
  const memoryObjects = await deps.store.list();
5
8
  const acceptedMemory = memoryObjects
6
9
  .filter((obj) => obj.review_state === 'accepted' &&
@@ -1 +1 @@
1
- {"version":3,"file":"generate-agent-brief.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-agent-brief.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-agent-brief.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { MemoryStore } from '../../ports/memory-store.port.js';
2
2
  import { MemoryObject } from '../../domain/schemas/memory-object-schema.js';
3
+ import type { RouterLogRow } from '../../domain/router-log.js';
3
4
  /** Сигнал «онбординг не завершён» (спека onboarding-pipeline-v2 §3, D6/D8). */
4
5
  export type OnboardingSignal = {
5
6
  kind: 'bootstrap';
@@ -7,6 +8,17 @@ export type OnboardingSignal = {
7
8
  kind: 'continue';
8
9
  threadId: string;
9
10
  };
11
+ /** P110: панель наблюдаемости доставки по router.log (нет данных в окне → null, секция опускается). */
12
+ export interface RecapDelivery {
13
+ deliveries: number;
14
+ /** Промахи канона ⊆ доставок: hit-строки с variant === 'fallback'. */
15
+ fallbacks: number;
16
+ /** Топ-3 agentId по числу fallback-строк; сорт count убыв., потом агент. */
17
+ topMissAgents: {
18
+ agent: string;
19
+ count: number;
20
+ }[];
21
+ }
10
22
  export interface RecapReport {
11
23
  activeRules: MemoryObject[];
12
24
  activeWorkThreads: MemoryObject[];
@@ -15,9 +27,11 @@ export interface RecapReport {
15
27
  openInfoRequests: MemoryObject[];
16
28
  recentDecisions: MemoryObject[];
17
29
  onboarding: OnboardingSignal | null;
30
+ delivery: RecapDelivery | null;
18
31
  }
19
32
  export declare function generateRecap(deps: {
20
33
  store: MemoryStore;
34
+ routerLogRows?: RouterLogRow[];
21
35
  }): Promise<RecapReport>;
22
36
  export declare function renderRecap(report: RecapReport): string;
23
37
  //# sourceMappingURL=generate-recap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-recap.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAG5E,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9F,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;CACrC;AAqBD,wBAAsB,aAAa,CAAC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAqBtF;AA6BD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAgBvD"}
1
+ {"version":3,"file":"generate-recap.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAG/D,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC;AAK9F,uGAAuG;AACvG,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,aAAa,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,iBAAiB,EAAE,YAAY,EAAE,CAAC;IAClC,YAAY,EAAE,YAAY,EAAE,CAAC;IAC7B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,eAAe,EAAE,YAAY,EAAE,CAAC;IAChC,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC;AA4CD,wBAAsB,aAAa,CAAC,IAAI,EAAE;IACxC,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;CAChC,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBvB;AA6BD,wBAAgB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CA0BvD"}
@@ -1,4 +1,6 @@
1
1
  import { BOOTSTRAP_THREAD_TITLE } from './bootstrap-project.js';
2
+ /** P110: окно панели доставки в recap — 7 дней от «сейчас». */
3
+ const DELIVERY_WINDOW_MS = 7 * 86_400_000;
2
4
  /**
3
5
  * Правила вывода секции Onboarding (§3):
4
6
  * 1. bootstrap-thread active → продолжение-сигнал (покрывает legacy без init-report);
@@ -14,6 +16,31 @@ function detectOnboarding(all) {
14
16
  const hasInitReport = all.some((o) => o.type === 'report' && o.status === 'active' && o.tags.includes('wolf-init') && o.tags.includes('onboarding-v2'));
15
17
  return hasInitReport ? { kind: 'bootstrap' } : null;
16
18
  }
19
+ /** P110: доставки за 7 дней по router.log; NaN-ts — пропуск (fail-safe), пустое окно → null. */
20
+ function buildDeliveryStats(rows, nowMs) {
21
+ if (rows === undefined)
22
+ return null;
23
+ const inWindow = rows.filter((r) => {
24
+ const ts = Date.parse(r.ts);
25
+ return !Number.isNaN(ts) && ts >= nowMs - DELIVERY_WINDOW_MS;
26
+ });
27
+ if (inWindow.length === 0)
28
+ return null;
29
+ const hits = inWindow.filter((r) => r.hit);
30
+ const byAgent = new Map();
31
+ for (const r of hits) {
32
+ if (r.variant === 'fallback')
33
+ byAgent.set(r.agentId, (byAgent.get(r.agentId) ?? 0) + 1);
34
+ }
35
+ return {
36
+ deliveries: hits.length,
37
+ fallbacks: [...byAgent.values()].reduce((n, c) => n + c, 0),
38
+ topMissAgents: [...byAgent.entries()]
39
+ .map(([agent, count]) => ({ agent, count }))
40
+ .sort((a, b) => b.count - a.count || a.agent.localeCompare(b.agent))
41
+ .slice(0, 3),
42
+ };
43
+ }
17
44
  export async function generateRecap(deps) {
18
45
  // ponytail: store.list() — полный reparse всех md (V6); ровно один вызов на отчёт (D1)
19
46
  const all = await deps.store.list();
@@ -30,6 +57,7 @@ export async function generateRecap(deps) {
30
57
  .sort((a, b) => b.updated_at.localeCompare(a.updated_at))
31
58
  .slice(0, 5),
32
59
  onboarding: detectOnboarding(all),
60
+ delivery: buildDeliveryStats(deps.routerLogRows, Date.now()),
33
61
  };
34
62
  }
35
63
  function section(lines, title, items) {
@@ -61,6 +89,15 @@ export function renderRecap(report) {
61
89
  if (report.onboarding !== null) {
62
90
  section(lines, 'Onboarding', [onboardingText(report.onboarding)]);
63
91
  }
92
+ // P110: панель доставки — после Onboarding, до Active rules; тело строки русское (Т3)
93
+ if (report.delivery !== null) {
94
+ const d = report.delivery;
95
+ let line = `доставок ${d.deliveries}, промахов ${d.fallbacks}`;
96
+ if (d.topMissAgents.length > 0) {
97
+ line += `, топ промахов: ${d.topMissAgents.map((a) => `${a.agent} (×${a.count})`).join(', ')}`;
98
+ }
99
+ section(lines, 'Delivery (7d)', [line]);
100
+ }
64
101
  section(lines, 'Active rules', report.activeRules.map(fmtObj));
65
102
  section(lines, 'Active work threads', report.activeWorkThreads.map(fmtObj));
66
103
  section(lines, 'Open blockers', report.openBlockers.map(fmtObj));
@@ -1 +1 @@
1
- {"version":3,"file":"generate-recap.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAehE;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,KAAK,sBAAsB,CAAC,CAAC;IAC/F,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CACnH,CAAC;IACF,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA4B;IAC9D,uFAAuF;IACvF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAEpC,4FAA4F;IAC5F,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAC5F,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAC/G,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC7F,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;QACpF,aAAa;QACb,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC;QAC3F,eAAe,EAAE,GAAG;aACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACxD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAe,EAAE,KAAa,EAAE,KAAe;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,cAAc,CAAC,MAAwB;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,CACL,0EAA0E;YAC1E,uGAAuG;YACvG,qEAAqE;YACrE,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,CACL,gGAAgG;QAChG,yFAAyF;QACzF,qFAAqF,MAAM,CAAC,QAAQ,GAAG;QACvG,mDAAmD,CACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,MAAM,GAAG,CAAC,GAAiB,EAAU,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;IACvF,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"generate-recap.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,9 @@ export interface CallInjectionResult {
6
6
  truncated: number;
7
7
  /** Ф26: id объектов, реально попавших в вывод (срабатывание доставки → decay-пробег). */
8
8
  deliveredIds: string[];
9
+ /** P108 (4.C): сколько объектов отфильтровано сессионной дедупликацией
10
+ * (id уже в реестре сессии с той же checksum блока). */
11
+ deduplicated: number;
9
12
  }
10
13
  export declare function getCallInjections(deps: {
11
14
  store: MemoryStore;
@@ -15,5 +18,8 @@ export declare function getCallInjections(deps: {
15
18
  topic?: string;
16
19
  thread?: boolean | string;
17
20
  compact?: number | true;
21
+ /** P108 (4.C): мапа id→checksum уже доставленных в сессию блоков (готовит
22
+ * memory-call из loadSessionRegistry). Не передана (MCP-канал) — фильтр выключен. */
23
+ deliveredRegistry?: Record<string, string>;
18
24
  }): Promise<CallInjectionResult>;
19
25
  //# sourceMappingURL=get-call-injections.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-call-injections.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/get-call-injections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAIlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAWD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC/D,KAAK,EAAE;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC5E,OAAO,CAAC,mBAAmB,CAAC,CAwG9B"}
1
+ {"version":3,"file":"get-call-injections.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/get-call-injections.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAKlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,yFAAyF;IACzF,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;4DACwD;IACxD,YAAY,EAAE,MAAM,CAAC;CACtB;AAWD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,EAC/D,KAAK,EAAE;IACL,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB;yFACqF;IACrF,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC5C,GACA,OAAO,CAAC,mBAAmB,CAAC,CA2H9B"}
@@ -1,5 +1,6 @@
1
1
  import { tokenize } from '../../domain/solve/scenarios.js';
2
2
  import { finalScore } from '../../domain/solve/relevance.js';
3
+ import { checksumBlock } from '../../adapters/fs/session-delivery-registry.js';
3
4
  function formatBlock(obj) {
4
5
  return `- [${obj.id}] ${obj.title} (${obj.confidence}, ${obj.updated_at})\n source: ${obj.id}`;
5
6
  }
@@ -10,9 +11,14 @@ function isMachineState(obj) {
10
11
  export async function getCallInjections(deps, input) {
11
12
  const now = deps.clock.now();
12
13
  const topicTokens = input.topic ? tokenize(input.topic) : [];
14
+ // P103 (волна 2.12 A4): ровно ОДИН store.list() — list() в любом случае
15
+ // обходит всё дерево, type/status-фильтры не сокращают IO (прецедент T013
16
+ // в generate-agent-brief.ts). Было 5 полных проходов, один — буквальный
17
+ // дубль rules-запроса; фильтрация по типу/статусу — в памяти.
18
+ const memoryObjects = (await deps.store.list());
19
+ const activeOf = (type) => memoryObjects.filter((o) => o.type === type && o.status === 'active');
13
20
  // 1. active call-injections
14
- const allInjections = await deps.store.list({ type: 'call-injection', status: 'active' });
15
- const injections = allInjections;
21
+ const injections = activeOf('call-injection');
16
22
  // 2. topic matching
17
23
  let matched;
18
24
  if (input.topic) {
@@ -41,12 +47,12 @@ export async function getCallInjections(deps, input) {
41
47
  const kw = obj.trigger_keywords ?? [];
42
48
  return kw.some((k) => topicTokens.includes(k));
43
49
  };
44
- const lessons = (await deps.store.list({ type: 'lesson', status: 'active' }));
50
+ const lessons = activeOf('lesson');
45
51
  for (const l of lessons) {
46
52
  if (kwMatched(l) && !matched.some((m) => m.id === l.id))
47
53
  matched.push(l);
48
54
  }
49
- const rules = (await deps.store.list({ type: 'rule', status: 'active' }));
55
+ const rules = activeOf('rule');
50
56
  const keywordRules = rules.filter((r) => !isMachineState(r) && kwMatched(r));
51
57
  for (const r of keywordRules) {
52
58
  if (!matched.some((m) => m.id === r.id))
@@ -63,14 +69,14 @@ export async function getCallInjections(deps, input) {
63
69
  // 4. thread mode: append project rules + open blockers with matching thread
64
70
  if (input.thread !== undefined) {
65
71
  const threadId = typeof input.thread === 'string' ? input.thread : null;
66
- const rules = (await deps.store.list({ type: 'rule', status: 'active' }));
72
+ const rules = activeOf('rule');
67
73
  for (const r of rules) {
68
74
  if (!isMachineState(r) && r.scope === 'project' && !matched.some((m) => m.id === r.id)) {
69
75
  matched.push(r);
70
76
  }
71
77
  }
72
78
  if (threadId) {
73
- const blockers = (await deps.store.list({ type: 'blocker', status: 'active' }));
79
+ const blockers = activeOf('blocker');
74
80
  for (const b of blockers) {
75
81
  if (b.thread === threadId && !matched.some((m) => m.id === b.id)) {
76
82
  matched.push(b);
@@ -90,13 +96,25 @@ export async function getCallInjections(deps, input) {
90
96
  }, now),
91
97
  }))
92
98
  .sort((a, b) => b.score - a.score);
99
+ // P108 (4.C): сессионная дедупликация ДО бюджета — уже доставленные в этой
100
+ // сессии с той же checksum блока не занимают бюджет; изменившийся текст
101
+ // (иная checksum) доставляется повторно. Реестр не передан → фильтр выключен.
102
+ let deduplicated = 0;
103
+ const pending = input.deliveredRegistry
104
+ ? scored.filter(({ obj }) => {
105
+ if (input.deliveredRegistry[obj.id] !== checksumBlock(formatBlock(obj)))
106
+ return true;
107
+ deduplicated++;
108
+ return false;
109
+ })
110
+ : scored;
93
111
  // 6. build blocks (deliveredIds — то, что прошло бюджет, включая fallback)
94
112
  const blocks = [];
95
113
  const deliveredIds = [];
96
114
  let truncated = 0;
97
115
  const budget = input.compact === undefined ? Infinity : input.compact === true ? 1200 : input.compact;
98
116
  let used = 0;
99
- for (const { obj } of scored) {
117
+ for (const { obj } of pending) {
100
118
  const block = formatBlock(obj);
101
119
  if (used + block.length <= budget) {
102
120
  blocks.push(block);
@@ -107,6 +125,6 @@ export async function getCallInjections(deps, input) {
107
125
  truncated++;
108
126
  }
109
127
  }
110
- return { blocks, truncated, deliveredIds };
128
+ return { blocks, truncated, deliveredIds, deduplicated };
111
129
  }
112
130
  //# sourceMappingURL=get-call-injections.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-call-injections.js","sourceRoot":"","sources":["../../../src/app/use-cases/get-call-injections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"get-call-injections.js","sourceRoot":"","sources":["../../../src/app/use-cases/get-call-injections.ts"],"names":[],"mappings":"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"}
@@ -12,7 +12,31 @@ export interface ScanProjectResult {
12
12
  snapshot: ProjectSnapshot;
13
13
  documents: MemoryObject[];
14
14
  }
15
- export declare function scanProject(deps: {
15
+ /** Запись персистного кэша скана: сигнатура дерева + результат скана (P105). */
16
+ export type ScanSnapshotEntry = {
17
+ sig: string;
18
+ } & ScanProjectResult;
19
+ /**
20
+ * Персистный кэш скана (P105, спека A5). Реализация — см.
21
+ * src/adapters/fs/scan-snapshot-cache.ts (`.wolf/cache/scan-snapshot.json`);
22
+ * портовский тип структурно совместим с адаптером.
23
+ */
24
+ export interface ScanSnapshotCache {
25
+ read(): Promise<ScanSnapshotEntry | null>;
26
+ write(entry: ScanSnapshotEntry): Promise<void>;
27
+ }
28
+ /**
29
+ * Кэш скана по сигнатуре дерева (T013 → P105: кэш персистный). sig совпал →
30
+ * результат из кэша без обхода дерева и побочных эффектов; не совпал →
31
+ * полный scanProject (diff-before-save внутри) и перезапись кэша.
32
+ * treeSignature отсутствует → всегда полный скан (обратная совместимость портов
33
+ * в тестах); snapshotCache отсутствует → скан без кэширования.
34
+ * Инвалидация — см. projectTreeSignature в heuristic-project-scanner.ts:
35
+ * dir mtime (добавление/удаление/переименование файлов), package.json, .git/HEAD;
36
+ * контентные правки существующих файлов НЕ инвалидируют (brief не зависит от
37
+ * содержимого файлов).
38
+ */
39
+ export declare function scanProjectCached(deps: {
16
40
  store: MemoryStore;
17
41
  log: EventLog;
18
42
  clock: Clock;
@@ -20,6 +44,17 @@ export declare function scanProject(deps: {
20
44
  scanner: ProjectScanner;
21
45
  index?: SearchIndex;
22
46
  lock?: MemoryLock;
47
+ treeSignature?: (root: string) => Promise<string>;
48
+ snapshotCache?: ScanSnapshotCache;
23
49
  }, root: string): Promise<ScanProjectResult>;
50
+ export declare function scanProject(deps: {
51
+ store: MemoryStore;
52
+ log: EventLog;
53
+ clock: Clock;
54
+ idGen: IdGenerator;
55
+ scanner: ProjectScanner;
56
+ index?: SearchIndex;
57
+ lock?: MemoryLock;
58
+ }, root: string, afterScan?: (result: ScanProjectResult) => Promise<void>): Promise<ScanProjectResult>;
24
59
  export declare function renderScanBody(snapshot: ProjectSnapshot): string;
25
60
  //# sourceMappingURL=scan-project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scan-project.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/scan-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE;IACJ,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,EACD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CA+C5B;AAiED,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAQhE"}
1
+ {"version":3,"file":"scan-project.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/scan-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAI9E,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,eAAe,CAAC;IAC1B,SAAS,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,gFAAgF;AAChF,MAAM,MAAM,iBAAiB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,iBAAiB,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,IAAI,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IAC1C,KAAK,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE;IACJ,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC,EACD,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,iBAAiB,CAAC,CAa5B;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE;IACJ,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB,EACD,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,GACvD,OAAO,CAAC,iBAAiB,CAAC,CAc5B;AAwID,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAQhE"}
@@ -1,49 +1,93 @@
1
1
  import { governanceDefaults } from '../../domain/governance.js';
2
2
  import { documentRefId, withTieBreak } from '../../adapters/fs/document-id.js';
3
- export async function scanProject(deps, root) {
3
+ /**
4
+ * Кэш скана по сигнатуре дерева (T013 → P105: кэш персистный). sig совпал →
5
+ * результат из кэша без обхода дерева и побочных эффектов; не совпал →
6
+ * полный scanProject (diff-before-save внутри) и перезапись кэша.
7
+ * treeSignature отсутствует → всегда полный скан (обратная совместимость портов
8
+ * в тестах); snapshotCache отсутствует → скан без кэширования.
9
+ * Инвалидация — см. projectTreeSignature в heuristic-project-scanner.ts:
10
+ * dir mtime (добавление/удаление/переименование файлов), package.json, .git/HEAD;
11
+ * контентные правки существующих файлов НЕ инвалидируют (brief не зависит от
12
+ * содержимого файлов).
13
+ */
14
+ export async function scanProjectCached(deps, root) {
15
+ if (!deps.treeSignature)
16
+ return scanProject(deps, root);
17
+ const sig = await deps.treeSignature(root);
18
+ const cache = deps.snapshotCache;
19
+ if (cache) {
20
+ const hit = await cache.read();
21
+ if (hit && hit.sig === sig)
22
+ return { object: hit.object, snapshot: hit.snapshot, documents: hit.documents };
23
+ }
24
+ // P105: запись кэша — под lock скана (хук выполняется внутри run)
25
+ const persist = cache
26
+ ? async (result) => cache.write({ ...result, sig })
27
+ : undefined;
28
+ return scanProject(deps, root, persist);
29
+ }
30
+ export async function scanProject(deps, root, afterScan) {
4
31
  const run = async () => {
5
32
  const snapshot = await deps.scanner.scan(root);
6
33
  const now = deps.clock.now();
7
34
  const actor = 'agent:mr-wolf';
8
- const defaults = governanceDefaults(actor);
9
- const object = {
10
- id: 'project-scan-latest',
11
- type: 'context',
12
- title: `Project scan for ${snapshot.projectName}`,
13
- body: renderScanBody(snapshot),
14
- status: 'active',
15
- review_state: 'accepted',
16
- confidence: 'high',
17
- importance: 0.7,
18
- created_at: now.toISOString(),
19
- updated_at: now.toISOString(),
20
- created_by: actor,
21
- schema_version: 1,
22
- source: { kind: 'scan', path: snapshot.root },
23
- related: { files: [], docs: [], decisions: [] },
24
- tags: ['scan'],
25
- superseded_by: null,
26
- memory_class: defaults.memory_class,
27
- truth_role: defaults.truth_role,
28
- lifetime: defaults.lifetime,
29
- };
30
- const existingScan = await deps.store.get(object.id);
31
- await deps.store.save(object);
32
- await deps.log.append({
33
- id: deps.idGen.generateEventId(now),
34
- type: existingScan ? 'memory.scan.updated' : 'memory.added',
35
- timestamp: now.toISOString(),
36
- actor,
37
- payload: { memory_id: object.id, type: object.type },
38
- });
39
- if (deps.index) {
40
- await deps.index.indexObject(object);
41
- }
35
+ const object = await upsertScanObject(deps, snapshot, now, actor);
42
36
  const documents = await registerDocuments(deps, snapshot, now, actor);
43
- return { object, snapshot, documents };
37
+ const result = { object, snapshot, documents };
38
+ if (afterScan)
39
+ await afterScan(result);
40
+ return result;
44
41
  };
45
42
  return deps.lock ? deps.lock.withLock(run) : run();
46
43
  }
44
+ const SCAN_OBJECT_ID = 'project-scan-latest';
45
+ /**
46
+ * Scan-объект project-scan-latest с diff-before-save (P105): title+body
47
+ * (renderScanBody детерминирован) не изменились → ни save, ни event, ни index;
48
+ * возвращается existing, updated_at не тикает.
49
+ */
50
+ async function upsertScanObject(deps, snapshot, now, actor) {
51
+ const title = `Project scan for ${snapshot.projectName}`;
52
+ const body = renderScanBody(snapshot);
53
+ const existing = await deps.store.get(SCAN_OBJECT_ID);
54
+ if (existing && existing.title === title && existing.body === body)
55
+ return existing;
56
+ const defaults = governanceDefaults(actor);
57
+ const object = {
58
+ id: SCAN_OBJECT_ID,
59
+ type: 'context',
60
+ title,
61
+ body,
62
+ status: 'active',
63
+ review_state: 'accepted',
64
+ confidence: 'high',
65
+ importance: 0.7,
66
+ created_at: existing?.created_at ?? now.toISOString(),
67
+ updated_at: now.toISOString(),
68
+ created_by: actor,
69
+ schema_version: 1,
70
+ source: { kind: 'scan', path: snapshot.root },
71
+ related: { files: [], docs: [], decisions: [] },
72
+ tags: ['scan'],
73
+ superseded_by: null,
74
+ memory_class: defaults.memory_class,
75
+ truth_role: defaults.truth_role,
76
+ lifetime: defaults.lifetime,
77
+ };
78
+ await deps.store.save(object);
79
+ await deps.log.append({
80
+ id: deps.idGen.generateEventId(now),
81
+ type: existing ? 'memory.scan.updated' : 'memory.added',
82
+ timestamp: now.toISOString(),
83
+ actor,
84
+ payload: { memory_id: object.id, type: object.type },
85
+ });
86
+ if (deps.index) {
87
+ await deps.index.indexObject(object);
88
+ }
89
+ return object;
90
+ }
47
91
  async function registerDocuments(deps, snapshot, now, actor) {
48
92
  const results = [];
49
93
  const defaults = governanceDefaults(actor);
@@ -57,6 +101,16 @@ async function registerDocuments(deps, snapshot, now, actor) {
57
101
  const takenIds = new Set((await deps.store.list()).map((o) => o.id));
58
102
  for (const doc of snapshot.docs) {
59
103
  const existing = existingByPath.get(doc.path);
104
+ const createdAt = existing?.created_at ?? now.toISOString();
105
+ // P105 diff-before-save: title/path/created_at не изменились → ни save, ни
106
+ // event, ни index; возвращается existing, updated_at не тикает.
107
+ if (existing &&
108
+ existing.title === doc.title &&
109
+ existing.source?.path === doc.path &&
110
+ existing.created_at === createdAt) {
111
+ results.push(existing);
112
+ continue;
113
+ }
60
114
  // Скан не мигрирует (§2.1): у существующего объекта id сохраняется как есть
61
115
  // (даже легаси doc_*); канонический id — только для новых объектов.
62
116
  const id = existing ? existing.id : withTieBreak(documentRefId(doc.path, now.toISOString()), takenIds);
@@ -70,7 +124,7 @@ async function registerDocuments(deps, snapshot, now, actor) {
70
124
  review_state: 'accepted',
71
125
  confidence: 'high',
72
126
  importance: 0.6,
73
- created_at: existing?.created_at ?? now.toISOString(),
127
+ created_at: createdAt,
74
128
  updated_at: now.toISOString(),
75
129
  created_by: existing?.created_by ?? actor,
76
130
  schema_version: 1,
@@ -1 +1 @@
1
- {"version":3,"file":"scan-project.js","sourceRoot":"","sources":["../../../src/app/use-cases/scan-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scan-project.js","sourceRoot":"","sources":["../../../src/app/use-cases/scan-project.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"error-class.d.ts","sourceRoot":"","sources":["../../src/domain/error-class.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAC;IACX,0FAA0F;IAC1F,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,cAAc,EAyD9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,YAAY,GAAE,SAAS,cAAc,EAAO,GAC3C,MAAM,CAMR"}
1
+ {"version":3,"file":"error-class.d.ts","sourceRoot":"","sources":["../../src/domain/error-class.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,cAAc;IAC7B,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAC;IACX,0FAA0F;IAC1F,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;CAC1B;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB,EAAE,SAAS,cAAc,EA8D9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,kBAAkB,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAC1C,YAAY,GAAE,SAAS,cAAc,EAAO,GAC3C,MAAM,CAMR"}
@@ -55,6 +55,11 @@ export const DEFAULT_ERROR_CLASS_RULES = [
55
55
  'failed to parse',
56
56
  'invalid json',
57
57
  'invalid yaml',
58
+ // T011: рантайм-валидация add (тип/поле/ключ схемы) — не uncategorized
59
+ 'unknown memory type',
60
+ 'no taxonomy declaration',
61
+ 'unknown field',
62
+ 'unrecognized key',
58
63
  ],
59
64
  },
60
65
  { id: 'conflict', match: ['already exists', 'conflict', 'eexist'] },
@@ -1 +1 @@
1
- {"version":3,"file":"error-class.js","sourceRoot":"","sources":["../../src/domain/error-class.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAA8B;IAClE,EAAE,EAAE,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,2BAA2B,CAAC,EAAE;IAC9D;QACE,EAAE,EAAE,gBAAgB;QACpB,KAAK,EAAE,CAAC,QAAQ,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,OAAO,CAAC;KAC7F;IACD,EAAE,EAAE,EAAE,oBAAoB,EAAE,KAAK,EAAE,CAAC,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,CAAC,EAAE;IAC1F,EAAE,EAAE,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAAE;IAClE;QACE,EAAE,EAAE,kBAAkB;QACtB,KAAK,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;KACxG;IACD,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE;IAChF,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,WAAW,CAAC,EAAE;IAC/D;QACE,EAAE,EAAE,MAAM;QACV,KAAK,EAAE,CAAC,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,CAAC;KAC/G;IACD;QACE,EAAE,EAAE,SAAS;QACb,KAAK,EAAE;YACL,cAAc;YACd,YAAY;YACZ,WAAW;YACX,WAAW;YACX,cAAc;YACd,oBAAoB;YACpB,kBAAkB;YAClB,SAAS;SACV;KACF;IACD;QACE,EAAE,EAAE,eAAe;QACnB,KAAK,EAAE;YACL,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;YAChB,kBAAkB;YAClB,gBAAgB;YAChB,YAAY;YACZ,SAAS;YACT,iBAAiB;YACjB,cAAc;YACd,cAAc;SACf;KACF;IACD,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;IACnE,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;IAC3E,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,EAAE;IAChG,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE;IACnD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE;IACtD,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,oBAAoB,CAAC,EAAE;IAC7D;QACE,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,yBAAyB,EAAE,KAAK,CAAC;KACxG;IACD,EAAE,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,eAAe,EAAE,aAAa,EAAE,iBAAiB,CAAC,EAAE;CAClF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,eAAe,CAAC;AAEzD;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAC3B,KAA0C,EAC1C,eAA0C,EAAE;IAE5C,MAAM,QAAQ,GAAG,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,IAAI,KAAK,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5E,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,YAAY,EAAE,GAAG,yBAAyB,CAAC,EAAE,CAAC;QACnE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,EAAE,CAAC;IAC7E,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"error-class.js","sourceRoot":"","sources":["../../src/domain/error-class.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../src/domain/memory-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../src/domain/memory-types.ts"],"names":[],"mappings":"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"}