refactor(wiki-log): Fragmentation de log.md en fichiers journaliers
Provenance : adapté depuis
fyl-guidelines#14. Fait partie de l'EPIC #3.
Contexte
log.md est un append-only ledger qui grossit indéfiniment. Les guides d'ingestion demandent de le relire pour repérer des patterns — un coût de contexte croissant sans plafond, qui se matérialise dès que le wiki accumule plusieurs semaines d'opérations.
Détails d'implémentation
- Basculer de
wiki/log.mdverswiki/log/YYYY-MM-DD.md(un fichier par jour d'opération). - Créer
wiki/log/README.md(ou index) listant les fichiers journaliers en ordre chronologique inverse, résumé d'une ligne par jour. - Mettre à jour l'agent
ingestpour écrire dans le fichier du jour courant. Étendu àconsolidateetmigrate, qui écrivaient eux aussi danswiki/log.mdet dont le gabarit d'entrée ne suivait pas le format## [YYYY-MM-DD] type | title— corrigé, sinon le parseur mécanique degenerate-log-index.mjsles aurait silencieusement ignorées. - Mettre à jour
docs/llm-wiki-INGESTION_GUIDE.mdpour ne recommander la lecture que des N derniers fichiers journaliers par défaut (N configurable), pas l'historique complet. -
Non prévu par le ticket d'origine, nécessaire vu l'architecture config-driven de llm-wiki : contrairement à
fyl-guidelines#14, qui suppose 4 dossiers fixes (features/topics/concepts/usecases), l'extraction mécanique des citations (slugExtractor.mjs) est ici pilotée par lestypes[].folderdewiki.config.json— un projet qui renomme ses dossiers (modules/,services/...) continue de fonctionner. Couvert par des tests avec des noms de dossiers custom. -
Adaptation du site builder (composant absent de fyl-guidelines) :
scripts/wiki-site/lib/paths.jsreconnaît désormais une entréenavPagespointant vers un fichier niché dans un sous-dossier (log/README.md), pour que la page "Journal"/"Changelog" continue d'être générée ;types[].folder: "log"est refusé à la validation (nom réservé). Couvert parpaths.test.mjs/config.test.mjs. - Outillage exposé via
npm run wiki:log:migrate/npm run wiki:log:index.
Limite connue
La recherche côté site n'indexe plus le texte intégral des entrées de log (seul log/README.md — dates/slugs/résumés — devient une page buildée ; les fichiers journaliers eux-mêmes sont exclus du build, comme de l'inventaire de pages citables). Détail et justification en commentaire sur !1 (merged).
Critères d'acceptation
-
Format log/YYYY-MM-DD.mdimplémenté et documenté -
log/README.md(ou équivalent) généré et à jour -
Agent ingestécrit dans le fichier du jour courant (+consolidate,migrate, alignés sur le même format) -
Guide d'ingestion mis à jour pour limiter la lecture aux N derniers jours -
Script de migration fourni pour les forks ayant déjà un log.mdmonolithique, généralisé aux dossiers de type custom
Voir !1 (merged).
Edited by Fabrice deprez