ADR 0039 – Masquer un nœud des vues jusqu'à sa date de début
Accepté (2026-10-16, mode autonome ; vague 1 validée par Aurélien le 2026-10-15)
ADR 0039 – Masquer un nœud des vues jusqu’à sa date de début
Statut : Accepté (2026-10-16, mode autonome ; vague 1 validée par Aurélien le 2026-10-15)
Contexte
Une tâche qui ne commence que dans trois semaines encombre les vues « à faire ». Aurélien veut que tache.debut la masque jusqu’à cette date, avec une option pour l’afficher quand même.
Décision
-
Clé d’aspect
deferUntil: <champ>. Le champ doit être une date (type: string,format: date), ce que le chargeur vérifie.tachedéclaredeferUntil: debut. Le moteur ne connaît que la clé : aucun nom de domaine dans le code. -
Toutes les vues masquent un nœud qui porte un tel aspect et dont la date est après aujourd’hui, dans le fuseau de la requête. La condition ajoutée est
!(aspect.champ > today): une date absente, passée ou égale à aujourd’hui laisse le nœud visible. Elle s’ajoute aux autres conditions, quelle que soit la vue (table, liste, kanban, contextuelle). -
Afficher quand même :
query.showDeferred: truedans le YAML d’une vue ;- le paramètre
showDeferreddes résultats (true/false), qui l’emporte sur la vue.
La réponse indique les champs concernés (
deferredBy) et le choix appliqué (showDeferred). -
Compte : la réponse donne aussi
deferredCount, le nombre de nœuds de la vue qui commencent plus tard (une requête de comptage de plus). -
Interface :
- la page d’une vue propose la case « Montrer aussi ce qui commence plus tard (N) » dès que N > 0 ou que la case est cochée ; son état est dans l’URL (
?showDeferred=true) et un échec la rétablit ; - une section du panneau de contexte annonce « + N qui commencent plus tard », avec un lien vers la page de la vue où ils sont montrés.
- la page d’une vue propose la case « Montrer aussi ce qui commence plus tard (N) » dès que N > 0 ou que la case est cochée ; son état est dans l’URL (
Alternatives écartées
- Écrire la condition dans chaque vue (
tache.debut == null || tache.debut <= today) : c’est possible avec le langage de l’ADR 0028, mais facile à oublier dans une nouvelle vue, et l’interface ne pourrait pas proposer l’option de façon générique. - Ne masquer que dans les vues qui citent l’aspect (
query.aspects) : une vue sur un type, ou sans filtre d’aspect, montrerait des tâches pas encore commencées. La règle globale est plus prévisible.
Conséquences
- Une vue « Plus tard » ou « À venir » doit déclarer
showDeferred: truepour retrouver ces nœuds. - La fiche du nœud, l’arbre, la recherche et l’inbox ne sont pas concernés : seul le moteur de vues masque.
- Le kanban ne montre ni ne compte (limite WIP) une carte masquée.
- Modifier
tache.debuten ligne dans la table laisse la ligne affichée jusqu’au prochain chargement.