How jiyongham/prevnetion-tracker works
prevention-tracker is an internal FastAPI service for consolidating four infrastructure-prevention domains into dashboards, evidence-backed completion totals, and weekly Teams reports. Users review and edit target records; domain services combine spreadsheet targets, ticket/asset/CI evidence, and SQLite overrides, then expose reports, reminders, and exports. DR, capacity, EoS, and kernel patching retain distinct completion rules; kernel automation is documented as unfinished. README documents the major capabilities; source excerpts are partial, so uncertain route-to-service wiring is omitted.
Main entry points: eos_data.py EoS evaluation · dr_data.py DR evaluation · capacity.py Capacity evaluation · main.py FastAPI app
Components 24
Web portal
- FastAPI app
app/main.py - DR routes
app/web/routes/dr.py - Capacity routes
app/web/routes/capacity.py - EoS routes
app/web/routes/eos.py - Kernel routes
app/web/routes/kernel.py
Domain processing
- DR evaluation
app/services/dr_data.py - Capacity evaluation
app/services/capacity.py - EoS evaluation
app/services/eos_data.py - Kernel tracking
app/services/kernel.py - Ticket matching
app/services/matcher.py - AI assistance
app/services/ai_diagnose.py
Data integrations
- Excel targets
app/core/excel_loader.py - JIRA tickets
app/core/jira_client.py - Insight assets
app/core/insight_client.py - Polestar CI
app/core/polestar_client.py - Confluence plans
app/core/confluence_client.py - Agent gateway
app/core/agent_client.py
Reporting and state
- SQLite records
app/models/db.py - Report generation
app/services/report.py - Reminder drafting
app/services/reminder.py - Job scheduler
app/core/scheduler.py - Teams delivery
app/core/teams_client.py
Other components
- Portal user
- Microsoft Teams
Connections 39
- Portal user → DR routes: requests
- Portal user → Capacity routes: requests
- Portal user → EoS routes: requests
- Portal user → Kernel routes: requests
- FastAPI app → Job scheduler: starts
- FastAPI app → SQLite records: initializes
- FastAPI app → DR evaluation: prewarms
- FastAPI app → Capacity evaluation: prewarms
- FastAPI app → EoS evaluation: prewarms
- DR routes → DR evaluation: loads and evaluates
- DR routes → SQLite records: reads and writes
- DR routes → Report generation: requests report
- Capacity routes → Capacity evaluation: evaluates
- EoS routes → EoS evaluation: evaluates
- Kernel routes → Kernel tracking: serves tracking
- DR evaluation → Excel targets: loads targets
- Capacity evaluation → Excel targets: loads targets
- EoS evaluation → Excel targets: loads targets
- DR evaluation → JIRA tickets: gets tickets
- Capacity evaluation → JIRA tickets: gets tickets
- EoS evaluation → JIRA tickets: gets tickets
- DR evaluation → Insight assets: gets asset evidence
- EoS evaluation → Insight assets: gets asset evidence
- Capacity evaluation → Ticket matching: matches tickets
- DR evaluation → Ticket matching: matches tickets
- EoS evaluation → Ticket matching: matches tickets
- EoS evaluation → Polestar CI: checks CI state
- EoS evaluation → Confluence plans: loads plans
- EoS evaluation → SQLite records: records observations
- Capacity evaluation → SQLite records: reads overrides
- DR evaluation → SQLite records: reads overrides
- AI assistance → Agent gateway: requests interpretation
- DR routes → AI assistance: diagnoses unmatched
- Report generation → SQLite records: stores snapshots
- Job scheduler → Report generation: dispatches scheduled reports
- Job scheduler → Reminder drafting: dispatches reminders
- Reminder drafting → Teams delivery: sends drafts
- Report generation → Teams delivery: sends reports
- Teams delivery → Microsoft Teams: posts messages