diff --git a/packages/core/src/scoring/index.test.ts b/packages/core/src/scoring/index.test.ts index 1c8c73a..2489741 100644 --- a/packages/core/src/scoring/index.test.ts +++ b/packages/core/src/scoring/index.test.ts @@ -38,6 +38,13 @@ function withHashChain(events: CanonicalEvent[], withSignature: boolean): Canoni // computeProvenanceIntegrity via computeRiskScore // --------------------------------------------------------------------------- +describe('computeRiskScore — trace_completeness scoring', () => { + it('returns zero trace completeness when the trace has no events', async () => { + const score = await computeRiskScore([], 'empty-run'); + expect(score.components.trace_completeness).toBe(0); + }); +}); + describe('computeRiskScore — provenance_integrity scoring', () => { it('returns 100 when all events have ed25519 signatures (no AEP provenance)', async () => { const events = withHashChain([makeToolCall('e1'), makeToolCall('e2')], true); diff --git a/packages/core/src/scoring/index.ts b/packages/core/src/scoring/index.ts index a3af03d..1270bc2 100644 --- a/packages/core/src/scoring/index.ts +++ b/packages/core/src/scoring/index.ts @@ -19,7 +19,7 @@ function toGrade(score: number): Grade { } function computeTraceCompleteness(events: CanonicalEvent[]): number { - if (events.length === 0) return 100; + if (events.length === 0) return 0; let score = 100;