swarm-engine 1.43.0 → 1.51.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 (125) hide show
  1. package/README.md +145 -42
  2. package/agents/implementer.md +1 -14
  3. package/agents/orchestrator.md +127 -246
  4. package/agents/reviewer.md +3 -18
  5. package/dist/cli/commands/agents.js +13 -1
  6. package/dist/cli/commands/agents.js.map +1 -1
  7. package/dist/cli/commands/dashboard.d.ts +3 -0
  8. package/dist/cli/commands/dashboard.d.ts.map +1 -0
  9. package/dist/cli/commands/dashboard.js +43 -0
  10. package/dist/cli/commands/dashboard.js.map +1 -0
  11. package/dist/cli/commands/orchestrate.d.ts.map +1 -1
  12. package/dist/cli/commands/orchestrate.js +17 -0
  13. package/dist/cli/commands/orchestrate.js.map +1 -1
  14. package/dist/cli/commands/run.d.ts.map +1 -1
  15. package/dist/cli/commands/run.js +20 -1
  16. package/dist/cli/commands/run.js.map +1 -1
  17. package/dist/cli/commands/status.d.ts +1 -0
  18. package/dist/cli/commands/status.d.ts.map +1 -1
  19. package/dist/cli/commands/status.js +5 -2
  20. package/dist/cli/commands/status.js.map +1 -1
  21. package/dist/core/event-bus.d.ts.map +1 -1
  22. package/dist/core/event-bus.js +4 -1
  23. package/dist/core/event-bus.js.map +1 -1
  24. package/dist/core/types.d.ts +24 -1
  25. package/dist/core/types.d.ts.map +1 -1
  26. package/dist/core/types.js +4 -0
  27. package/dist/core/types.js.map +1 -1
  28. package/dist/index.d.ts +3 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/memory/index.js +2 -2
  33. package/dist/memory/index.js.map +1 -1
  34. package/dist/runtime/agent-runner.d.ts +8 -0
  35. package/dist/runtime/agent-runner.d.ts.map +1 -1
  36. package/dist/runtime/agent-runner.js +93 -4
  37. package/dist/runtime/agent-runner.js.map +1 -1
  38. package/dist/runtime/backends/claude.d.ts +1 -0
  39. package/dist/runtime/backends/claude.d.ts.map +1 -1
  40. package/dist/runtime/backends/claude.js +50 -2
  41. package/dist/runtime/backends/claude.js.map +1 -1
  42. package/dist/runtime/backends/codex.d.ts.map +1 -1
  43. package/dist/runtime/backends/codex.js +4 -0
  44. package/dist/runtime/backends/codex.js.map +1 -1
  45. package/dist/runtime/backends/gemini.d.ts.map +1 -1
  46. package/dist/runtime/backends/gemini.js +4 -0
  47. package/dist/runtime/backends/gemini.js.map +1 -1
  48. package/dist/runtime/benefits.d.ts +81 -1
  49. package/dist/runtime/benefits.d.ts.map +1 -1
  50. package/dist/runtime/benefits.js +199 -12
  51. package/dist/runtime/benefits.js.map +1 -1
  52. package/dist/runtime/cache-optimizer.d.ts +7 -3
  53. package/dist/runtime/cache-optimizer.d.ts.map +1 -1
  54. package/dist/runtime/cache-optimizer.js +11 -7
  55. package/dist/runtime/cache-optimizer.js.map +1 -1
  56. package/dist/runtime/compaction.d.ts +6 -1
  57. package/dist/runtime/compaction.d.ts.map +1 -1
  58. package/dist/runtime/compaction.js +39 -2
  59. package/dist/runtime/compaction.js.map +1 -1
  60. package/dist/runtime/cost-model.d.ts.map +1 -1
  61. package/dist/runtime/cost-model.js +20 -17
  62. package/dist/runtime/cost-model.js.map +1 -1
  63. package/dist/runtime/engine.d.ts +1 -0
  64. package/dist/runtime/engine.d.ts.map +1 -1
  65. package/dist/runtime/engine.js +62 -2
  66. package/dist/runtime/engine.js.map +1 -1
  67. package/dist/runtime/graph-discovery.js +2 -2
  68. package/dist/runtime/graph-discovery.js.map +1 -1
  69. package/dist/runtime/graph-trajectory.js +3 -3
  70. package/dist/runtime/graph-trajectory.js.map +1 -1
  71. package/dist/runtime/lsp.d.ts.map +1 -1
  72. package/dist/runtime/lsp.js +4 -0
  73. package/dist/runtime/lsp.js.map +1 -1
  74. package/dist/runtime/mcp.d.ts +1 -0
  75. package/dist/runtime/mcp.d.ts.map +1 -1
  76. package/dist/runtime/mcp.js +38 -0
  77. package/dist/runtime/mcp.js.map +1 -1
  78. package/dist/runtime/output-summarizer.d.ts +45 -0
  79. package/dist/runtime/output-summarizer.d.ts.map +1 -0
  80. package/dist/runtime/output-summarizer.js +171 -0
  81. package/dist/runtime/output-summarizer.js.map +1 -0
  82. package/dist/runtime/plugins.d.ts +5 -1
  83. package/dist/runtime/plugins.d.ts.map +1 -1
  84. package/dist/runtime/plugins.js +14 -2
  85. package/dist/runtime/plugins.js.map +1 -1
  86. package/dist/runtime/prompt-tier.d.ts +33 -0
  87. package/dist/runtime/prompt-tier.d.ts.map +1 -0
  88. package/dist/runtime/prompt-tier.js +105 -0
  89. package/dist/runtime/prompt-tier.js.map +1 -0
  90. package/dist/runtime/sharing.js +2 -1
  91. package/dist/runtime/sharing.js.map +1 -1
  92. package/dist/runtime/stats.d.ts +2 -0
  93. package/dist/runtime/stats.d.ts.map +1 -1
  94. package/dist/runtime/stats.js +17 -3
  95. package/dist/runtime/stats.js.map +1 -1
  96. package/dist/utils/project-config.d.ts +20 -0
  97. package/dist/utils/project-config.d.ts.map +1 -1
  98. package/dist/utils/project-config.js +46 -1
  99. package/dist/utils/project-config.js.map +1 -1
  100. package/dist/utils/redact.d.ts.map +1 -1
  101. package/dist/utils/redact.js +5 -1
  102. package/dist/utils/redact.js.map +1 -1
  103. package/dist/web/bridge.d.ts +47 -0
  104. package/dist/web/bridge.d.ts.map +1 -0
  105. package/dist/web/bridge.js +267 -0
  106. package/dist/web/bridge.js.map +1 -0
  107. package/dist/web/graph-api.d.ts +19 -0
  108. package/dist/web/graph-api.d.ts.map +1 -0
  109. package/dist/web/graph-api.js +157 -0
  110. package/dist/web/graph-api.js.map +1 -0
  111. package/dist/web/index.d.ts +21 -0
  112. package/dist/web/index.d.ts.map +1 -0
  113. package/dist/web/index.js +38 -0
  114. package/dist/web/index.js.map +1 -0
  115. package/dist/web/public/index.html +1304 -0
  116. package/dist/web/public/public/index.html +1307 -0
  117. package/dist/web/server.d.ts +24 -0
  118. package/dist/web/server.d.ts.map +1 -0
  119. package/dist/web/server.js +113 -0
  120. package/dist/web/server.js.map +1 -0
  121. package/dist/web/tray.d.ts +23 -0
  122. package/dist/web/tray.d.ts.map +1 -0
  123. package/dist/web/tray.js +205 -0
  124. package/dist/web/tray.js.map +1 -0
  125. package/package.json +1 -1
