blog.vfg.lol

Plan prioritaire du 15 septembre : cohérence Flux / Journal / Santé

Pourquoi P0 a précédé Pulse, ce que le snapshot partagé a corrigé, et les preuves datées de la livraison 0.4.0

Après WP0–WP8, Fil capturait déjà. Pourtant Flux, Journal et Santé pouvaient encore raconter trois journées différentes. Le plan prioritaire du 15 septembre 2026 a choisi de fiabiliser d’abord la cohérence interne, puis la qualité amont — et de livrer fil@0.4.0 avec des preuves datées, pas une narration de roadmap.

La décision : P0 avant Pulse

Le dernier handoff captation proposait Pulse en premier. La revue du code a inversé l’ordre : des défauts correctibles dans Fil (périmètres Git divergents, budget avant tri, repliés inaccessibles, dispersion calculée sur le bruit) passaient avant l’ajout ou le nettoyage de sources.

Ordre retenu :

OrdreLotIntent
1–3P0-A / B / CMême instantané · classement consultable · bilans interprétables
4–5P1-A / BQualité Pulse · couverture historique Chronos
6P1-CParcours d’usage + livraison 0.4.0
7+P2Digests et extensions — après preuves P0/P1

Ce qui clochait (constats vérifiés dans le code)

P0-A — périmètres divergents. FilApp transmettait repoPaths à Flux, pas à Journal ni au bandeau Santé. Sans variables Git serveur, un commit visible dans Flux pouvait manquer ailleurs. captureFlows partageait le code de collecte, pas un instantané : deux appels successifs n’étaient pas la même lecture. Une source jamais interrogée (blog live hors collecte) pouvait paraître « vide observée ».

P0-B — budget avant tri. applySourceBudget précédait le tri de pagination : les meilleurs scores n’étaient pas garantis parmi les conservés. Une recherche ne retrouvait pas un item déjà retiré. « Voir plus » ne dépassait pas vraiment le Top-20.

P0-C — bilans ambigus. Dispersion Flux comptait le bruit ; le Journal l’excluait. Minutes API vs rollups incohérents. Journal court ou plafond Chronos 1000 événements sans état de couverture → risque de conclure à tort « journée vide ».

Livraison P0 : un instantané, un ordre, une couverture

CorrectifEffet
Collecte client partagéeMême snapshotId, mêmes repoPaths, même date de lecture pour Flux / Journal / Santé
Panne après succèsDonnées conservées, lecture périmée signalée
Source non interrogéeDistinguée d’une archive silencieuse observée
Pipeline Fluxfiltre → focus/score → tri → budget → pagination ; surplus et pages accessibles
Dispersionhorloge de l’instantané ; travail / échanges seulement
Journalsept jours calendaires ; couverture partielle Chronos / Pulse / Git exposée

Preuve P0 (handoff plan prioritaire)

ContrôleRésultat déclaré
npm test247/247 PASS
npm run buildPASS
npx eslint src testsPASS
tests/capture.browser.mjsPASS sur :4478, mobile et panne upstream inclus

Livraison P1 : qualité amont + curseur Chronos

LotMesure / livrable (sources handoff)
P1-A Pulse 1f9b393window=6h honoré ; volume observé 500 → 98 actes ; historique intact
P1-B Chronos 30456cdCurseur (at,id) ; 1005 événements sans perte/doublon (côté Chronos)
FilJusqu’à 20 pages / période ; serveur ancien → couverture partielle annoncée
Tests Fil après P1249/249 PASS · build · lint

Preuve P1-C (validation d’usage)

ContrôleRésultat déclaré
Scénario navigateurPASS sur :4478 · 161 items · journal cohérent · panne upstream sans erreur JS · mobile 390 px
Smoke post-npm startpage HTTP 200 · /api/flows?days=7 → 72 items · snapshotId présent
Couverture affichéechronos:partial,pulse:partial — attendu tant que Chronos ancien / Pulse borné

Package et tag documentés dans STATUS : fil@0.4.0 · tag local v0.4.0.

Ce qui attend encore (P2 et hors séquence)

  • Digests fil.journal.v1 de jours clos (après couverture vérifiable).
  • Blog / Telegram dans la chaîne FlowItem (ponts Inbox distincts aujourd’hui).
  • Scores Carte / Inbox, focus persistant — extensions, pas bloqueurs P0.
  • IdeaPit, sync multi-appareils, MCP produit — hors séquence prioritaire.

Le plan rappelle aussi : les chiffres « 201 / 245 items de bruit » sont une ancienne mesure captation ; à reprendre sur un échantillon frais avant citation permanente.

Non exécuté dans ce billet

  • Rejeu npm test / build / Playwright au moment de la rédaction éditoriale.
  • Certification runtime live de Pulse / Chronos / VFGate au moment de la publication.
  • Déploiement du curseur Chronos dans toutes les branches workspace (dépendance hors Fil).
  • Digests figés (non livrés).

Une phrase pour la suite

Fiabiliser la même vérité entre Flux, Journal et Santé valait mieux qu’une source de plus : le plan prioritaire l’a prouvé en chiffres, et la suite digests / bruit Pulse à la source ne reprend qu’après cette base.


Sources : docs/PLAN-PRIORITAIRE-2026-09-15.md, handoffs/2026-09-15-handoff-plan-prioritaire.md, STATUS.md, DERNIERE-INFO.md. Miroir : Chronowflow/docs/devblog/.

source markdown

Concepts de cet article

PulsehandoffVFGateIdeaPitMCP

Partage le plus de concepts avec