Agents & SystèmesPilot
Modèle de données
Schéma complet de la base SQLite : tables, relations et vues matérialisées.
REF-SPEC/AG001-DB v1.0 — 2026-04-09
1. Vue d'ensemble
Pilot utilise SQLite (via libsql) comme base de données. Le schéma couvre les workspaces, les données uploadées, les rapports générés, les sessions de chat et la planification récurrente.
2. Tables principales
workspaces
Isolation multi-tenant par slug.
| Colonne | Type | Description |
|---|---|---|
| id | INTEGER PK | Identifiant unique |
| slug | TEXT UNIQUE | URL-friendly identifier |
| name | TEXT | Nom du workspace |
| description | TEXT | Description |
| industry | TEXT | Secteur d'activité |
| created_at | TEXT | Date de création |
uploaded_files
Métadonnées des fichiers uploadés.
| Colonne | Type | Description |
|---|---|---|
| id | TEXT PK | Identifiant unique |
| workspace_id | INTEGER FK | Workspace rattaché |
| filename | TEXT | Nom du fichier original |
| type | TEXT | Format (xlsx, csv, json, docx) |
| row_count | INTEGER | Nombre de lignes parsées |
| created_at | TEXT | Date d'upload |
data_rows / clean_data
Données brutes et nettoyées.
| Table | Contenu |
|---|---|
| data_rows | Lignes brutes parsées depuis les fichiers |
| clean_data | Lignes normalisées après transformation |
reports
Rapports générés avec contenu JSON.
| Colonne | Type | Description |
|---|---|---|
| id | TEXT PK | Identifiant unique |
| workspace_id | INTEGER FK | Workspace rattaché |
| title | TEXT | Titre du rapport |
| content | TEXT (JSON) | Contenu structuré (sections, KPI) |
| status | TEXT | Actif ou supprimé (soft delete) |
| created_at | TEXT | Date de création |
report_versions
Historique d'itération des rapports.
| Colonne | Type | Description |
|---|---|---|
| id | TEXT PK | Identifiant unique |
| report_id | TEXT FK | Rapport parent |
| version_number | INTEGER | Numéro de version |
| feedback | TEXT | Annotation utilisateur |
| content | TEXT (JSON) | Contenu à cette version |
| created_at | TEXT | Date de génération |
chat_sessions
Conversations persistantes.
| Colonne | Type | Description |
|---|---|---|
| id | TEXT PK | Identifiant unique |
| workspace_id | INTEGER FK | Workspace rattaché |
| title | TEXT | Titre auto-généré |
| messages | TEXT (JSON) | Tableau de messages user/assistant |
| created_at | TEXT | Date de création |
| updated_at | TEXT | Dernière mise à jour |
schedules / schedule_runs
Planification récurrente et exécutions.
| Table | Colonnes clés |
|---|---|
| schedules | id, workspace_id, frequency, day, hour, minute, report_id, source_file_id, status |
| schedule_runs | id, schedule_id, edition_number, report_id, status, executed_at |
project_context
Métadonnées du workspace.
| Colonne | Type | Description |
|---|---|---|
| id | TEXT PK | Identifiant unique |
| workspace_id | INTEGER FK | Workspace rattaché |
| project_name | TEXT | Nom du projet |
| industry | TEXT | Secteur |
| objectives | TEXT | Objectifs d'analyse |
materialized_views
Vues pré-calculées pour le contexte IA.
| Colonne | Type | Description |
|---|---|---|
| id | TEXT PK | Identifiant unique |
| workspace_id | INTEGER FK | Workspace rattaché |
| view_type | TEXT | schema, stats, dimensions, anomalies |
| content | TEXT (JSON) | Données pré-calculées |
| computed_at | TEXT | Date de calcul |
3. Relations
workspaces ──< uploaded_files
workspaces ──< reports ──< report_versions
workspaces ──< chat_sessions
workspaces ──< schedules ──< schedule_runs
workspaces ──< project_context
workspaces ──< materialized_views
uploaded_files ──< data_rows
uploaded_files ──< clean_data