mirror of
https://github.com/okieselbach/AutopilotMonitor.git
synced 2026-10-22 19:55:35 +00:00
127d5c1173
The diagnosis page is rebuilt on the server headline instead of rule confidence: a verdict card per status and cause (culprit tiles, ESP phases, what an unfinished enrollment still waits for), the circumstances around it, the steps of the finding that explains it, where the time went, all open findings grouped by role, team notes and the deduplicated errors and warnings. It reuses the session page's hook set, refetches the headline on live activity and opens for Failed, Stalled, AwaitingUser, Incomplete and Succeeded with open findings, also from read-only and cross-tenant views. Rule text: lib/ruleText.ts prunes a finding's explanation and steps like the notifications do (shared cases in tests/fixtures/rule-text-display, also run by RuleTemplateInterpolator.InterpolateForNotification), then parses the markdown and fills values into text nodes only. The session page's analysis section, the rule card and the dry run render through it; components/findings/EvidenceChips replaces the two evidence-link copies and covers correlation pairs. Vocabularies: DiagnosisPrerequisites names the engine's completion prerequisites (manifest diagnosis.prerequisites, parity fact against DecisionEngine.CompletionPrerequisites); the page's texts for every diagnosis vocabulary are exhaustive over the manifest types. Fixed on the way: useSessionSignalR held the first render's callbacks, so ruleResultsReady was lost on an already connected hub; a deep link to an event dropped its hash before the event loaded; the global analyze rule update answered 500 for an invalid presentation (now 400); the rule editor kept the presentation block on create and in JSON mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>