gestion_table_tournante_libre/src/stockage
Mathieu Benoit 4003b1f833 [ADD] storage: append-only journal, snapshots every fifty, undo threads
The journal is one JSON line per entry, after a line that pairs it with
its event by id. An entry carries its frozen label, a display timestamp,
and either a snapshot or a patch from the line before; a snapshot every
fifty revisions keeps any instant within 49 applications. Reading stops
at the first unreadable line and counts what it drops. Returns never
truncate: undo, redo and jumps are entries, and the current thread is
told from abandoned ones. Past 600 entries it prunes on a snapshot
boundary, never below 500.

Checked: unit tests, and every instant rebuilt over long sequences.

--- FR ---

[ADD] stockage : journal en ajout, instantané tous les cinquante, fils

Le journal est une ligne JSON par entrée, après une ligne qui l'apparie
à son événement par identifiant. Une entrée porte son libellé figé, un
horodatage d'affichage, et soit un instantané, soit un correctif depuis
la ligne précédente ; un instantané toutes les cinquante révisions tient
tout instant à 49 applications. La lecture s'arrête à la première ligne
illisible et compte ce qu'elle écarte. Revenir ne tronque jamais :
défaire, refaire et sauter sont des entrées, et le fil courant se
distingue des fils abandonnés. Au-delà de 600 entrées, élagage sur une
frontière d'instantané, jamais sous 500.

Vérifié : épreuves unitaires ; tous les instants reconstruits.

Assisted-by: Claude Opus 5.5
Claude-Session: https://claude.ai/code/session_01EUXSGcwCLSC69FWEdCtWSb
2026-10-06 14:45:56 -04:00
..
canonique.js [ADD] storage: event document, canonical form, consistency check 2026-10-06 13:11:34 -04:00
canonique.test.js [ADD] storage: event document, canonical form, consistency check 2026-10-06 13:11:34 -04:00
correctifs.js [ADD] storage: patches between two payloads, keyed by record id 2026-10-06 13:12:23 -04:00
correctifs.test.js [ADD] storage: patches between two payloads, keyed by record id 2026-10-06 13:12:23 -04:00
document.js [ADD] storage: event document, canonical form, consistency check 2026-10-06 13:11:34 -04:00
document.test.js [ADD] storage: event document, canonical form, consistency check 2026-10-06 13:11:34 -04:00
erreurs.js [ADD] storage: event document, canonical form, consistency check 2026-10-06 13:11:34 -04:00
journal.js [ADD] storage: append-only journal, snapshots every fifty, undo threads 2026-10-06 14:45:56 -04:00
journal.long.test.js [ADD] storage: append-only journal, snapshots every fifty, undo threads 2026-10-06 14:45:56 -04:00
journal.test.js [ADD] storage: append-only journal, snapshots every fifty, undo threads 2026-10-06 14:45:56 -04:00
noms.js [ADD] storage: event file names that Windows accepts, bounded paths 2026-10-06 13:11:37 -04:00
noms.test.js [ADD] storage: event file names that Windows accepts, bounded paths 2026-10-06 13:11:37 -04:00
placements.js [ADD] storage: positional placements, faulty versus stale propositions 2026-10-06 13:12:20 -04:00
placements.test.js [ADD] storage: positional placements, faulty versus stale propositions 2026-10-06 13:12:20 -04:00
systeme_fichiers.js [ADD] storage: file-system interface, failing test double, contract 2026-10-06 13:12:25 -04:00
systeme_fichiers.test.js [ADD] storage: file-system interface, failing test double, contract 2026-10-06 13:12:25 -04:00
types.js [ADD] storage: event document, canonical form, consistency check 2026-10-06 13:11:34 -04:00