@newrelic/preflight 1.48.2 → 1.48.3
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.
|
@@ -7,6 +7,12 @@
|
|
|
7
7
|
* 3. Autonomy: 1 - (userQuestions / toolCalls)
|
|
8
8
|
* 4. First-attempt quality: 1 - (thrashIterations / 3), floored at 0
|
|
9
9
|
*
|
|
10
|
+
* Speed carries a deliberately small default weight (0.10 vs. 0.30 for the
|
|
11
|
+
* other three) — a raw lines/duration ratio rewards bulk regeneration as much
|
|
12
|
+
* as a careful fix, and zero-linesChanged tasks (investigation, review,
|
|
13
|
+
* delegated work) exclude speed from the composite entirely rather than
|
|
14
|
+
* scoring 0 on it, renormalizing across the remaining components instead.
|
|
15
|
+
*
|
|
10
16
|
* Final score = weighted average, clamped to [0, 1].
|
|
11
17
|
*/
|
|
12
18
|
import type { MetricAggregator } from '../shared/index.js';
|
|
@@ -97,6 +103,13 @@ export declare class EfficiencyScorer implements Resettable {
|
|
|
97
103
|
emitMetrics(aggregator: MetricAggregator): void;
|
|
98
104
|
reset(_sessionId: string): void;
|
|
99
105
|
private computeComponents;
|
|
106
|
+
/**
|
|
107
|
+
* Weighted average of the four components, clamped to [0, 1]. When zero
|
|
108
|
+
* lines changed, speed is excluded entirely rather than scored as 0 —
|
|
109
|
+
* investigation/review/delegated tasks make no edits by design, so the
|
|
110
|
+
* remaining weights are renormalized to sum to 1 on their own.
|
|
111
|
+
*/
|
|
112
|
+
private computeWeightedScore;
|
|
100
113
|
/**
|
|
101
114
|
* Speed: linesChanged / durationSeconds, normalized to baseline.
|
|
102
115
|
* 0 lines → 0 speed. 0 duration → clamp to 1.0.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efficiency-score.d.ts","sourceRoot":"","sources":["../../src/metrics/efficiency-score.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"efficiency-score.d.ts","sourceRoot":"","sources":["../../src/metrics/efficiency-score.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,15 +7,21 @@
|
|
|
7
7
|
* 3. Autonomy: 1 - (userQuestions / toolCalls)
|
|
8
8
|
* 4. First-attempt quality: 1 - (thrashIterations / 3), floored at 0
|
|
9
9
|
*
|
|
10
|
+
* Speed carries a deliberately small default weight (0.10 vs. 0.30 for the
|
|
11
|
+
* other three) — a raw lines/duration ratio rewards bulk regeneration as much
|
|
12
|
+
* as a careful fix, and zero-linesChanged tasks (investigation, review,
|
|
13
|
+
* delegated work) exclude speed from the composite entirely rather than
|
|
14
|
+
* scoring 0 on it, renormalizing across the remaining components instead.
|
|
15
|
+
*
|
|
10
16
|
* Final score = weighted average, clamped to [0, 1].
|
|
11
17
|
*/
|
|
12
18
|
// ---------------------------------------------------------------------------
|
|
13
19
|
// Defaults
|
|
14
20
|
// ---------------------------------------------------------------------------
|
|
15
|
-
const DEFAULT_SPEED_WEIGHT = 0.
|
|
16
|
-
const DEFAULT_CORRECTNESS_WEIGHT = 0.
|
|
17
|
-
const DEFAULT_AUTONOMY_WEIGHT = 0.
|
|
18
|
-
const DEFAULT_FIRST_ATTEMPT_QUALITY_WEIGHT = 0.
|
|
21
|
+
const DEFAULT_SPEED_WEIGHT = 0.1;
|
|
22
|
+
const DEFAULT_CORRECTNESS_WEIGHT = 0.3;
|
|
23
|
+
const DEFAULT_AUTONOMY_WEIGHT = 0.3;
|
|
24
|
+
const DEFAULT_FIRST_ATTEMPT_QUALITY_WEIGHT = 0.3;
|
|
19
25
|
const DEFAULT_SPEED_BASELINE_LPS = 1; // 1 line per second = perfect speed
|
|
20
26
|
const MAX_SCORES = 1_000;
|
|
21
27
|
// ---------------------------------------------------------------------------
|
|
@@ -54,11 +60,7 @@ export class EfficiencyScorer {
|
|
|
54
60
|
*/
|
|
55
61
|
computeScore(task, antiPatterns) {
|
|
56
62
|
const components = this.computeComponents(task, antiPatterns);
|
|
57
|
-
const
|
|
58
|
-
components.correctness * this.correctnessWeight +
|
|
59
|
-
components.autonomy * this.autonomyWeight +
|
|
60
|
-
components.firstAttemptQuality * this.firstAttemptQualityWeight;
|
|
61
|
-
const score = clamp(Math.round(raw * 1000) / 1000, 0, 1);
|
|
63
|
+
const score = this.computeWeightedScore(components, task);
|
|
62
64
|
const result = {
|
|
63
65
|
score,
|
|
64
66
|
components,
|
|
@@ -143,11 +145,7 @@ export class EfficiencyScorer {
|
|
|
143
145
|
updateScore(task, antiPatterns) {
|
|
144
146
|
const idx = this.scores.findIndex((s) => s.taskId === task.taskId);
|
|
145
147
|
const components = this.computeComponents(task, antiPatterns);
|
|
146
|
-
const
|
|
147
|
-
components.correctness * this.correctnessWeight +
|
|
148
|
-
components.autonomy * this.autonomyWeight +
|
|
149
|
-
components.firstAttemptQuality * this.firstAttemptQualityWeight;
|
|
150
|
-
const score = clamp(Math.round(raw * 1000) / 1000, 0, 1);
|
|
148
|
+
const score = this.computeWeightedScore(components, task);
|
|
151
149
|
const result = {
|
|
152
150
|
score,
|
|
153
151
|
components,
|
|
@@ -202,6 +200,29 @@ export class EfficiencyScorer {
|
|
|
202
200
|
firstAttemptQuality: this.computeFirstAttemptQuality(antiPatterns),
|
|
203
201
|
};
|
|
204
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* Weighted average of the four components, clamped to [0, 1]. When zero
|
|
205
|
+
* lines changed, speed is excluded entirely rather than scored as 0 —
|
|
206
|
+
* investigation/review/delegated tasks make no edits by design, so the
|
|
207
|
+
* remaining weights are renormalized to sum to 1 on their own.
|
|
208
|
+
*/
|
|
209
|
+
computeWeightedScore(components, task) {
|
|
210
|
+
if (task.linesChanged === 0) {
|
|
211
|
+
const remainingWeight = this.correctnessWeight + this.autonomyWeight + this.firstAttemptQualityWeight;
|
|
212
|
+
if (remainingWeight <= 0)
|
|
213
|
+
return 0;
|
|
214
|
+
const raw = (components.correctness * this.correctnessWeight +
|
|
215
|
+
components.autonomy * this.autonomyWeight +
|
|
216
|
+
components.firstAttemptQuality * this.firstAttemptQualityWeight) /
|
|
217
|
+
remainingWeight;
|
|
218
|
+
return clamp(Math.round(raw * 1000) / 1000, 0, 1);
|
|
219
|
+
}
|
|
220
|
+
const raw = components.speed * this.speedWeight +
|
|
221
|
+
components.correctness * this.correctnessWeight +
|
|
222
|
+
components.autonomy * this.autonomyWeight +
|
|
223
|
+
components.firstAttemptQuality * this.firstAttemptQualityWeight;
|
|
224
|
+
return clamp(Math.round(raw * 1000) / 1000, 0, 1);
|
|
225
|
+
}
|
|
205
226
|
/**
|
|
206
227
|
* Speed: linesChanged / durationSeconds, normalized to baseline.
|
|
207
228
|
* 0 lines → 0 speed. 0 duration → clamp to 1.0.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"efficiency-score.js","sourceRoot":"","sources":["../../src/metrics/efficiency-score.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"efficiency-score.js","sourceRoot":"","sources":["../../src/metrics/efficiency-score.ts"],"names":[],"mappings":"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"}
|