fix: classify trace visibility separately (#698)
Co-authored-by: Codex <codex@noreply.local>
This commit is contained in:
@@ -2137,8 +2137,11 @@ function buildFindings(samples, control, network, errors, sampleMetrics, promptN
|
||||
if ((runtimeAlerts?.summary?.domDiagnosticSampleCount ?? 0) > 0) findings.push({ id: "runtime-dom-diagnostics", severity: "amber", summary: "diagnostic/error/warning-like text was visible in sampled DOM", count: runtimeAlerts.summary.domDiagnosticSampleCount, groupCount: runtimeAlerts.summary.domDiagnosticGroupCount ?? 0, groups: runtimeAlerts.domDiagnosticsByText.slice(0, 12), samples: runtimeAlerts.domDiagnostics.slice(0, 12) });
|
||||
if ((runtimeAlerts?.summary?.executionErrorCount ?? 0) > 0) findings.push({ id: "runtime-execution-errors", severity: "red", summary: "Workbench rendered execution failure/error rows during observation", count: runtimeAlerts.summary.executionErrorCount, groups: runtimeAlerts.runtimeExecutionErrorsByCode.slice(0, 12) });
|
||||
if ((runtimeAlerts?.summary?.consoleAlertCount ?? 0) > 0) findings.push({ id: "runtime-console-alerts", severity: "amber", summary: "browser console warning/error entries were captured during observation", count: runtimeAlerts.summary.consoleAlertCount, groups: runtimeAlerts.consoleAlertsByPath.slice(0, 12) });
|
||||
const crossPageProjectionDiffs = detectCrossPageProjectionDiffs(samples);
|
||||
const crossPageDiffs = detectCrossPageProjectionDiffs(samples);
|
||||
const crossPageProjectionDiffs = crossPageDiffs.filter((item) => item.diffKind !== "trace-visibility");
|
||||
const crossPageTraceVisibilityDiffs = crossPageDiffs.filter((item) => item.diffKind === "trace-visibility");
|
||||
if (crossPageProjectionDiffs.length > 0) findings.push({ id: "cross-page-projection-divergence", severity: "red", summary: "control and observer pages saw different projection state for the same sampled session", count: crossPageProjectionDiffs.length, samples: crossPageProjectionDiffs.slice(0, 20) });
|
||||
if (crossPageTraceVisibilityDiffs.length > 0) findings.push({ id: "cross-page-trace-visibility-divergence", severity: "info", summary: "control and observer pages differed only in visible trace row count; this is local disclosure/hydration visibility, not session/message projection divergence", count: crossPageTraceVisibilityDiffs.length, samples: crossPageTraceVisibilityDiffs.slice(0, 20) });
|
||||
const traceMessageDuplicates = detectTraceMessageDuplication(samples);
|
||||
if (traceMessageDuplicates.length > 0) findings.push({ id: "trace-assistant-message-duplicates-final-response", severity: "amber", summary: "trace rendered assistant message rows that duplicate the sealed final response", count: traceMessageDuplicates.length, samples: traceMessageDuplicates.slice(0, 20) });
|
||||
const turnTraceMissing = detectTurnTraceIdMissing(samples);
|
||||
@@ -4082,10 +4085,12 @@ function detectCrossPageProjectionDiffs(samples) {
|
||||
const controlZero = detectTerminalZeroElapsed([control]).length > 0;
|
||||
const observerZero = detectTerminalZeroElapsed([observer]).length > 0;
|
||||
const sameSession = (control.routeSessionId || control.activeSessionId || null) && (control.routeSessionId || control.activeSessionId || null) === (observer.routeSessionId || observer.activeSessionId || null);
|
||||
const divergent = sameSession && (missingInObserver.length > 0 || Math.abs(controlMessages - observerMessages) > 0 || Math.abs(controlTraceRows - observerTraceRows) > 0 || controlZero !== observerZero || digestMessageTexts(control) !== digestMessageTexts(observer));
|
||||
if (!divergent) continue;
|
||||
const projectionDivergent = sameSession && (missingInObserver.length > 0 || Math.abs(controlMessages - observerMessages) > 0 || controlZero !== observerZero || digestMessageTexts(control) !== digestMessageTexts(observer));
|
||||
const traceVisibilityDivergent = sameSession && !projectionDivergent && Math.abs(controlTraceRows - observerTraceRows) > 0;
|
||||
if (!projectionDivergent && !traceVisibilityDivergent) continue;
|
||||
rows.push({
|
||||
sampleGroupSeq,
|
||||
diffKind: traceVisibilityDivergent ? "trace-visibility" : "projection",
|
||||
control: ref(control),
|
||||
observer: ref(observer),
|
||||
missingTraceIdsInObserver: missingInObserver.slice(0, 8),
|
||||
|
||||
Reference in New Issue
Block a user