diff --git a/.ideai/tickets/47/carnet.md b/.ideai/tickets/47/carnet.md index be7ee11..35263b5 100644 --- a/.ideai/tickets/47/carnet.md +++ b/.ideai/tickets/47/carnet.md @@ -1,6 +1,6 @@ --- issueRef: "#47" -version: 1 -updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"} -updatedAt: 1784411985578 +version: 2 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784448362531 --- diff --git a/.ideai/tickets/47/issue.md b/.ideai/tickets/47/issue.md index 03cb49c..a39bda1 100644 --- a/.ideai/tickets/47/issue.md +++ b/.ideai/tickets/47/issue.md @@ -2,15 +2,15 @@ id: "f3283335-8f96-40aa-88a4-bcc58a530ad2" number: 47 title: "[Server] Scaffolding serveur Dart headless hexagonal" -status: "open" +status: "closed" priority: "low" sprint: null links: [{"target":"#46","kind":"relatesTo"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"} -updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1784411985578 -updatedAt: 1784411985578 -version: 1 +updatedAt: 1784448362531 +version: 2 --- Créer le sous-répertoire `server/` à la racine avec une application Dart headless basée sur `shelf`/`shelf_router`, structure hexagonale (`domain/`, `application/`, `infrastructure/`, `api/`), configuration env, healthcheck et tests de base. Inclure `Dockerfile`, `.env.example`, `docker-compose.yaml` paramétrable et un README d'exploitation minimal. Le serveur doit écouter derrière reverse proxy sans HTTPS interne obligatoire. \ No newline at end of file diff --git a/.ideai/tickets/49/carnet.md b/.ideai/tickets/49/carnet.md index b251bcc..a3990ef 100644 --- a/.ideai/tickets/49/carnet.md +++ b/.ideai/tickets/49/carnet.md @@ -1,6 +1,7 @@ --- issueRef: "#49" -version: 1 -updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"} -updatedAt: 1784411997184 +version: 3 +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} +updatedAt: 1784448367646 --- +Migrations SQL implémentées et revues manuellement (5 tables, contraintes, index, trigger `server_updated_at`), `dart analyze`/`dart test` verts. Non vérifié en conditions réelles : sandbox Main sans accès au daemon Docker → impossible de lancer un vrai PostgreSQL et d'exécuter `TEST_DATABASE_URL=... dart test` ou `dart run bin/migrate.dart` contre une vraie base. À faire avant mise en prod : lancer `docker compose up -d postgres` (une fois #52 livré) et rejouer `bin/migrate.dart` + le test d'intégration pour confirmer que les migrations s'appliquent sans erreur sur un vrai PostgreSQL 16. \ No newline at end of file diff --git a/.ideai/tickets/49/issue.md b/.ideai/tickets/49/issue.md index 004d7c5..fd74406 100644 --- a/.ideai/tickets/49/issue.md +++ b/.ideai/tickets/49/issue.md @@ -2,15 +2,15 @@ id: "c73b39be-061c-44b4-b5c3-f482878fe58d" number: 49 title: "[Server] Schéma PostgreSQL sync-ready GameTime" -status: "open" +status: "qa" priority: "low" sprint: null links: [{"target":"#46","kind":"relatesTo"},{"target":"#47","kind":"dependsOn"}] agentRefs: [] createdBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"} -updatedBy: {"kind":"agent","agent_id":"f8f40941-ecf7-4830-b9de-8818a099f448"} +updatedBy: {"kind":"agent","agent_id":"57695b92-24d0-4876-837c-76116e70a6ae"} createdAt: 1784411997184 -updatedAt: 1784411997184 -version: 1 +updatedAt: 1784448367646 +version: 3 --- Créer le modèle serveur PostgreSQL pour les ressources synchronisables : Exercise, Program, WorkoutTemplate, WorkoutHistory, MediaAsset metadata, plus tables d'ownership par utilisateur. Chaque ressource doit stocker `ownerUserId`, `clientId`, `serverId`, `payloadJson`, `clientUpdatedAt`, `serverUpdatedAt`, `deletedAt`, `schemaVersion`, `originDeviceId`. Prévoir contraintes d'unicité `(owner_user_id, resource_type, client_id)`, index pull incrémental `(owner_user_id, resource_type, server_updated_at)`, migrations et tests repository. \ No newline at end of file diff --git a/.ideai/tickets/index.json b/.ideai/tickets/index.json index 09483fb..f778346 100644 --- a/.ideai/tickets/index.json +++ b/.ideai/tickets/index.json @@ -537,11 +537,11 @@ "issueRef": "#47", "path": "47", "title": "[Server] Scaffolding serveur Dart headless hexagonal", - "status": "open", + "status": "closed", "priority": "low", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784411985578 + "updatedAt": 1784448362531 }, { "issueRef": "#48", @@ -557,11 +557,11 @@ "issueRef": "#49", "path": "49", "title": "[Server] Schéma PostgreSQL sync-ready GameTime", - "status": "open", + "status": "qa", "priority": "low", "sprint": null, "assignedAgentIds": [], - "updatedAt": 1784411997184 + "updatedAt": 1784448367646 }, { "issueRef": "#50",