generated from coulomb/repo-seed
KPI infobox - Replace slim kpi-bar with a boxed card (border, shadow, 195–240px) floating right in a flex header alongside the live indicator - Rows: avg resolve time (last ≤5 resolved) + avg open age (all open) - avg open age colored via CSS var --oc: red/orange/black per threshold - "no open decisions" shown as muted italic when queue is empty doc-overlay component (src/components/doc-overlay.js) - withDocHelp(element, docPath) — adds absolute-positioned ? button that is invisible until the parent is hovered; click opens overlay - Overlay: fixed backdrop + animated box with iframe; closes on Esc, backdrop click, or the close button - CSS injected once via style tag (STYLE_ID guard, same pattern as MultiSelect) ? buttons wired up in decisions.md - KPI infobox → /docs/decisions-kpi - Cumulative chart (wrapped in position:relative div) → /docs/decisions-kpi - Filter & List section header → /docs/decisions-kpi Reference page (src/docs/decisions-kpi.md) - Standalone Observable Framework page at /docs/decisions-kpi - Documents: KPI card (avg resolve, avg open age, color thresholds), Resolution History chart (cumulative, period→resolution mapping, filter interaction, timestamp logic), Filter & List (type/status/search, card age badge, escalation) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>