You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
🚧 Draft — à instruire. Description courte volontairement : le périmètre, les critères
d'acceptation et le découpage en tâches restent à écrire avant de démarrer.
De quoi il s'agit
apps/web est aujourd'hui une coquille : app.tsx affiche un titre et « Interface a construire ».
Son propre commentaire pose la condition — « The split into feature slices (ADR 0002) starts with
the first real feature — uploading a shelf photo. Nothing to extract as long as there is nothing
inside. » C'est cette première slice que porte l'issue : prendre une photo d'étagère depuis un
téléphone, l'envoyer, afficher les couples (auteur, titre, confiance) détectés.
C'est aussi ce qui rend la V1 démontrable autrement qu'au curl, et le premier endroit où le
découpage feature-slice du front cesse d'être théorique.
À instruire
Parcours : capture ou sélection depuis mobile, aperçu, envoi, états d'attente et d'erreur.
Ce qu'on montre de la confiance : la masquer, la signaler, ou permettre d'écarter les
détections faibles (l'ADR 0005 expose une confiance par livre précisément pour ça).
Première feature-slice : structure, et ce qui doit passer par libs/shared/* plutôt que d'être
importé d'une autre slice.
Tags Nx à poser, stratégie de test (Vitest + Testing Library, déjà en place).
Texte affiché en français — c'est du produit (CLAUDE.md) ; le code reste en anglais.
Dépendances
Dépend de #10 : sans l'endpoint POST /scan et son contrat, il n'y a rien à appeler. C'est la
seule des issues ouvertes qui ne soit pas autonome — elle est ouverte pour être tracée, pas pour être
prise maintenant.
Références
ADR 0002 (feature-slice, une slice n'importe pas l'intérieur d'une autre), ADR 0005 (confiance par
livre détecté), #10 (contrat de POST /scan), apps/web/src/app/app.tsx, CLAUDE.md (français côté
produit).
De quoi il s'agit
apps/webest aujourd'hui une coquille :app.tsxaffiche un titre et « Interface a construire ».Son propre commentaire pose la condition — « The split into feature slices (ADR 0002) starts with
the first real feature — uploading a shelf photo. Nothing to extract as long as there is nothing
inside. » C'est cette première slice que porte l'issue : prendre une photo d'étagère depuis un
téléphone, l'envoyer, afficher les couples
(auteur, titre, confiance)détectés.C'est aussi ce qui rend la V1 démontrable autrement qu'au
curl, et le premier endroit où ledécoupage feature-slice du front cesse d'être théorique.
À instruire
POST /scan(multipart ou base64) et restitution des erreurs — image invalide(400) vs échec du fournisseur (502/503), à aligner sur ce que feat(recognition): V1 reconnaissance texte sur photo d'étagère — adapters VLM (Gemini + Qwen) derrière ShelfScannerPort + endpoint POST /scan #10 fixe.
détections faibles (l'ADR 0005 expose une confiance par livre précisément pour ça).
libs/shared/*plutôt que d'êtreimporté d'une autre slice.
CLAUDE.md) ; le code reste en anglais.Dépendances
Dépend de #10 : sans l'endpoint
POST /scanet son contrat, il n'y a rien à appeler. C'est laseule des issues ouvertes qui ne soit pas autonome — elle est ouverte pour être tracée, pas pour être
prise maintenant.
Références
ADR 0002 (feature-slice, une slice n'importe pas l'intérieur d'une autre), ADR 0005 (confiance par
livre détecté), #10 (contrat de
POST /scan),apps/web/src/app/app.tsx,CLAUDE.md(français côtéproduit).