Décidé et inscrit : thèmes du lot J complets (job + table d'agrégats, donc le §8.4 des CGU n'est pas à amender), meterZoneGPS sur mymuseum et visitapp-web, D3/D4 sans attendre D0, rate limiting et Customer Portal confirmés V1, lunettes Ray-Ban ramenées en V1, K9 (repasse visuelle de la borne, bento compris), déclenchement proactif ouvert à tous, miroir de la conversation vocale. Trois lignes du plan étaient périmées : le nettoyage de manager_api_new et la sécurité du lot A sont faits depuis un moment, et un PUT ApplicationInstance existe déjà. Deux documents affirmaient un fallback Voice vers Mobile qui n'existe pas — guide-ia-screen-plan.md et le commentaire d'AiController se confirmaient mutuellement. Le code fait un FirstOrDefault sur le canal exact puis Forbid() : envoyer AppType.Voice au chat sans ApplicationInstance de ce type rendrait 403 à chaque question. Corrigé côté doc ; le commentaire reste à corriger. Le vocal n'est donc pas un canal mais un attribut : marqué dans VisitEvent.Metadata, colonne JSON déjà existante, aucune migration. AppTypeDistribution compte une entrée par session et tranche sur l'événement le plus ancien — avec le miroir, une session est mixte, et un canal Voice aurait mesuré « sessions démarrées en vocal », pas la part du vocal. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Description
No description provided
Languages
HTML
52.5%
Python
17.7%
Jupyter Notebook
17.7%
TypeScript
8.2%
JavaScript
3.9%