Keep explicit ARR labels while guarding ambiguous income samples
This commit is contained in:
@@ -279,9 +279,15 @@ test("ambiguous ARR claims retain currency, precision and attribution limits", (
|
||||
const portfolio = snapshot.observations.filter((o) => o.company === "AI100");
|
||||
assert.deepEqual(portfolio.filter((o) => o.selection === "signal").map((o) => o.id), ["SR25-O-DRS-PORTFOLIO"],
|
||||
"a product milestone must not be added to its company portfolio as another company");
|
||||
assert.ok(snapshot.observations.filter((o) => o.id.startsWith("SR25-O-")).every((o) =>
|
||||
o.unit !== "USD" && !o.metric && !o.observedAt && o.comparisonGroup === null),
|
||||
const speedrun2025 = snapshot.observations.filter((o) => o.id.startsWith("SR25-O-"));
|
||||
assert.ok(speedrun2025.every((o) =>
|
||||
o.unit !== "USD" && !o.observedAt && o.comparisonGroup === null),
|
||||
"access dates and dollar symbols must not invent dated USD income samples");
|
||||
assert.deepEqual(speedrun2025.filter((o) => o.metric).map((o) => [o.id, o.metric]).sort(),
|
||||
[["SR25-O-DRS-PORTFOLIO", "arr"], ["SR25-O-LOOPS-ARR", "arr"]],
|
||||
"explicit company ARR claims retain their metric without inferring currency or reporting dates");
|
||||
assert.ok(platformIncomeSample(snapshot, { windowDays: null }).points.every((point) =>
|
||||
!point.observation.id.startsWith("SR25-O-")), "undated ARR claims never enter platform MRR comparisons");
|
||||
});
|
||||
|
||||
// Retractions and forecasts must stay visible for review without becoming revenue signals.
|
||||
|
||||
Reference in New Issue
Block a user