ADR 0071 – Domaines comme nœuds
Accepté (2026-10-16, mode autonome)
ADR 0071 – Domaines comme nœuds
Statut : Accepté (2026-10-16, mode autonome)
Vague 4 du document d’idées : le domaine d’un projet (logique PARA : un champ de vie sans fin, qui regroupe des projets) est aujourd’hui une énumération fixe de projet.domaine (perso, maison, administratif, travail). On ne peut ni ajouter un domaine sans toucher à config/, ni lui donner une fiche, un corps ou des vues.
Décision
Configuration seule, aucun changement du moteur.
- Aspect et type
domaine: description et « niveau attendu » (texte libre, indexés par la recherche). Un domaine est un nœud ordinaire : corps Markdown, tags, liens, corbeille. projet.domaineRef: champ référence (format: node-ref,x-target: { types: [domaine] }), titre « Domaine ». Le lien dérivédans-domaine(ADR 0033) en fait un lien « Domaine » sur le projet et le groupe « Projets » dans les rétroliens du domaine.- Vues :
domaines(dossier intelligent de l’arborescence, ADR 0058),projets-du-domaine(contextuelle, sur la fiche d’un domaine, ADR 0036 : projets ni terminés ni abandonnés, par échéance),projets-sans-domaine. - Tableau de bord
domaines(ADR 0038) : les domaines, les projets sans domaine, un modèle « Domaine » pour en créer. - Coexistence plutôt que migration : l’énumération
projet.domainereste, retitrée « Domaine (ancienne étiquette) ». Les données existantes, les modèles, la recherche à opérateurs (domaine:maison) et la capture continuent de fonctionner ; l’ancienne étiquette pourra être retirée quand tous les projets auront un domaine (la vue « Projets sans domaine » sert à le vérifier).
Alternatives écartées
- Migrer l’énumération en nœuds : il faudrait créer les nœuds et réécrire les projets au démarrage ; un champ calculé ou une règle de migration (jalon suivant) le fera mieux.
- Domaine parent du projet dans l’arbre : un projet a déjà une place dans l’arbre choisie par l’utilisateur ; le lien dérivé suffit pour regrouper sans déplacer.
- Tâches par domaine : les vues ne traversent pas une référence (
tache.projet.domaineRef) ; reporté avec un éventuel tableau de bord contextuel par domaine.
Conséquences
- Un domaine se crée depuis le modèle « Domaine » ou « + Nouveau ».
- Test :
ExampleDefinitionsTest(config valide) etDomainsIT(lien dérivé, vues, type de la cible). - Le modèle « Projet de rénovation » n’écrit plus l’ancienne étiquette (un domaine est un nœud, non portable dans un modèle) : un projet créé ainsi apparaît dans « Projets sans domaine » jusqu’à ce qu’on lui choisisse un domaine. L’aperçu au survol montre les deux champs.
- Un domaine mis à la corbeille garde ses références : ses projets quittent « Projets du domaine » mais ne passent pas dans « Projets sans domaine » avant restauration ou changement de domaine.