From be0d44183d3c35dc6665833aeaaf89c0499baeb5 Mon Sep 17 00:00:00 2001 From: Hypatia May Date: Mon, 13 Jul 2026 14:01:34 +0800 Subject: [PATCH] perf(session-query): keep provenance validation linear (round 3) --- packages/session-query/session-query/src/tracing.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/session-query/session-query/src/tracing.ts b/packages/session-query/session-query/src/tracing.ts index d14822844d..d0c7f200cb 100644 --- a/packages/session-query/session-query/src/tracing.ts +++ b/packages/session-query/session-query/src/tracing.ts @@ -206,9 +206,10 @@ function validateProvenance( } for (const [replacementSeq, removedSeqs] of replacedEventSeqs) { - // The fold reports only replacement events from the input log. + // Canonical logs guarantee events[i].seq === i, and the fold reports only + // replacement events from this input log. // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - const replacement = events.find(event => event.seq === replacementSeq)! + const replacement = events[replacementSeq]! const sources = rawEventSources(replacement) if (!Array.isArray(sources)) { invalidProvenance(`replacement at seq ${replacementSeq} omits its shadowed surface sources`)