docs: add Postgres migration plan and Kiro spec
- docs/guides/postgres-migration-plan.md: full migration manual with phases, port allocation, rollback plan, and timeline - .kiro/specs/postgres-migration/: requirements, design, and tasks - Replaces findings_json blob with individual indexed rows - Enables per-BU closed counts via SQL queries - Uses existing Postgres instance (port 5432), new cve_dashboard DB - Testing on port 3003, cutover to 3001 with 30s downtime
This commit is contained in:
@@ -5662,16 +5662,21 @@ export default function VulnerabilityTriagePage({ filterDate, filterEXC }) {
|
||||
<div role="tabpanel">
|
||||
{metricsTab === 'ivanti' && (
|
||||
<div style={{ display: 'flex', gap: '3rem', flexWrap: 'wrap', alignItems: 'flex-start' }}>
|
||||
{/* Open vs Closed donut — open count from scoped findings, closed is global */}
|
||||
{/* Open vs Closed donut — open from scoped findings; closed only meaningful when unscoped */}
|
||||
<div style={{ flex: '0 0 auto' }}>
|
||||
<div style={{ fontFamily: 'monospace', fontSize: '0.68rem', fontWeight: '600', color: '#64748B', textTransform: 'uppercase', letterSpacing: '0.1em', marginBottom: '0.75rem' }}>
|
||||
Open vs Closed
|
||||
</div>
|
||||
<StatusDonut
|
||||
open={scopedFindings.length}
|
||||
closed={statusCounts.closed}
|
||||
closed={getActiveTeamsParam() ? 0 : statusCounts.closed}
|
||||
loading={countsLoading}
|
||||
/>
|
||||
{getActiveTeamsParam() && (
|
||||
<div style={{ fontFamily: 'monospace', fontSize: '0.6rem', color: '#475569', marginTop: '0.5rem' }}>
|
||||
Closed count unavailable when filtered by BU
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
{/* Divider */}
|
||||
|
||||
Reference in New Issue
Block a user