@@ -11,16 +11,20 @@
11
11
  /**
12
12
  * Structure a prompt for optimal cache utilization.
13
13
  *
14
- * Order: Orchestration context → Shared phase context Agent definition → Task
14
+ * Order: Orchestration context → Agent definitionPhase context → Task
15
15
  *
16
- * The orchestration context and shared phase context are identical across
17
- * parallel agents, so they form the cacheable prefix.
16
+ * Security (CWE-74): the agent's own definition is placed BEFORE the
17
+ * (potentially untrusted) phase context so the model reads its instructions
18
+ * first. This is a structural defense — position in prompt matters for LLM
19
+ * attention. Trade-off: sharedPrefix now varies per agent (includes
20
+ * agent-specific definition), weakening cross-agent cache sharing.
21
+ * Security wins over caching in this trade-off.
18
22
  */
19
23
  export function optimizeForCache(orchestrationContext, sharedPhaseContext, agentDefinition, task) {
20
- // Shared prefix: identical across all agents in this phase
21
- const sharedPrefix = [orchestrationContext, sharedPhaseContext].filter(Boolean).join('\n\n');
22
- // Agent-specific: varies per agent
23
- const agentSuffix = [agentDefinition, task].filter(Boolean).join('\n\n');
24
+ // Shared prefix: orchestration context + agent's own instructions first
25
+ const sharedPrefix = [orchestrationContext, agentDefinition].filter(Boolean).join('\n\n');
26
+ // Agent suffix: untrusted phase context + task-specific content
27
+ const agentSuffix = [sharedPhaseContext, task].filter(Boolean).join('\n\n');
24
28
  return {
25
29
  sharedPrefix,
26
30
  agentSuffix,
@@ -1 +1 @@
1
- {"version":3,"file":"cache-optimizer.js","sourceRoot":"","sources":["../../src/runtime/cache-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,oBAA4B,EAC5B,kBAA0B,EAC1B,eAAuB,EACvB,IAAY;IAEZ,2DAA2D;IAC3D,MAAM,YAAY,GAAG,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7F,mCAAmC;IACnC,MAAM,WAAW,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEzE,OAAO;QACL,YAAY;QACZ,WAAW;QACX,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,kBAA0B,EAC1B,UAAkB,EAClB,oBAA4B;IAE5B,IAAI,kBAAkB,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,GAAG,UAAU,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC1F,8EAA8E;IAC9E,MAAM,SAAS,GACb,kBAAkB,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACvD,kBAAkB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,oBAAoB,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACrF,OAAO;QACL,YAAY;QACZ,SAAS;QACT,OAAO,EAAE,YAAY,GAAG,SAAS;QACjC,cAAc,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACtF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cache-optimizer.js","sourceRoot":"","sources":["../../src/runtime/cache-optimizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAWH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,oBAA4B,EAC5B,kBAA0B,EAC1B,eAAuB,EACvB,IAAY;IAEZ,wEAAwE;IACxE,MAAM,YAAY,GAAG,CAAC,oBAAoB,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE1F,gEAAgE;IAChE,MAAM,WAAW,GAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5E,OAAO;QACL,YAAY;QACZ,WAAW;QACX,IAAI,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;KAC/D,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,kBAA0B,EAC1B,UAAkB,EAClB,oBAA4B;IAE5B,IAAI,kBAAkB,KAAK,CAAC,IAAI,UAAU,KAAK,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;IAC1E,CAAC;IACD,MAAM,YAAY,GAAG,kBAAkB,GAAG,UAAU,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAC1F,8EAA8E;IAC9E,MAAM,SAAS,GACb,kBAAkB,GAAG,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACvD,kBAAkB,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,oBAAoB,GAAG,GAAG,CAAC,GAAG,SAAS,CAAC,CAAC;IACrF,OAAO;QACL,YAAY;QACZ,SAAS;QACT,OAAO,EAAE,YAAY,GAAG,SAAS;QACjC,cAAc,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,YAAY,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACtF,CAAC;AACJ,CAAC"}
@@ -20,9 +20,14 @@ export interface CompactionResult {
20
20
  }
21
21
  export declare class CompactionManager {
22
22
  private config;
23
+ /** Accumulated tokens saved by file-scope filtering across buildContextPrefix calls.
24
+ * Drained via {@link popContextFilteringSaved}. */
25
+ private _contextFilteringSaved;
23
26
  constructor(config?: Partial<CompactionConfig>);
27
+ /** Read and reset the accumulated context filtering savings (tokens). */
28
+ popContextFilteringSaved(): number;
24
29
  needsCompaction(tokens: number): boolean;
25
30
  generateCompactionInstruction(): string;
26
- buildContextPrefix(phaseOutputs: Map<string, string[]>, maxTokens?: number, complexity?: TaskComplexity): string;
31
+ buildContextPrefix(phaseOutputs: Map<string, string[]>, maxTokens?: number, complexity?: TaskComplexity, agentFileScope?: string[]): string;
27
32
  }
28
33
  //# sourceMappingURL=compaction.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/runtime/compaction.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,aAAa,CAS1E;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,gBAAgB,CAAC;CACpD;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAMhC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;gBAErB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAI9C,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,6BAA6B,IAAI,MAAM;IAIvC,kBAAkB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,cAAc,GAAG,MAAM;CAmBjH"}
1
+ {"version":3,"file":"compaction.d.ts","sourceRoot":"","sources":["../../src/runtime/compaction.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,cAAc,GAAG,aAAa,CAS1E;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,EAAE,WAAW,GAAG,OAAO,GAAG,gBAAgB,CAAC;CACpD;AAED,eAAO,MAAM,kBAAkB,EAAE,gBAMhC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAmB;IAEjC;wDACoD;IACpD,OAAO,CAAC,sBAAsB,CAAK;gBAEvB,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAI9C,yEAAyE;IACzE,wBAAwB,IAAI,MAAM;IAMlC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIxC,6BAA6B,IAAI,MAAM;IAIvC,kBAAkB,CAChB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EACnC,SAAS,CAAC,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,cAAc,EAC3B,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB,MAAM;CAgDV"}
@@ -1,4 +1,5 @@
1
1
  import { estimateTokens } from '../utils/tokens.js';
2
+ import { basename } from 'path';
2
3
  export function getContextBudget(complexity) {
3
4
  switch (complexity) {
4
5
  case 'simple':
@@ -18,20 +19,56 @@ export const DEFAULT_COMPACTION = {
18
19
  };
19
20
  export class CompactionManager {
20
21
  config;
22
+ /** Accumulated tokens saved by file-scope filtering across buildContextPrefix calls.
23
+ * Drained via {@link popContextFilteringSaved}. */
24
+ _contextFilteringSaved = 0;
21
25
  constructor(config) {
22
26
  this.config = { ...DEFAULT_COMPACTION, ...config };
23
27
  }
28
+ /** Read and reset the accumulated context filtering savings (tokens). */
29
+ popContextFilteringSaved() {
30
+ const saved = this._contextFilteringSaved;
31
+ this._contextFilteringSaved = 0;
32
+ return saved;
33
+ }
24
34
  needsCompaction(tokens) {
25
35
  return this.config.enabled && tokens >= this.config.maxContextTokens;
26
36
  }
27
37
  generateCompactionInstruction() {
28
38
  return `## Context Management\nYour context limit is ~${this.config.maxContextTokens} tokens. Summarize earlier findings when conversation gets long.`;
29
39
  }
30
- buildContextPrefix(phaseOutputs, maxTokens, complexity) {
40
+ buildContextPrefix(phaseOutputs, maxTokens, complexity, agentFileScope) {
31
41
  const max = maxTokens ?? (complexity ? getContextBudget(complexity).target : this.config.targetTokens);
32
42
  const sections = [];
43
+ let unfilteredTokens = 0;
44
+ let filteredTokens = 0;
33
45
  for (const [phase, outputs] of phaseOutputs) {
34
- sections.push(`## Context from ${phase}:\n${outputs.join('\n\n')}`);
46
+ if (agentFileScope && agentFileScope.length > 0) {
47
+ const allOutputText = outputs.join('\n\n');
48
+ unfilteredTokens += estimateTokens(allOutputText);
49
+ // Relevance filter: only include outputs that mention at least one file in scope
50
+ const relevant = outputs.filter((output) => agentFileScope.some((file) => output.includes(file) || output.includes(basename(file))));
51
+ if (relevant.length > 0) {
52
+ const relevantText = relevant.join('\n\n');
53
+ filteredTokens += estimateTokens(relevantText);
54
+ sections.push(`## Context from ${phase}:\n${relevantText}`);
55
+ }
56
+ else {
57
+ // No file overlap — include a brief summary instead of full content
58
+ const summaryLines = outputs.map((o) => o.split('\n').slice(0, 3).join('\n'));
59
+ const summaryText = summaryLines.join('\n\n');
60
+ filteredTokens += estimateTokens(summaryText);
61
+ sections.push(`## Context from ${phase} (summary — no file overlap):\n${summaryText}`);
62
+ }
63
+ }
64
+ else {
65
+ // No file scope info — include everything (backward compatible)
66
+ sections.push(`## Context from ${phase}:\n${outputs.join('\n\n')}`);
67
+ }
68
+ }
69
+ // Track filtering savings
70
+ if (agentFileScope && agentFileScope.length > 0 && unfilteredTokens > filteredTokens) {
71
+ this._contextFilteringSaved += unfilteredTokens - filteredTokens;
35
72
  }
36
73
  let combined = sections.join('\n\n');
37
74
  if (estimateTokens(combined) > max) {
@@ -1 +1 @@
1
- {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/runtime/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AASpD,MAAM,UAAU,gBAAgB,CAAC,UAA0B;IACzD,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzC,KAAK,QAAQ;YACX,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC;QACzC,KAAK,SAAS;YACZ,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAUD,MAAM,CAAC,MAAM,kBAAkB,GAAqB;IAClD,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,OAAO;IACzB,YAAY,EAAE,MAAM;IACpB,mBAAmB,EAAE,EAAE;IACvB,QAAQ,EAAE,WAAW;CACtB,CAAC;AASF,MAAM,OAAO,iBAAiB;IACpB,MAAM,CAAmB;IAEjC,YAAY,MAAkC;QAC5C,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,kBAAkB,EAAE,GAAG,MAAM,EAAE,CAAC;IACrD,CAAC;IAED,eAAe,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACvE,CAAC;IAED,6BAA6B;QAC3B,OAAO,iDAAiD,IAAI,CAAC,MAAM,CAAC,gBAAgB,kEAAkE,CAAC;IACzJ,CAAC;IAED,kBAAkB,CAAC,YAAmC,EAAE,SAAkB,EAAE,UAA2B;QACrG,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACvG,MAAM,QAAQ,GAAa,EAAE,CAAC;QAE9B,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,YAAY,EAAE,CAAC;YAC5C,QAAQ,CAAC,IAAI,CAAC,mBAAmB,KAAK,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAErC,IAAI,cAAc,CAAC,QAAQ,CAAC,GAAG,GAAG,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,GAAG,GAAG,CAAC,CAAC;YAC5B,IAAI,QAAQ,CAAC,MAAM,GAAG,WAAW,EAAE,CAAC;gBAClC,QAAQ,GAAG,qCAAqC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC,EAAE,CAAC;YAClG,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../src/runtime/compaction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cost-model.d.ts","sourceRoot":"","sources":["../../src/runtime/cost-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA8B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAoCD,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAwB;gBAEzB,KAAK,CAAC,EAAE,cAAc;IAIlC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ;IAyCvC,kEAAkE;IAClE,KAAK,CACH,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACjF,MAAM;IAmBT,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;CAa9B"}
1
+ {"version":3,"file":"cost-model.d.ts","sourceRoot":"","sources":["../../src/runtime/cost-model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA8B,MAAM,kBAAkB,CAAC;AAE7E,OAAO,EAAE,cAAc,EAAc,MAAM,YAAY,CAAC;AAExD,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;CACtB;AAuCD,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAwB;gBAEzB,KAAK,CAAC,EAAE,cAAc;IAIlC,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,QAAQ;IAyCvC,kEAAkE;IAClE,KAAK,CACH,IAAI,EAAE,aAAa,EACnB,WAAW,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GACjF,MAAM;IAmBT,OAAO,CAAC,mBAAmB;IAY3B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,qBAAqB;CAa9B"}
@@ -11,24 +11,27 @@ const TIER_QUALITY = {
11
11
  mid: 0.85,
12
12
  cheap: 0.65,
13
13
  };
14
- // Default token estimates when no stats available (per agent type)
14
+ // Default token estimates when no stats available (per agent type).
15
+ // Calibrated from real orchestration data (April 2026 audit of multi-agent sessions).
16
+ // These are CONSERVATIVE (high-side) estimates — prefer overestimate to surprise.
17
+ // Historical stats from StatsCollector override these when sampleCount >= 3.
15
18
  const DEFAULT_TOKENS = {
16
- researcher: 5000,
17
- implementer: 15000,
18
- reviewer: 8000,
19
- tester: 10000,
20
- debugger: 12000,
21
- planner: 6000,
22
- judge: 5000,
23
- refactorer: 12000,
24
- integrator: 8000,
25
- 'devils-advocate': 6000,
26
- grounding: 4000,
27
- sentinel: 3000,
28
- guardian: 4000,
29
- librarian: 3000,
30
- documenter: 5000,
31
- orchestrator: 8000,
19
+ researcher: 40000,
20
+ implementer: 100000,
21
+ reviewer: 60000,
22
+ tester: 60000,
23
+ debugger: 80000,
24
+ planner: 40000,
25
+ judge: 30000,
26
+ refactorer: 80000,
27
+ integrator: 60000,
28
+ 'devils-advocate': 40000,
29
+ grounding: 30000,
30
+ sentinel: 15000,
31
+ guardian: 20000,
32
+ librarian: 15000,
33
+ documenter: 40000,
34
+ orchestrator: 50000,
32
35
  };
33
36
  export class CostModel {
34
37
  stats;
@@ -1 +1 @@
1
- {"version":3,"file":"cost-model.js","sourceRoot":"","sources":["../../src/runtime/cost-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cost-model.js","sourceRoot":"","sources":["../../src/runtime/cost-model.ts"],"names":[],"mappings":"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"}
@@ -117,6 +117,7 @@ export declare class SwarmEngine {
117
117
  model?: string;
118
118
  costBudget?: number;
119
119
  params?: Record<string, unknown>;
120
+ promptDiet?: import('../core/types.js').PromptDietConfig;
120
121
  }): Promise<OrchestrationInstance>;
121
122
  /**
122
123
  * Generate a serializable execution plan WITHOUT executing anything.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/runtime/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EAIrB,aAAa,EAKd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEhD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiBtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAa9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,aAAa,CAAC;IACxB,GAAG,EAAE,QAAQ,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,SAAS,GAAG,aAAa,GAAG,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAAC;IACtF,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,GAAG,CAAW;IACtB,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,cAAc,CAAiD;IACvE,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,eAAe,CAAyB;IAChD,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,UAAU,CAAoB;IACtC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,SAAS,CAAY;IAC7B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,KAAK,CAAiB;IAC9B,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,cAAc,CAAsD;IAC5E,OAAO,CAAC,kBAAkB,CAAgB;IAC1C,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,aAAa,CAA8B;IACnD,OAAO,CAAC,YAAY,CAA6B;IAEjD,OAAO,CAAC,eAAe,CAAC,CAAgC;IACxD,OAAO,CAAC,aAAa,CAAC,CAA2B;IACjD,OAAO,CAAC,aAAa,CAAC,CAAqC;IAC3D,OAAO,CAAC,mBAAmB,CAAC,CAA4B;IACxD,OAAO,CAAC,aAAa,CAAC,CAA6B;IACnD,OAAO,CAAC,kBAAkB,CAAC,CAA2B;IACtD,OAAO,CAAC,WAAW,CAAC,CAAoB;IACxC,OAAO,CAAC,mBAAmB,CAAC,CAA4B;IACxD,OAAO,CAAC,oBAAoB,CAAC,CAA6B;IAC1D,OAAO,CAAC,gBAAgB,CAAC,CAA+B;IACxD,OAAO,CAAC,YAAY,CAAC,CAAqB;IAC1C,OAAO,CAAC,cAAc,CAAC,CAAuB;IAC9C,OAAO,CAAC,sBAAsB,CAAC,CAA+B;IAC9D,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,iBAAiB,CAAqB;IAE9C,IAAI,cAAc,IAAI,sBAAsB,GAAG,IAAI,CAOlD;IAED,IAAI,YAAY,IAAI,iBAAiB,GAAG,IAAI,CAO3C;IAED,IAAI,YAAY,IAAI,2BAA2B,GAAG,IAAI,CAOrD;IAED,OAAO,KAAK,kBAAkB,GAO7B;IAED,IAAI,YAAY,IAAI,mBAAmB,GAAG,IAAI,CAO7C;IAED,IAAI,iBAAiB,IAAI,iBAAiB,GAAG,IAAI,CAOhD;IAED,IAAI,UAAU,IAAI,UAAU,GAAG,IAAI,CAalC;IAED,IAAI,kBAAkB,IAAI,kBAAkB,GAAG,IAAI,CAOlD;IAED,OAAO,KAAK,mBAAmB,GAO9B;IAED,IAAI,eAAe,IAAI,qBAAqB,GAAG,IAAI,CAOlD;IAED,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAOpC;IAED,IAAI,aAAa,IAAI,aAAa,GAAG,IAAI,CAOxC;IAED,IAAI,qBAAqB,IAAI,qBAAqB,GAAG,IAAI,CAOxD;gBAEW,OAAO,EAAE,aAAa;IAmHlC;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAkdjH;;OAEG;IACG,UAAU,CACd,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACjC,UAAU,CAAC,EAAE,OAAO,kBAAkB,EAAE,gBAAgB,CAAC;KAC1D,GACA,OAAO,CAAC,qBAAqB,CAAC;IAoCjC;;;OAGG;IACH,IAAI,CACF,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAClC,GACA,aAAa;IAsKhB;;OAEG;YACW,YAAY;IAyX1B;;OAEG;IACG,MAAM,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAyC9D,eAAe;IAkB7B;;OAEG;IACH,mBAAmB,IAAI,IAAI;IAuC3B,oBAAoB,IAAI,IAAI;IAO5B,iGAAiG;IACjG,KAAK,IAAI,IAAI;IAcb;;OAEG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI/D;;OAEG;IACH,oBAAoB,IAAI,qBAAqB,EAAE;IAI/C;;OAEG;IACH,uBAAuB,IAAI,qBAAqB,EAAE;IAIlD,IAAI,eAAe,IAAI,eAAe,CAErC;IAED,IAAI,KAAK,IAAI,cAAc,GAAG,IAAI,CAEjC;IAID,OAAO,CAAC,OAAO;IASf;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,cAAc;CAcvB"}
@@ -104,7 +104,7 @@ export class SwarmEngine {
104
104
  _orchestrationEmbedder;
105
105
  swarmMcpServer = null;
106
106
  decisions = new Map();
107
- benefitsCollector = new BenefitsCollector();
107
+ benefitsCollector;
108
108
  get reviewFeedback() {
109
109
  if (this._reviewFeedback === undefined) {
110
110
  this._reviewFeedback = this.executionGraph
@@ -221,6 +221,10 @@ export class SwarmEngine {
221
221
  this.options = options;
222
222
  this.registry = options.registry;
223
223
  this.bus = options.bus;
224
+ this.benefitsCollector = new BenefitsCollector(this.bus);
225
+ // Wire cold-wake events from AgentRunner into the benefits counter so the
226
+ // Cold wakes row in the summary table reflects what actually happened.
227
+ this.bus.on('cache:cold-wake', () => this.benefitsCollector.recordColdWake());
224
228
  this.executor = new AgentExecutor({
225
229
  bus: this.bus,
226
230
  logger: options.logger,
@@ -702,11 +706,15 @@ export class SwarmEngine {
702
706
  }
703
707
  }
704
708
  const durationMs = orchestration.completedAt.getTime() - (orchestration.startedAt?.getTime() ?? 0);
709
+ const allAgents = orchestration.phases.flatMap((p) => p.agents);
710
+ const agentsExecuted = allAgents.length;
711
+ const totalAgentTurns = allAgents.reduce((sum, a) => sum + (a.usage?.turns || 1), 0);
705
712
  const benefitsSummary = this.benefitsCollector.build({
706
713
  actualTotalTokens: orchestration.usage.totalTokens,
707
714
  actualCostUsd: orchestration.usage.costUsd,
708
715
  durationMs,
709
- agentsExecuted: orchestration.phases.reduce((s, p) => s + p.agents.length, 0),
716
+ agentsExecuted,
717
+ totalAgentTurns,
710
718
  phasesExecuted: orchestration.phases.filter((p) => p.status === 'completed').length,
711
719
  historicalAvgCostUsd: patternStats?.avgCostUsd ?? null,
712
720
  patternRunsRecorded: patternStats?.totalRuns ?? 0,
@@ -754,6 +762,7 @@ export class SwarmEngine {
754
762
  })),
755
763
  })),
756
764
  costBudget: options?.costBudget,
765
+ promptDiet: options?.promptDiet,
757
766
  };
758
767
  // Substitute pattern parameters into agent prompts
759
768
  if (options?.params && pattern.parameters) {
@@ -1016,6 +1025,40 @@ export class SwarmEngine {
1016
1025
  filteredOutputs = testFiltered;
1017
1026
  }
1018
1027
  }
1028
+ if (phase.config.kind === 'implement') {
1029
+ // Implementers need research/plan/design outputs, not other implement phases (noise)
1030
+ const implFiltered = new Map();
1031
+ for (const [phaseName, outputs] of this.phaseOutputs) {
1032
+ if (phaseName.includes('research') || phaseName.includes('plan') || phaseName.includes('design')) {
1033
+ implFiltered.set(phaseName, outputs);
1034
+ }
1035
+ }
1036
+ if (implFiltered.size > 0) {
1037
+ const filteredTokens = [...implFiltered.values()].flat().reduce((s, o) => s + estimateTokens(o), 0);
1038
+ const totalTokens = [...this.phaseOutputs.values()].flat().reduce((s, o) => s + estimateTokens(o), 0);
1039
+ this.benefitsCollector.addSmartRoutingSaved(Math.max(0, totalTokens - filteredTokens));
1040
+ filteredOutputs = implFiltered;
1041
+ }
1042
+ }
1043
+ // Default recency cap: for unhandled phase kinds with >3 phases of history,
1044
+ // keep only the most recent 3 (immediately-preceding phase always included)
1045
+ if (!['review', 'test', 'implement'].includes(phase.config.kind ?? '')) {
1046
+ const phaseNames = [...filteredOutputs.keys()];
1047
+ if (phaseNames.length > 3) {
1048
+ const recencyCapped = new Map();
1049
+ const recent3 = phaseNames.slice(-3);
1050
+ // preceding phase is always in slice(-3) — no separate guard needed
1051
+ for (const name of recent3) {
1052
+ const outputs = filteredOutputs.get(name);
1053
+ if (outputs)
1054
+ recencyCapped.set(name, outputs);
1055
+ }
1056
+ const filteredTokens = [...recencyCapped.values()].flat().reduce((s, o) => s + estimateTokens(o), 0);
1057
+ const totalTokens = [...filteredOutputs.values()].flat().reduce((s, o) => s + estimateTokens(o), 0);
1058
+ this.benefitsCollector.addSmartRoutingSaved(Math.max(0, totalTokens - filteredTokens));
1059
+ filteredOutputs = recencyCapped;
1060
+ }
1061
+ }
1019
1062
  const runContext = {
1020
1063
  phaseOutputs: filteredOutputs,
1021
1064
  livingSpec: this.livingSpec,
@@ -1096,6 +1139,23 @@ export class SwarmEngine {
1096
1139
  }
1097
1140
  phase.completedAt = new Date();
1098
1141
  phase.usage = phase.agents.reduce((total, agent) => mergeUsageStats(total, agent.usage), emptyUsageStats());
1142
+ // Drain per-agent file-scope filtering savings accumulated during this phase
1143
+ const contextFilteringSaved = this.compaction.popContextFilteringSaved();
1144
+ if (contextFilteringSaved > 0) {
1145
+ this.benefitsCollector.addContextFilteringSaved(contextFilteringSaved);
1146
+ }
1147
+ // Credit real cache savings from API-reported cache_read tokens (supersedes caller estimates).
1148
+ // Also drives per-agentType cache-cliff detection — must call even when cacheRead is 0,
1149
+ // because that's exactly the cliff signal we want to capture. The "agentType" is the
1150
+ // registry name (e.g., "researcher") taken from the matching AgentAssignment, since
1151
+ // AgentInstance only carries the per-instance display name.
1152
+ const assignmentByName = new Map(phase.config.agents.map((a) => [a.name, a.type]));
1153
+ for (const agent of phase.agents) {
1154
+ if (agent.usage) {
1155
+ const agentType = assignmentByName.get(agent.config.name);
1156
+ this.benefitsCollector.recordApiUsage(agent.usage, agentType);
1157
+ }
1158
+ }
1099
1159
  // Record review feedback into the knowledge graph (Feature 7)
1100
1160
  if (phase.config.kind === 'review' && this.reviewFeedback) {
1101
1161
  for (const agent of phase.agents) {