Files
system_update/validation_tache1.9.md
gilles 0fbca06d3d docs: roadmap tâches 1.9-8 (briefs, gates de validation, designs tâche 2) + plans d'implémentation
Cartographie complète (liste_taches/coherence_taches), briefs tacheN + gates
validation_tacheN, design tâche 2 (docs/design/tache2/), specs/plans jalon 1-2
et tâche 1.9/2 (Phase 1, Phase 2, SJ-0→3). Validations consignées (1.9 , 2-8 🟡).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 19:50:25 +02:00

5.2 KiB

Protocole de validation — Tâche 1.9 (architecture BDD cible)

Type : grille de validation. Utilisée après la mission décrite dans tache1.9.md. But : vérifier que le schéma de données cible est complet, cohérent avec les tâches 2 à 8, compatible SQLite MVP, et préparé pour les évolutions futures. Gate obligatoire : cette validation doit être passée avant toute migration BDD majeure. Rappel : la tâche 1.9 est une mission de design architecture BDD, pas d'implémentation.


0. Quand lancer cette validation

  • La mission tache1.9.md est annoncée terminée.
  • Les livrables de schéma/architecture sont présents.
  • Les tâches 2 à 8 ont été prises en compte ou explicitement exclues avec justification.

Si un point manque → rejet immédiat.


1. Discipline & périmètre

  • Aucun code de production modifié pour cette mission.
  • Aucun schéma/migration appliqué sans plan de migration validé.
  • Le schéma actuel machines/snapshots/executions est respecté comme point de départ.
  • Les secrets ne sont pas mélangés aux tables publiques.
  • Le design reste compatible SQLite/Drizzle au MVP.

2. Complétude du schéma

  • Core : machines, credentials, host keys, tags, état courant.
  • JSON/historique : snapshots, exécutions, événements, rapports, artefacts, messages importants.
  • APT : paquets prévus, appliqués, erreurs.
  • Docker : settings, roots Compose, stacks, services, image events.
  • Post-install/scripts : profils, recettes, versions, état machine, presets.
  • Jobs/schedules : jobs, schedules, locks, action requests.
  • Hermes/MCP : sessions, runs, usage tokens, audit MCP.
  • API clients : tokens hashés, scopes, révocation.
  • Optimisation : métriques système, cleanup, discovery scans/candidates.
  • Frontend : app_settings, user_preferences, machine_ui_state.
  • Hardware/métriques machines : machine_hardware, machine_metrics_latest.

3. Cohérence des principes

  • Chaque JSON canonique complet est archivé.
  • Les colonnes dérivées nécessaires aux filtres/UI sont indexables.
  • machine_id est la clé de rattachement des échanges machine ↔ serveur.
  • Les logs bruts sont référencés, pas copiés partout en BDD.
  • Les messages importants survivent à la purge des logs bruts.
  • La rétention est modélisée sans supprimer les rapports épinglés.
  • Les actions Hermes sont représentées par demandes validables, pas par exécution directe.
  • Les paramètres frontend et app locale sont séparés des données métier.

4. Compatibilité futur Docker Compose webserver

  • Le schéma prévoit volumes persistants : DB, reports/logs, artifacts.
  • Le schéma ne dépend pas d'un chemin local non portable.
  • Les chemins de fichiers sont stockés comme références maîtrisées.
  • Les secrets master key/API tokens restent hors image Docker.
  • Le modèle reste utilisable dans un container backend unique au MVP.

5. Migration progressive

  • Les phases de migration sont ordonnées et réalistes.
  • Chaque phase peut être testée indépendamment.
  • La migration depuis le schéma actuel est décrite.
  • Les index principaux sont listés.
  • Le passage futur PostgreSQL est anticipé sans imposer PostgreSQL au MVP.

6. Verdict

  • Accepté : schéma complet, cohérent, migrable.
  • 🟡 Accepté avec réserves : ajustements mineurs à faire.
  • Rejeté : modèle incomplet, secrets mal placés, migration floue ou incompatible MVP.

7. Notes de validation

Revue du 2026-06-05 (orchestrateur).

Verdict : Accepté.

Le schéma cible (tache1.9.md) couvre l'ensemble des besoins des tâches 2 à 8, reste compatible MVP SQLite/Drizzle, isole les secrets (machine_credentials), conserve les JSON complets + colonnes dérivées indexées, et fournit un plan de migration en 9 phases depuis le schéma actuel.

  • §1 Discipline & périmètre : ✓ (design only, schéma machines/snapshots/executions conservé comme base, secrets isolés, SQLite/Drizzle).
  • §2 Complétude : ✓ (tous les groupes de tables présents : core, JSON/historique, APT planned/applied/errors, Docker, post-install, jobs/schedules/locks/action_requests, Hermes/MCP, api_clients, optim/cleanup/discovery, frontend app_settings/user_preferences/machine_ui_state, hardware/metrics).
  • §3 Principes : ✓ (JSON complets + dérivés, machine_id clé, logs référencés, important_messages survit à la purge, rétention avec pinned, actions Hermes via action_requests).
  • §4 Docker Compose : ✓ (volumes DB/reports/artifacts, chemins comme références, secrets hors image).
  • §5 Migration : ✓ (phases 1→9 ordonnées et testables indépendamment, index listés §13, PostgreSQL anticipé sans l'imposer).

Réserve mineure corrigée pendant la revue : doublon créer discovery_candidates dans la §14 Phase 9 (appartient à Phase 8) — supprimé.

Cohérence avec l'existant : le WIP non commité ajoute déjà le type ServerCapabilities + endpoint /api/capabilities (relève de la tâche 5) et la table api_clients prévue ici sert la tâche 8 — pas de conflit.