Second Brain documentation

ADR 0067 – Journée : ce qui s'est passé un jour donné

Accepté (2026-10-16, mode autonome)

← Toutes les décisions

ADR 0067 – Journée : ce qui s’est passé un jour donné

Statut : Accepté (2026-10-16, mode autonome)

Première idée de la vague 3 du document d’idées, prise par le fil « Documentation, puis capture en une ligne » quand le jalon 3 n’avait plus de ligne libre (demande d’Aurélien : un fil sans travail en reçoit). L’idée vient de Capacities : « une page par date qui liste ce qui a été créé, modifié et terminé ce jour-là, tirée de node_event. Une note du jour sans rien écrire. »

Décision

Calcul (serveur, lecture seule)

  • GET /api/journee?date=AAAA-MM-JJ&zone= (aujourd’hui par défaut, dans le fuseau du navigateur) lit les événements du jour (node_event, de minuit à minuit dans ce fuseau) et range chaque nœud dans une seule section :
    • Créés : un node.created ce jour ;
    • Terminés : sinon, un nœud qui est entré ce jour dans un état final de workflow (ADR 0026) et qui y est encore en fin de journée : une fin suivie d’une réouverture (retour à un état non final, annulation d’un lot, aspect retiré) ne compte pas. L’heure est celle de la dernière fin. Une fin portée par l’ajout d’un aspect déjà terminé (changement de type) n’est pas comptée. Avec plusieurs aspects à workflow, la fin de l’un suffit ;
    • Modifiés : sinon, tout autre événement du jour, avec le nombre d’actions (instants distincts : un enregistrement de fiche écrit plusieurs événements au même instant de transaction, il compte une fois) et l’heure de la première et de la dernière. Les écritures d’un connecteur comptent aussi.
  • Le moteur ne connaît ni les tâches ni « fait » : la fin vient des final des workflows de config/.
  • Un nœud passé ensuite à la corbeille reste listé, marqué ; un nœud purgé disparaît (plus de titre).
  • Garde-fous : 20 000 événements lus au plus (truncated signale une journée coupée), 200 nœuds par section, choisis après le tri (les plus récents des modifiés), avec les totaux exacts (createdTotal, completedTotal, modifiedTotal). Seuls les aspect.updated et aspect.removed sont lus avec leur charge utile : les autres (corps avant et après d’une modification) ne servent pas.
  • Pas d’index sur node_event.occurred_at : la lecture d’une journée reste rapide à l’échelle d’un usage personnel ; une migration l’ajoutera si le journal grossit beaucoup.

Interface

  • Page /journee (aujourd’hui) et /journee/AAAA-MM-JJ : titre « Journée » et date longue, jour précédent, jour suivant, « Aujourd’hui », choix d’une date (un jour réel seulement ; la saisie au clavier ne remplit pas l’historique du navigateur).
  • Trois sections avec leur compte : créés et terminés dans l’ordre du jour (heure), modifiés les plus récents d’abord (« 3 modifications », heure de la dernière). Chaque titre ouvre le nœud.
  • Entrée « Journée » dans la barre de gauche et commande de la palette Ctrl+K.

Alternatives écartées

  • Note du jour écrite (page créée chaque jour) : prévue en V2 ; la journée calculée ne demande rien.
  • Section dans le dashboard « Aujourd’hui » : l’accueil regarde vers l’avant (à faire, en retard) ; la journée regarde ce qui a été fait, y compris les jours passés.
  • Vue YAML : le langage des vues filtre des nœuds sur leurs champs, pas des événements datés.

Conséquences

  • Base d’un « bilan sobre » de la revue hebdomadaire (vague 3) : même lecture sur sept jours.