chore(ideai): état d'orchestration du sprint serveur headless (#65, #68-#70)
État durable de `.ideai/` accumulé pendant le chantier `idea-serve`, séparé du code applicatif conformément aux précédents `8e481ae` / `ad1f225`. - Tickets : #13 clôturé (server/client mode livré), #65 passé en QA avec son carnet de chantier complet (arbitrages Architect sur le propriétaire canonique des DTO, structure livrée, vérif QA, incident de topologie et sa leçon). #64/#66/#67 rattachés au sprint. Nouveaux tickets #68 (activer le serveur depuis le desktop, dépend de #65), #69 (adaptabilité client téléphone, en QA) et #70 (gestion des modèles locaux llama.cpp). - Mémoire : note `web-client-is-single-column-no-desktop-shell` — le client web n'a pas de shell desktop, à lire avant tout cadrage responsive sur cette surface. - Journal des tâches de fond : complétions enregistrées. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -0,0 +1,44 @@
|
||||
---
|
||||
name: web-client-is-single-column-no-desktop-shell
|
||||
description: memory note web-client-is-single-column-no-desktop-shell
|
||||
metadata:
|
||||
type: project
|
||||
---
|
||||
# Le client web n'a pas de shell desktop (ni docks, ni layout grid)
|
||||
|
||||
Constat établi en livrant le ticket #69 (adaptibilité téléphone), sur `develop @ 506d589`.
|
||||
|
||||
## Le fait
|
||||
|
||||
Le client web livré par #13 (`VITE_TRANSPORT=http`) **n'a jamais eu** de docks
|
||||
gauche/droite, de fenêtres flottantes, de `LayoutTree`, de tabs projet, de menus ni
|
||||
de toasts. `main.tsx` route `isWeb` vers `WebApp`, qui est une surface autonome :
|
||||
|
||||
- `WebApp` → `PairingScreen` **ou** `WebWorkspace` (rien d'autre) ;
|
||||
- `WebWorkspace` → une **colonne verticale unique** (`flex flex-col overflow-y-auto`) ;
|
||||
- `WebAgentCell` → `TerminalView`.
|
||||
|
||||
Les seuls imports `@/features/*` de tout `features/web/` sont `terminals` et
|
||||
`workstate/useProjectWorkState`. Le shell desktop (`App`, layout, docks) n'est
|
||||
atteignable que par la branche non-web de `main.tsx`.
|
||||
|
||||
## Pourquoi ça compte
|
||||
|
||||
Le cadrage de #69 prévoyait un lot « remplacer les docks gauche/droite/floating par
|
||||
une pile verticale, drawer ou bottom sheet ». Ce lot était **sans objet** : il n'y a
|
||||
pas de dock à remplacer, et l'arbitrage produit « bottom sheet vs drawer » ne se pose
|
||||
pas sur cette surface. Le vrai travail téléphone était ailleurs (terminal xterm
|
||||
pilotable au doigt, `dvh`, safe-area, rangées qui débordent à 360px).
|
||||
|
||||
**Avant de cadrer un ticket « responsive / mobile » sur le client web, partir de
|
||||
`features/web/`, pas du shell desktop.** Les deux surfaces ne partagent que
|
||||
`TerminalView` et les hooks transport-neutres.
|
||||
|
||||
## Garde en place
|
||||
|
||||
`frontend/src/features/web/WebMobile.test.tsx` épingle la frontière : le client web
|
||||
ne doit monter aucun `layout-grid` / `layout-grid-container` / `layout-split` /
|
||||
`layout-tabs`. Si un jour on veut du desktop-shell dans le web, ce test tombe — et
|
||||
c'est le signal qu'il faut re-cadrer, pas le supprimer.
|
||||
|
||||
Voir aussi [[ui-rework-sprint-scoping-contracts]].
|
||||
Reference in New Issue
Block a user