Second Brain documentation

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)

← Toutes les décisions

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. tache déclare deferUntil: 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: true dans le YAML d’une vue ;
    • le paramètre showDeferred des 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.

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: true pour 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.debut en ligne dans la table laisse la ligne affichée jusqu’au prochain chargement.