108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
# Schema do Banco de Dados - Sentinel
|
|
|
|
Banco: `data/sentinel.db` (SQLite, WAL mode)
|
|
|
|
## Tabelas
|
|
|
|
### audit_runs
|
|
Cada execucao de auditoria.
|
|
|
|
| Coluna | Tipo | Descricao |
|
|
|--------|------|-----------|
|
|
| id | INTEGER PK | Auto-increment |
|
|
| started_at | TEXT | Timestamp ISO 8601 |
|
|
| completed_at | TEXT | Timestamp conclusao |
|
|
| skills_scanned | INTEGER | Quantidade de skills |
|
|
| total_findings | INTEGER | Total de findings |
|
|
| overall_score | REAL | Score medio do ecossistema |
|
|
| report_path | TEXT | Path do relatorio .md |
|
|
| status | TEXT | running / completed / failed |
|
|
|
|
### skill_snapshots
|
|
Estado de cada skill em cada auditoria.
|
|
|
|
| Coluna | Tipo | Descricao |
|
|
|--------|------|-----------|
|
|
| id | INTEGER PK | Auto-increment |
|
|
| audit_run_id | INTEGER FK | Ref audit_runs |
|
|
| skill_name | TEXT | Nome da skill |
|
|
| skill_path | TEXT | Path no filesystem |
|
|
| version | TEXT | Versao do SKILL.md |
|
|
| file_count | INTEGER | Arquivos Python |
|
|
| line_count | INTEGER | Total de linhas |
|
|
| overall_score | REAL | Score composto |
|
|
| code_quality | REAL | Score qualidade |
|
|
| security | REAL | Score seguranca |
|
|
| performance | REAL | Score performance |
|
|
| governance | REAL | Score governanca |
|
|
| documentation | REAL | Score documentacao |
|
|
| dependencies | REAL | Score dependencias |
|
|
| raw_metrics | TEXT | JSON com metricas detalhadas |
|
|
|
|
### findings
|
|
Problemas e recomendacoes individuais.
|
|
|
|
| Coluna | Tipo | Descricao |
|
|
|--------|------|-----------|
|
|
| id | INTEGER PK | Auto-increment |
|
|
| audit_run_id | INTEGER FK | Ref audit_runs |
|
|
| skill_name | TEXT | Skill afetada |
|
|
| dimension | TEXT | code_quality/security/etc |
|
|
| severity | TEXT | critical/high/medium/low/info |
|
|
| category | TEXT | Categoria especifica |
|
|
| title | TEXT | Titulo curto |
|
|
| description | TEXT | Descricao detalhada |
|
|
| file_path | TEXT | Arquivo afetado |
|
|
| line_number | INTEGER | Linha afetada |
|
|
| recommendation | TEXT | Sugestao de correcao |
|
|
| effort | TEXT | low/medium/high |
|
|
| impact | TEXT | low/medium/high |
|
|
|
|
### skill_recommendations
|
|
Sugestoes de novas skills.
|
|
|
|
| Coluna | Tipo | Descricao |
|
|
|--------|------|-----------|
|
|
| id | INTEGER PK | Auto-increment |
|
|
| audit_run_id | INTEGER FK | Ref audit_runs |
|
|
| suggested_name | TEXT | Nome sugerido |
|
|
| rationale | TEXT | Justificativa |
|
|
| capabilities | TEXT | JSON array de capacidades |
|
|
| priority | TEXT | critical/high/medium/low |
|
|
| skill_md_draft | TEXT | Rascunho de SKILL.md |
|
|
|
|
### score_history
|
|
Historico de scores para analise de tendencias.
|
|
|
|
| Coluna | Tipo | Descricao |
|
|
|--------|------|-----------|
|
|
| id | INTEGER PK | Auto-increment |
|
|
| audit_run_id | INTEGER FK | Ref audit_runs |
|
|
| skill_name | TEXT | Nome da skill |
|
|
| dimension | TEXT | Dimensao |
|
|
| score | REAL | Score registrado |
|
|
| recorded_at | TEXT | Timestamp |
|
|
|
|
### action_log
|
|
Auto-governanca do sentinel.
|
|
|
|
| Coluna | Tipo | Descricao |
|
|
|--------|------|-----------|
|
|
| id | INTEGER PK | Auto-increment |
|
|
| action | TEXT | Tipo de acao |
|
|
| params | TEXT | JSON com parametros |
|
|
| result | TEXT | JSON com resultado |
|
|
| created_at | TEXT | Timestamp |
|
|
|
|
## Indices
|
|
|
|
- `idx_snapshots_run` - skill_snapshots(audit_run_id)
|
|
- `idx_snapshots_skill` - skill_snapshots(skill_name)
|
|
- `idx_findings_run` - findings(audit_run_id)
|
|
- `idx_findings_skill` - findings(skill_name)
|
|
- `idx_findings_severity` - findings(severity)
|
|
- `idx_findings_dim` - findings(dimension)
|
|
- `idx_history_skill` - score_history(skill_name)
|
|
- `idx_history_time` - score_history(recorded_at)
|
|
- `idx_action_log_time` - action_log(created_at)
|