fix: detect workbench recovery authority fanout
This commit is contained in:
@@ -152,6 +152,33 @@ export function nodeWebObserveAnalyzerFindingsSource(): string {
|
||||
rootCauseConfidence: "high",
|
||||
valuesRedacted: true
|
||||
});
|
||||
const recoveryAuthority = workbenchInPlaceProjectionLag.recoveryAuthority || {};
|
||||
const recoveryAuthoritySummary = recoveryAuthority.summary || {};
|
||||
const forbiddenRecoveryCount = Number(recoveryAuthoritySummary.forbiddenAutomaticRecoveryCount ?? 0);
|
||||
const legacyFanoutWindowCount = Number(recoveryAuthoritySummary.legacyFanoutWindowCount ?? 0);
|
||||
if (forbiddenRecoveryCount > 0 || legacyFanoutWindowCount > 0) findings.push({
|
||||
id: "workbench-automatic-recovery-fanout-authority",
|
||||
severity: "red",
|
||||
summary: "Workbench automatic recovery used direct trace/session/turn fan-out instead of sync replay authority",
|
||||
count: forbiddenRecoveryCount + legacyFanoutWindowCount,
|
||||
forbiddenAutomaticRecoveryCount: forbiddenRecoveryCount,
|
||||
legacyFanoutWindowCount,
|
||||
syncReplayEvidenceCount: Number(recoveryAuthoritySummary.syncReplayEvidenceCount ?? 0),
|
||||
syncReplayAppliedCount: Number(recoveryAuthoritySummary.syncReplayAppliedCount ?? 0),
|
||||
recoveryAuthority: {
|
||||
summary: recoveryAuthoritySummary,
|
||||
forbiddenAutomaticRecovery: Array.isArray(recoveryAuthority.forbiddenAutomaticRecovery) ? recoveryAuthority.forbiddenAutomaticRecovery.slice(0, 12) : [],
|
||||
legacyFanoutWindows: Array.isArray(recoveryAuthority.legacyFanoutWindows) ? recoveryAuthority.legacyFanoutWindows.slice(0, 12) : [],
|
||||
syncEvidence: Array.isArray(recoveryAuthority.syncEvidence) ? recoveryAuthority.syncEvidence.slice(-12) : [],
|
||||
observabilityGaps: Array.isArray(recoveryAuthority.observabilityGaps) ? recoveryAuthority.observabilityGaps.slice(0, 8) : [],
|
||||
valuesRedacted: true
|
||||
},
|
||||
sourceOfTruth: "Workbench sync replay / entity version / terminal seal authority; explicit detail/history reads are allowed but automatic recovery must not hydrate direct REST fan-out",
|
||||
rootCause: "workbench_automatic_recovery_legacy_fanout",
|
||||
rootCauseStatus: "confirmed-from-web-performance-runtime-diagnostics-and-network-artifacts",
|
||||
rootCauseConfidence: "high",
|
||||
valuesRedacted: true
|
||||
});
|
||||
const turnStateTriad = sampleMetrics?.workbenchTurnStateTriad || {};
|
||||
const turnStateTriadSummary = turnStateTriad.summary || {};
|
||||
const turnStateTriadRows = [
|
||||
|
||||
Reference in New Issue
Block a user