@bradtaylorsf/alpha-loop 1.14.0 → 1.14.2
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.
- package/README.md +73 -1
- package/dist/cli.js +37 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/eval.d.ts +22 -0
- package/dist/commands/eval.js +105 -1
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/evolve-routing.d.ts +24 -0
- package/dist/commands/evolve-routing.js +320 -0
- package/dist/commands/evolve-routing.js.map +1 -0
- package/dist/commands/history.d.ts +2 -0
- package/dist/commands/history.js +95 -1
- package/dist/commands/history.js.map +1 -1
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.js +26 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/report.d.ts +7 -0
- package/dist/commands/report.js +27 -0
- package/dist/commands/report.js.map +1 -0
- package/dist/commands/scan.d.ts +1 -1
- package/dist/commands/scan.js.map +1 -1
- package/dist/engine/agents.d.ts +30 -8
- package/dist/engine/agents.js +94 -10
- package/dist/engine/agents.js.map +1 -1
- package/dist/engine/prerequisites.d.ts +40 -2
- package/dist/engine/prerequisites.js +126 -2
- package/dist/engine/prerequisites.js.map +1 -1
- package/dist/lib/agent.d.ts +39 -2
- package/dist/lib/agent.js +106 -4
- package/dist/lib/agent.js.map +1 -1
- package/dist/lib/config.d.ts +73 -1
- package/dist/lib/config.js +214 -1
- package/dist/lib/config.js.map +1 -1
- package/dist/lib/escalation.d.ts +102 -0
- package/dist/lib/escalation.js +241 -0
- package/dist/lib/escalation.js.map +1 -0
- package/dist/lib/eval-matrix.d.ts +125 -0
- package/dist/lib/eval-matrix.js +317 -0
- package/dist/lib/eval-matrix.js.map +1 -0
- package/dist/lib/eval-report.d.ts +12 -0
- package/dist/lib/eval-report.js +132 -0
- package/dist/lib/eval-report.js.map +1 -0
- package/dist/lib/eval-secret-scan.d.ts +41 -0
- package/dist/lib/eval-secret-scan.js +163 -0
- package/dist/lib/eval-secret-scan.js.map +1 -0
- package/dist/lib/eval.js +7 -4
- package/dist/lib/eval.js.map +1 -1
- package/dist/lib/hardware.d.ts +9 -0
- package/dist/lib/hardware.js +32 -0
- package/dist/lib/hardware.js.map +1 -0
- package/dist/lib/pipeline.d.ts +5 -1
- package/dist/lib/pipeline.js +217 -16
- package/dist/lib/pipeline.js.map +1 -1
- package/dist/lib/prerequisites.js +11 -3
- package/dist/lib/prerequisites.js.map +1 -1
- package/dist/lib/routing-history.d.ts +43 -0
- package/dist/lib/routing-history.js +112 -0
- package/dist/lib/routing-history.js.map +1 -0
- package/dist/lib/routing-promotion.d.ts +95 -0
- package/dist/lib/routing-promotion.js +229 -0
- package/dist/lib/routing-promotion.js.map +1 -0
- package/dist/lib/session.js +13 -0
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/telemetry.d.ts +147 -0
- package/dist/lib/telemetry.js +353 -0
- package/dist/lib/telemetry.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Routing promotion/demotion math — pure-functional rules for deciding when a
|
|
3
|
+
* pipeline stage should be moved from a frontier model to a local model
|
|
4
|
+
* (promotion) or reverted back to a frontier fallback (demotion).
|
|
5
|
+
*
|
|
6
|
+
* Thresholds match issue #163:
|
|
7
|
+
* - Promotion requires >=30 runs, pipeline_success_delta >= -0.03,
|
|
8
|
+
* cost_per_issue_delta <= -0.40 (>=40% savings), tool_error_rate < 0.02.
|
|
9
|
+
* - Demotion fires when rolling 10-issue tool_error_rate > 0.08 OR
|
|
10
|
+
* pipeline_success drops >10pts vs trailing 30-issue baseline.
|
|
11
|
+
*/
|
|
12
|
+
import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
|
|
13
|
+
/** Promotion thresholds (exported for tests + documentation). */
|
|
14
|
+
export const PROMOTION_MIN_RUNS = 30;
|
|
15
|
+
export const PROMOTION_SUCCESS_DELTA_FLOOR = -0.03;
|
|
16
|
+
export const PROMOTION_COST_SAVINGS_MIN = 0.40;
|
|
17
|
+
export const PROMOTION_TOOL_ERROR_CEILING = 0.02;
|
|
18
|
+
/** Demotion thresholds. */
|
|
19
|
+
export const DEMOTION_WINDOW = 10;
|
|
20
|
+
export const DEMOTION_TOOL_ERROR_CEILING = 0.08;
|
|
21
|
+
export const DEMOTION_BASELINE_WINDOW = 30;
|
|
22
|
+
export const DEMOTION_SUCCESS_DROP_PTS = 0.10;
|
|
23
|
+
/** Endpoint protocols considered "local" for promotion purposes. */
|
|
24
|
+
const LOCAL_ENDPOINT_TYPES = ['anthropic_compat', 'openai_compat'];
|
|
25
|
+
/**
|
|
26
|
+
* For each stage with a frontier + local cell, return a PromotionProposal
|
|
27
|
+
* when the local cell meets all thresholds. Stages with no eligible
|
|
28
|
+
* frontier/local pair are simply skipped.
|
|
29
|
+
*/
|
|
30
|
+
export function evaluatePromotion(cells, opts = {}) {
|
|
31
|
+
const minRuns = opts.minRuns ?? PROMOTION_MIN_RUNS;
|
|
32
|
+
const successDeltaFloor = opts.successDeltaFloor ?? PROMOTION_SUCCESS_DELTA_FLOOR;
|
|
33
|
+
const costSavingsMin = opts.costSavingsMin ?? PROMOTION_COST_SAVINGS_MIN;
|
|
34
|
+
const toolErrorCeiling = opts.toolErrorCeiling ?? PROMOTION_TOOL_ERROR_CEILING;
|
|
35
|
+
const byStage = new Map();
|
|
36
|
+
for (const cell of cells) {
|
|
37
|
+
const list = byStage.get(cell.stage);
|
|
38
|
+
if (list)
|
|
39
|
+
list.push(cell);
|
|
40
|
+
else
|
|
41
|
+
byStage.set(cell.stage, [cell]);
|
|
42
|
+
}
|
|
43
|
+
const proposals = [];
|
|
44
|
+
for (const [stage, stageCells] of byStage) {
|
|
45
|
+
const frontier = pickFrontier(stageCells);
|
|
46
|
+
if (!frontier)
|
|
47
|
+
continue;
|
|
48
|
+
const candidates = stageCells.filter((c) => c !== frontier && isLocalCell(c));
|
|
49
|
+
for (const candidate of candidates) {
|
|
50
|
+
if (candidate.runs < minRuns)
|
|
51
|
+
continue;
|
|
52
|
+
// Require a successful baseline to compute meaningful deltas.
|
|
53
|
+
if (frontier.cost_per_issue_shipped == null ||
|
|
54
|
+
candidate.cost_per_issue_shipped == null ||
|
|
55
|
+
frontier.cost_per_issue_shipped <= 0) {
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
// Round on compute so float-precision noise doesn't knock edge cases
|
|
59
|
+
// off the inclusive boundaries defined in the spec.
|
|
60
|
+
const pipelineSuccessDelta = round3(candidate.pipeline_success_rate - frontier.pipeline_success_rate);
|
|
61
|
+
const costPerIssueDelta = round4(candidate.cost_per_issue_shipped - frontier.cost_per_issue_shipped);
|
|
62
|
+
const costSavingsPct = round3(-costPerIssueDelta / frontier.cost_per_issue_shipped);
|
|
63
|
+
// Tie on cost (no savings) blocks — costSavingsMin is strictly required.
|
|
64
|
+
if (pipelineSuccessDelta < successDeltaFloor)
|
|
65
|
+
continue;
|
|
66
|
+
if (costSavingsPct < costSavingsMin)
|
|
67
|
+
continue;
|
|
68
|
+
if (candidate.tool_error_rate >= toolErrorCeiling)
|
|
69
|
+
continue;
|
|
70
|
+
proposals.push({
|
|
71
|
+
stage,
|
|
72
|
+
from: { model: frontier.model, endpoint: frontier.endpoint },
|
|
73
|
+
to: { model: candidate.model, endpoint: candidate.endpoint },
|
|
74
|
+
metrics: {
|
|
75
|
+
runs: candidate.runs,
|
|
76
|
+
pipelineSuccessDelta,
|
|
77
|
+
costPerIssueDelta,
|
|
78
|
+
costPerIssueSavingsPct: costSavingsPct,
|
|
79
|
+
toolErrorRate: candidate.tool_error_rate,
|
|
80
|
+
frontierCostPerIssue: frontier.cost_per_issue_shipped,
|
|
81
|
+
candidateCostPerIssue: candidate.cost_per_issue_shipped,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return proposals;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Decide whether the stage should be demoted based on recent turn records and
|
|
90
|
+
* the trailing-30 success baseline computed from aggregated cells.
|
|
91
|
+
*
|
|
92
|
+
* `recentTurns` is oldest→newest; only the last `DEMOTION_WINDOW` turns are
|
|
93
|
+
* inspected for the tool-error guardrail, and the last
|
|
94
|
+
* `DEMOTION_BASELINE_WINDOW` turns (excluding the most recent 10) provide the
|
|
95
|
+
* success baseline.
|
|
96
|
+
*/
|
|
97
|
+
export function evaluateDemotion(recentTurns, cells, stage) {
|
|
98
|
+
const windowed = recentTurns.slice(-DEMOTION_WINDOW);
|
|
99
|
+
// Short windows never trigger — we don't have enough signal yet.
|
|
100
|
+
if (windowed.length >= DEMOTION_WINDOW) {
|
|
101
|
+
const errs = windowed.filter((t) => t.errored).length;
|
|
102
|
+
const rate = errs / windowed.length;
|
|
103
|
+
if (rate > DEMOTION_TOOL_ERROR_CEILING) {
|
|
104
|
+
return {
|
|
105
|
+
fire: true,
|
|
106
|
+
reason: 'tool_error_rate',
|
|
107
|
+
stage,
|
|
108
|
+
metrics: {
|
|
109
|
+
rollingToolErrorRate: round4(rate),
|
|
110
|
+
rollingWindow: windowed.length,
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
// Pipeline-success drop check — uses trailing 30-run baseline from the
|
|
116
|
+
// aggregated cells for the stage. Prefer the highest-run cell as the
|
|
117
|
+
// reference point for the baseline.
|
|
118
|
+
const stageCells = cells.filter((c) => c.stage === stage && c.runs > 0);
|
|
119
|
+
if (stageCells.length > 0) {
|
|
120
|
+
const trailing = [...stageCells].sort((a, b) => b.runs - a.runs)[0];
|
|
121
|
+
if (trailing.runs >= DEMOTION_BASELINE_WINDOW) {
|
|
122
|
+
// Current success = rate over the rolling window. Derived from turn
|
|
123
|
+
// records (a turn is "successful" when not errored, matching how
|
|
124
|
+
// pipeline_success_rate aggregates at the session level).
|
|
125
|
+
if (windowed.length >= DEMOTION_WINDOW) {
|
|
126
|
+
const currentSuccess = windowed.filter((t) => !t.errored).length / windowed.length;
|
|
127
|
+
const drop = trailing.pipeline_success_rate - currentSuccess;
|
|
128
|
+
if (drop > DEMOTION_SUCCESS_DROP_PTS) {
|
|
129
|
+
return {
|
|
130
|
+
fire: true,
|
|
131
|
+
reason: 'pipeline_success_drop',
|
|
132
|
+
stage,
|
|
133
|
+
metrics: {
|
|
134
|
+
baselineSuccessRate: trailing.pipeline_success_rate,
|
|
135
|
+
currentSuccessRate: round3(currentSuccess),
|
|
136
|
+
successDrop: round3(drop),
|
|
137
|
+
rollingWindow: windowed.length,
|
|
138
|
+
},
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return { fire: false, stage };
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Apply a set of promotion proposals to a YAML document, patching the
|
|
148
|
+
* `routing.stages.<name>` block for each. Returns the new YAML string plus a
|
|
149
|
+
* unified-style diff that's easy to drop into a PR body.
|
|
150
|
+
*/
|
|
151
|
+
export function applyRoutingDiff(yaml, proposals) {
|
|
152
|
+
if (proposals.length === 0)
|
|
153
|
+
return { yaml, diff: '' };
|
|
154
|
+
const parsed = parseYaml(yaml) ?? {};
|
|
155
|
+
const routing = (parsed.routing && typeof parsed.routing === 'object'
|
|
156
|
+
? parsed.routing
|
|
157
|
+
: {});
|
|
158
|
+
const stages = (routing.stages && typeof routing.stages === 'object'
|
|
159
|
+
? routing.stages
|
|
160
|
+
: {});
|
|
161
|
+
const diffLines = [];
|
|
162
|
+
for (const p of proposals) {
|
|
163
|
+
const before = stages[p.stage];
|
|
164
|
+
const beforeFrag = before
|
|
165
|
+
? stringifyYaml({ [p.stage]: before }).trimEnd()
|
|
166
|
+
: `${p.stage}: (unset)`;
|
|
167
|
+
const newStage = { model: p.to.model };
|
|
168
|
+
if (p.to.endpoint)
|
|
169
|
+
newStage.endpoint = p.to.endpoint;
|
|
170
|
+
stages[p.stage] = newStage;
|
|
171
|
+
const afterFrag = stringifyYaml({ [p.stage]: newStage }).trimEnd();
|
|
172
|
+
diffLines.push(`# stage: ${p.stage}`);
|
|
173
|
+
for (const line of beforeFrag.split('\n'))
|
|
174
|
+
diffLines.push(`- ${line}`);
|
|
175
|
+
for (const line of afterFrag.split('\n'))
|
|
176
|
+
diffLines.push(`+ ${line}`);
|
|
177
|
+
diffLines.push('');
|
|
178
|
+
}
|
|
179
|
+
routing.stages = stages;
|
|
180
|
+
parsed.routing = routing;
|
|
181
|
+
const newYaml = stringifyYaml(parsed);
|
|
182
|
+
return { yaml: newYaml, diff: diffLines.join('\n').trimEnd() };
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Build the YAML patch that reverts a stage to the routing.fallback.escalate_to
|
|
186
|
+
* target. Shared by manual demotions and automated guardrail trips.
|
|
187
|
+
*/
|
|
188
|
+
export function buildDemotionYaml(yaml, stage, fallback) {
|
|
189
|
+
const proposal = {
|
|
190
|
+
stage,
|
|
191
|
+
from: { model: 'current', endpoint: undefined },
|
|
192
|
+
to: { model: fallback.model, endpoint: fallback.endpoint },
|
|
193
|
+
metrics: {
|
|
194
|
+
runs: 0,
|
|
195
|
+
pipelineSuccessDelta: 0,
|
|
196
|
+
costPerIssueDelta: 0,
|
|
197
|
+
costPerIssueSavingsPct: 0,
|
|
198
|
+
toolErrorRate: 0,
|
|
199
|
+
frontierCostPerIssue: null,
|
|
200
|
+
candidateCostPerIssue: null,
|
|
201
|
+
},
|
|
202
|
+
};
|
|
203
|
+
return applyRoutingDiff(yaml, [proposal]);
|
|
204
|
+
}
|
|
205
|
+
function pickFrontier(cells) {
|
|
206
|
+
// Highest total cost = frontier, mirroring telemetry.aggregateRouting's
|
|
207
|
+
// baseline choice. Break ties by higher cost_per_issue so we don't promote
|
|
208
|
+
// against a volume-heavy local cell that happens to lead on total spend.
|
|
209
|
+
const eligible = cells.filter((c) => !isLocalCell(c));
|
|
210
|
+
if (eligible.length === 0)
|
|
211
|
+
return null;
|
|
212
|
+
return [...eligible].sort((a, b) => {
|
|
213
|
+
if (b.total_cost_usd !== a.total_cost_usd)
|
|
214
|
+
return b.total_cost_usd - a.total_cost_usd;
|
|
215
|
+
const ac = a.cost_per_issue_shipped ?? 0;
|
|
216
|
+
const bc = b.cost_per_issue_shipped ?? 0;
|
|
217
|
+
return bc - ac;
|
|
218
|
+
})[0];
|
|
219
|
+
}
|
|
220
|
+
function isLocalCell(cell) {
|
|
221
|
+
return cell.endpoint_type != null && LOCAL_ENDPOINT_TYPES.includes(cell.endpoint_type);
|
|
222
|
+
}
|
|
223
|
+
function round3(n) {
|
|
224
|
+
return Math.round(n * 1000) / 1000;
|
|
225
|
+
}
|
|
226
|
+
function round4(n) {
|
|
227
|
+
return Math.round(n * 10000) / 10000;
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=routing-promotion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routing-promotion.js","sourceRoot":"","sources":["../../src/lib/routing-promotion.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/session.js
CHANGED
|
@@ -7,6 +7,8 @@ import { log } from './logger.js';
|
|
|
7
7
|
import { exec, formatTimestamp } from './shell.js';
|
|
8
8
|
import { ghExec } from './rate-limit.js';
|
|
9
9
|
import { createPR, updateProjectStatus } from './github.js';
|
|
10
|
+
import { readStageTelemetry } from './telemetry.js';
|
|
11
|
+
import { runDir } from './traces.js';
|
|
10
12
|
function slugify(text) {
|
|
11
13
|
return text.toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '');
|
|
12
14
|
}
|
|
@@ -181,6 +183,14 @@ export async function finalizeSession(session, config) {
|
|
|
181
183
|
const learningsDir = join(projectDir, '.alpha-loop', 'learnings');
|
|
182
184
|
mkdirSync(learningsDir, { recursive: true });
|
|
183
185
|
const manifestName = `session-${session.name.replace(/\//g, '-')}.json`;
|
|
186
|
+
const stageEntries = (() => {
|
|
187
|
+
try {
|
|
188
|
+
return readStageTelemetry(runDir(session.name, projectDir));
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return [];
|
|
192
|
+
}
|
|
193
|
+
})();
|
|
184
194
|
const manifest = {
|
|
185
195
|
name: session.name,
|
|
186
196
|
branch: session.branch,
|
|
@@ -196,6 +206,9 @@ export async function finalizeSession(session, config) {
|
|
|
196
206
|
filesChanged: r.filesChanged,
|
|
197
207
|
})),
|
|
198
208
|
};
|
|
209
|
+
if (stageEntries.length > 0) {
|
|
210
|
+
manifest.stages = stageEntries;
|
|
211
|
+
}
|
|
199
212
|
writeFileSync(join(learningsDir, manifestName), JSON.stringify(manifest, null, 2) + '\n');
|
|
200
213
|
log.info(`Session manifest saved: ${manifestName}`);
|
|
201
214
|
// Stage learnings (including session manifest)
|
package/dist/lib/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/lib/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import type { Config, RoutingEndpointType } from './config.js';
|
|
2
|
+
import type { AgentResult } from './agent.js';
|
|
3
|
+
/** One per-stage telemetry record. Written once per agent invocation. */
|
|
4
|
+
export type StageTelemetry = {
|
|
5
|
+
/** Pipeline stage name (plan, implement, test_fix, review, verify, assumptions, batch-*). */
|
|
6
|
+
stage: string;
|
|
7
|
+
/** Model used for the invocation. */
|
|
8
|
+
model: string;
|
|
9
|
+
/** Named routing endpoint the stage hit (or 'default' if routing wasn't used). */
|
|
10
|
+
endpoint: string;
|
|
11
|
+
/** Protocol shape of the endpoint — used to identify local vs frontier. */
|
|
12
|
+
endpoint_type?: RoutingEndpointType;
|
|
13
|
+
/** Input tokens consumed. */
|
|
14
|
+
tokens_in: number;
|
|
15
|
+
/** Output tokens generated. */
|
|
16
|
+
tokens_out: number;
|
|
17
|
+
/** Cost in USD. Local-endpoint invocations record 0. */
|
|
18
|
+
cost_usd: number;
|
|
19
|
+
/** Wall-clock time in seconds (float). */
|
|
20
|
+
wall_time_s: number;
|
|
21
|
+
/** Count of tool_use blocks emitted by the agent. */
|
|
22
|
+
tool_calls: number;
|
|
23
|
+
/** Count of tool_result blocks flagged is_error. */
|
|
24
|
+
tool_errors: number;
|
|
25
|
+
/** Whether the stage invocation succeeded (exit code 0). */
|
|
26
|
+
stage_success: boolean;
|
|
27
|
+
/** ISO timestamp at start of invocation. */
|
|
28
|
+
started_at: string;
|
|
29
|
+
/** Routing profile that was active for this invocation, if any. */
|
|
30
|
+
profile?: string;
|
|
31
|
+
/** Issue number this stage was processing. */
|
|
32
|
+
issue_num?: number;
|
|
33
|
+
};
|
|
34
|
+
/** A session manifest reference loaded by the reporter. */
|
|
35
|
+
export type SessionManifestLite = {
|
|
36
|
+
name: string;
|
|
37
|
+
completed?: string;
|
|
38
|
+
results?: Array<{
|
|
39
|
+
issueNum: number;
|
|
40
|
+
status: 'success' | 'failure';
|
|
41
|
+
filesChanged?: number;
|
|
42
|
+
prUrl?: string;
|
|
43
|
+
}>;
|
|
44
|
+
stages?: StageTelemetry[];
|
|
45
|
+
};
|
|
46
|
+
/** Aggregated per-cell metrics, grouped by (stage, model). */
|
|
47
|
+
export type RoutingCell = {
|
|
48
|
+
stage: string;
|
|
49
|
+
model: string;
|
|
50
|
+
endpoint?: string;
|
|
51
|
+
endpoint_type?: RoutingEndpointType;
|
|
52
|
+
profile?: string;
|
|
53
|
+
runs: number;
|
|
54
|
+
tokens_in: number;
|
|
55
|
+
tokens_out: number;
|
|
56
|
+
total_cost_usd: number;
|
|
57
|
+
pipeline_success_rate: number;
|
|
58
|
+
cost_per_issue_shipped: number | null;
|
|
59
|
+
median_wall_time_s: number;
|
|
60
|
+
tool_error_rate: number;
|
|
61
|
+
delta_cost_per_issue_shipped_vs_baseline?: number | null;
|
|
62
|
+
delta_median_wall_time_s_vs_baseline?: number | null;
|
|
63
|
+
delta_tool_error_rate_vs_baseline?: number | null;
|
|
64
|
+
delta_pipeline_success_rate_vs_baseline?: number | null;
|
|
65
|
+
};
|
|
66
|
+
/** Aggregation result, grouped by (stage, model), plus global totals. */
|
|
67
|
+
export type RoutingAggregation = {
|
|
68
|
+
cells: RoutingCell[];
|
|
69
|
+
total_sessions: number;
|
|
70
|
+
total_stages: number;
|
|
71
|
+
total_issues_shipped: number;
|
|
72
|
+
total_cost_usd: number;
|
|
73
|
+
filters: {
|
|
74
|
+
profile?: string;
|
|
75
|
+
since_ms?: number;
|
|
76
|
+
baseline: string;
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Build a StageTelemetry record from an AgentResult and stage context.
|
|
81
|
+
*
|
|
82
|
+
* Uses the agent's reported cost/tokens when present. Falls back to the
|
|
83
|
+
* pricing table (0 for local endpoints since pricing entries are 0/0).
|
|
84
|
+
*/
|
|
85
|
+
export declare function buildStageTelemetry(agentResult: AgentResult, stage: string, config: Config, ctx: {
|
|
86
|
+
endpoint?: string;
|
|
87
|
+
endpointType?: RoutingEndpointType;
|
|
88
|
+
profile?: string;
|
|
89
|
+
issueNum?: number;
|
|
90
|
+
startedAt?: string;
|
|
91
|
+
}): StageTelemetry;
|
|
92
|
+
/**
|
|
93
|
+
* Append a stage telemetry entry to the run's stages.jsonl file.
|
|
94
|
+
* Creates the file and parent directory when needed.
|
|
95
|
+
*/
|
|
96
|
+
export declare function writeStageTelemetry(runDirPath: string, entry: StageTelemetry): void;
|
|
97
|
+
/**
|
|
98
|
+
* Read all stage telemetry entries for a single run.
|
|
99
|
+
* Returns an empty array if the file doesn't exist or has parse errors.
|
|
100
|
+
*/
|
|
101
|
+
export declare function readStageTelemetry(runDirPath: string): StageTelemetry[];
|
|
102
|
+
/**
|
|
103
|
+
* Scan `.alpha-loop/traces/` under the given project dir and return all
|
|
104
|
+
* stage telemetry entries across all runs, each tagged with its session name.
|
|
105
|
+
*/
|
|
106
|
+
export declare function readAllStageTelemetry(projectDir?: string): Array<{
|
|
107
|
+
session: string;
|
|
108
|
+
entries: StageTelemetry[];
|
|
109
|
+
}>;
|
|
110
|
+
/**
|
|
111
|
+
* Load session manifests written to `.alpha-loop/learnings/` by finalizeSession.
|
|
112
|
+
* Used by the reporter to join cost data with shipped-issue counts.
|
|
113
|
+
*/
|
|
114
|
+
export declare function readSessionManifests(projectDir?: string): SessionManifestLite[];
|
|
115
|
+
/**
|
|
116
|
+
* Aggregate stage telemetry across sessions into per (stage, model) cells.
|
|
117
|
+
*
|
|
118
|
+
* - `pipeline_success_rate`: fraction of parent sessions that shipped a
|
|
119
|
+
* successful issue while this (stage, model) cell was active.
|
|
120
|
+
* - `cost_per_issue_shipped`: total cost across this cell divided by the
|
|
121
|
+
* number of shipped (status=success, filesChanged>0) issues in the sessions
|
|
122
|
+
* where this cell ran.
|
|
123
|
+
* - `median_wall_time_s`: median wall_time_s across invocations.
|
|
124
|
+
* - `tool_error_rate`: sum(tool_errors) / sum(tool_calls || runs).
|
|
125
|
+
* - Delta columns compare each cell against the cell at the same `stage` with
|
|
126
|
+
* `model` matching the baseline. When `baseline` is 'all-frontier' (default)
|
|
127
|
+
* we pick the highest-cost cell per stage as the baseline (frontier).
|
|
128
|
+
*/
|
|
129
|
+
export declare function aggregateRouting(items: Array<{
|
|
130
|
+
session: string;
|
|
131
|
+
entries: StageTelemetry[];
|
|
132
|
+
}>, manifests: SessionManifestLite[], opts?: {
|
|
133
|
+
profile?: string;
|
|
134
|
+
sinceMs?: number;
|
|
135
|
+
baseline?: string;
|
|
136
|
+
}): RoutingAggregation;
|
|
137
|
+
/**
|
|
138
|
+
* Format an aggregation as a human-readable table or JSON string.
|
|
139
|
+
*/
|
|
140
|
+
export declare function formatRoutingReport(agg: RoutingAggregation, opts?: {
|
|
141
|
+
json?: boolean;
|
|
142
|
+
}): string;
|
|
143
|
+
/**
|
|
144
|
+
* Parse a duration string like "30d", "12h", "45m", "90s" into milliseconds.
|
|
145
|
+
* Returns undefined when the input is empty or unparseable.
|
|
146
|
+
*/
|
|
147
|
+
export declare function parseDuration(input: string | undefined): number | undefined;
|