L'admin (vaults: ["*"]) voyait le home de chaque utilisateur dans sa
barre latérale : "*" ouvrait tous les vaults, home-* compris.
- backend/auth/middleware.py : check_vault_access exige un octroi
explicite pour tout vault home-* (nouveau is_home_vault()).
- Filtres « * » en dur remplacés par check_vault_access : dashboard,
conflits, liens retour, favoris, abonnements push.
- /api/search : search_vaults(is_allowed=…) filtre les bruts avant
pagination (total et page restent justes).
- backend/user_home.py : _grant n'écarte plus les comptes « * » —
l'admin reçoit son propre home-admin (auto-réparé au démarrage).
- Tests : test_user_home.py +2, assertion API inversée dans
test_auth_api.py (admin ne voit plus home-alice).
- backend/user_home.py : ensure_user_home()/release_user_home() idempotents
(mkdir, vault, watcher, octroi dans user.vaults), rappelés à la création
d'un compte et au démarrage (migration + réparation + sweep des vaults
home-* orphelins), dossier conservé à la suppression.
- backend/indexer.py : data/vaults.json, registre persistant des vaults
ajoutés à la volée, fusionné par load_vault_config() — ils disparaissaient
au premier reindex complet et au redémarrage. reload_single_vault remet
vault_config[name] après remove_vault_from_index.
- backend/auth/router.py + routers/vaults.py : appels ensure/release +
persistance à l'ajout/retrait d'un vault.
- docker-compose.yml : montage unique /NFS/OBSIDIAN_DOC/Home:/vaults/Home +
OBSIGATE_HOME_ROOT (absente = fonctionnalité inactive).
- Tests : tests/test_user_home.py (12) + tests/test_auth_api.py::TestUserHome (2).