# L2 — Projets & stockage

**Binôme :** `dev-projects` / `test-projects`
**Zones :** `application/project`, `infrastructure/{fs,store}`, `frontend/features/projects`
**Dépendances amont :** L0, L1.

## Objectif
Gérer le cycle de vie des projets (création par project root, ouverture, fermeture) et le stockage de base.

## Périmètre (DEV)
- Use cases : `CreateProject` (init `.ideai/` + `project.json` + registre), `OpenProject`, `CloseProject`/`CloseTab`.
- Adapters : `LocalFileSystem` (tokio::fs), `FsProjectStore` (registre projets + workspace en JSON dans données app).
- UI : sélection du project root, liste des projets, ouverture en onglet.

## Périmètre (TEST)
- Use cases avec `FileSystem`/`ProjectStore` mockés : création initialise bien `.ideai/`, invariants projet respectés (root absolu, unicité `(remote, root)`).
- Intégration ciblée : `LocalFileSystem` sur tmpdir, `FsProjectStore` round-trip.
- Front : feature projects avec gateway mock (RTL).

## Definition of Done
- `cargo test -p application -p infrastructure` (filtré projet) + `vitest` verts.
- Créer/ouvrir/fermer un projet de bout en bout (avec adapters réels en dev manuel).
