Livrable 00
Synthèse
Phase architecture. Aucun établissement. Aucun partenariat. Aucun prix. Aucune performance mesurée. Rien n'est implémenté.
Le canon est ce dossier (00 à 30). Les notes docs/agents/ sont des contributions croisées, pas une seconde vérité. En cas d'écart, le canon gagne. Les arbitrages clos sont recopiés dans docs/decisions/ ; le registre des risques reste le document 26. Les ADR sont dans docs/adr/.
Carte des 30
| # | Livrable | Fichier |
|---|---|---|
| 1 | Vision | 01-product-vision.md |
| 2 | Positionnement | 02-competitive-positioning.md |
| 3 | IA client | 03-ia-client.md |
| 4 | IA pro | 04-ia-pro.md |
| 5 | IA admin / City OS | 05-ia-admin.md |
| 6 | City DNA | 06-city-dna.md |
| 7 | Config Orléans (brouillon) | 07-orleans-config.md |
| 8 | Parcours client | 08-journeys-client.md |
| 9 | Parcours pro | 09-journeys-pro.md |
| 10 | ERD | 10-erd.md |
| 11 | API | 11-api.md |
| 12 | Live engine | 12-live-freshness-trust.md |
| 13 | Freshness | 12-live-freshness-trust.md |
| 14 | Recherche | 15-search.md |
| 15 | Recommandation | 16-reco-ai.md |
| 16 | Planificateur IA | 16-reco-ai.md |
| 17 | Carte | 17-map.md |
| 18 | Sécurité | 18-security-rbac.md |
| 19 | RBAC | 18-security-rbac.md |
| 20 | Privacy | 20-privacy.md |
| 21 | SEO | 21-seo.md |
| 22 | Analytics | 22-analytics.md |
| 23 | Monétisation | 23-monetization.md |
| 24 | MVP | 24-mvp-roadmap.md |
| 25 | P1 / P2 / P3 | 24-mvp-roadmap.md |
| 26 | Risques | 26-risks.md |
| 27 | Architecture technique | 27-technical-architecture.md |
| 28 | Dépôt | 28-repository.md |
| 29 | Déploiement | 29-deployment.md |
| 30 | Backlog | 30-backlog.md |
Décisions qui ne bougent pas
- Une app, trois espaces, un graphe,
city_idpartout. Orléans = ligne de configuration. - LIVE est un prédicat de validité, pas un websocket et pas une foule.
- L'organique n'achète pas. Sponsorisé = slot ajouté, label, sans retirer l'id de la liste organique.
- L'IA ne crée pas d'entités.
- Compte non obligatoire pour découvrir.
- PostGIS, Redis, tuiles, Stripe, e-mail, routing : prévus derrière des interfaces, non contractés.
- Stack de livraison : TanStack Start, pas un second frontend Next.js.
- Ville publiable seulement après checklist humaine. Pas de seed d'enseignes.
Arbitrages clos (revue croisée)
Ces huit points contredisaient le canon. Ils sont tranchés ici. Le détail est dans le livrable cité. Un agent qui dit l'inverse est périmé.
| # | Sujet | Décision |
|---|---|---|
| A1 | Source ≠ statut | Trois axes : source_type, verification_status, temporal_status. Phrase UI composée. BUSINESS_VERIFIED n'est pas VERIFIED. Doc 12. |
| A2 | Temps | Fenêtres dans la DNA (time_windows). Semaine DNA = ISO 1–7. Horaires = 0–6, 0 = lundi. closed_until = CLOSED_OVERRIDE, pas EXPIRED. Pas de minutes de marche inventées. Doc 06, 10, 12. |
| A3 | Alcool | modules.nightlife peut être on. legal_gates.alcohol_ads reste off. Doc 06, 07. |
| A4 | Territoire | Pas de table districts. Une zone, une URL /{city}/zones/{slug}. centre-ville est une zone. concerts n'est pas une route en dur. Un événement publié a un lieu ou une zone. Doc 03, 07, 10, 21. |
| A5 | Mesure | Trois classes : sécurité, agrégat opérationnel, mesure consentie. Le pro ne voit pas un zéro muet. booking_click ≠ réservation. Doc 22. |
| A6 | Gratuit et sponsorisé | Un quota de publications n'expulse pas un lieu de Now. L'organique est identique avec ou sans campagne. plans = abonnements. night_plans = soirées. Doc 08, 10, 23. |
| A7 | Ingestion | États de pipeline explicites. human_review hors héros. Mise en avant = rail « Sélection locale », hors score. soft_launch invisible au public. Rollback DNA a un endpoint. Doc 05, 07, 11. |
| A8 | RBAC | Un compte peut revendiquer un autre lieu. L'éditeur ne touche pas aux horaires. Pas de badge public sur un signalement OPEN. Doc 18. |
Orchestration
Le mandat demandait 100 agents en même temps. Ce runtime en lance 16 au plus. Les missions sont parties en vagues, chacune avec un fichier dans docs/agents/ (55 notes, classées par thème, pas 100). La synthèse ne moyenne pas : le canon gagne, les contradictions sont les arbitrages A1–A8. Une note d'agent qui contredit ce dossier est périmée. Rien de tout cela n'est du code produit.