gestion_table_tournante_libre/test
Mathieu Benoit 2d782f919f [ADD] storage: file format 2, tags, goals, converted journal
Tags on people and goals on tables are operator input that an older
build must not silently drop. Files written now carry format 2 with
every new field optional and last; a format-1 file opens with no write,
and its journal is rewritten as format 2 at the first gesture with every
revision rebuilt byte for byte, so undo crosses the conversion. An older
build opens a format-2 pair read-only. Tags follow one shared form and
split rule, which a guard forbids reimplementing.
Checked: node 4215, navigateur 884, node-long 113; a real format-1 event
written by the previous build stays a fixture; depot and journal 100%.

--- FR ---

[ADD] stockage : format 2, étiquettes, objectifs, journal converti

Les étiquettes des personnes et les objectifs des tables sont de la saisie
qu'une version antérieure ne doit pas perdre sans bruit. Les fichiers
écrits portent le format 2, chaque champ nouveau facultatif et en dernier ;
un fichier du format 1 s'ouvre sans écriture, et son journal passe au
format 2 au premier geste, chaque révision reconstruite à l'octet près :
Défaire traverse la conversion. Une version antérieure ouvre un couple du
format 2 en lecture seule. Une forme et une découpe uniques des étiquettes,
qu'une garde interdit de refaire ailleurs.
Vérifié : node 4215, navigateur 884, longues 113 ; un vrai événement du
format 1, écrit par la version précédente, reste en fixture ; 100 %.

Assisted-by: Claude Opus 5.5
2026-10-11 13:55:19 -04:00
..
fixtures [ADD] storage: file format 2, tags, goals, converted journal 2026-10-11 13:55:19 -04:00
navigateur [REF] event screen: no frame names, list summaries trimmed to use 2026-10-11 06:56:24 -04:00
arborescence.test.js [ADD] engine: criteria registry, priority tiers, goal matching 2026-10-11 13:45:29 -04:00
bandes.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
chargements.js [ADD] tests: spec coverage guards, delivery checks, spec corrections 2026-10-07 17:51:49 -04:00
chargements.test.js [ADD] tests: spec coverage guards, delivery checks, spec corrections 2026-10-07 17:51:49 -04:00
chromium.js [ADD] docs: photographed walkthrough publishes doc/captures 2026-10-09 15:33:59 -04:00
chromium.test.js [ADD] captures: headless mode, preview bar and machine identity checked 2026-10-10 18:54:15 -04:00
construction.long.test.js [IMP] interface: Noto Sans everywhere, faces loaded before mounting 2026-10-09 13:01:49 -04:00
contrat_fichiers.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
coquille.test.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
documentation.test.js [IMP] tooling: late off-loopback requests, version gap shown in tests 2026-10-10 20:17:25 -04:00
electron_factice.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
empreintes_moteur.js [ADD] engine tests: reference fingerprints of today's plans and ranking 2026-10-11 13:45:29 -04:00
fichiers_electron.long.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
fichiers_electron.test.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
fichiers_simules.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
fichiers_simules.test.js [FIX] core: bounded geometry, dated lock, empty seat, neighbour lists 2026-10-09 04:00:22 -04:00
fils.test.js [IMP] tests: watched series adapts to the core count, threads below 4 2026-10-06 04:54:01 -04:00
imprimante_simulee.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
imprimante_simulee.test.js [ADD] platform: print bridge, atomic byte writes, badge sheet file name 2026-10-09 15:26:13 -04:00
installation.test.js [ADD] run: make and ./run.sh, Electron start check, container matrix 2026-10-06 05:52:17 -04:00
lanceur.js [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
licence.test.js [ADD] interface: application shell — banner, sections, theme, about 2026-10-07 07:22:05 -04:00
livrable.test.js [FIX] interface: ghost labels, keyboard, valid HTML, closed data-* list 2026-10-09 04:02:03 -04:00
machine.js [FIX] interface: ghost labels, keyboard, valid HTML, closed data-* list 2026-10-09 04:02:03 -04:00
machine.test.js [FIX] interface: ghost labels, keyboard, valid HTML, closed data-* list 2026-10-09 04:02:03 -04:00
mutation.long.test.js [IMP] mutation: count long-series kills apart, test the audit end to end 2026-10-10 18:51:43 -04:00
pdf.js [ADD] badges: tests that fonts are subset and cut lines are thin 2026-10-10 18:50:40 -04:00
pdf.test.js [ADD] badges: tests that fonts are subset and cut lines are thin 2026-10-10 18:50:40 -04:00
polices.js [ADD] outputs: pdf-lib, Noto Sans, paper sizes, badge imposition 2026-10-09 04:49:18 -04:00
polices.test.js [IMP] interface: Noto Sans everywhere, faces loaded before mounting 2026-10-09 13:01:49 -04:00
projets.test.js [ADD] skeleton: Capacitor web app that shows its dated version 2026-10-05 13:13:13 -04:00
rapporteur.js [FIX] interface: ghost labels, keyboard, valid HTML, closed data-* list 2026-10-09 04:02:03 -04:00
rapporteur.test.js [FIX] interface: ghost labels, keyboard, valid HTML, closed data-* list 2026-10-09 04:02:03 -04:00
sources_interface.test.js [REF] interface: read every key through the shortcut table 2026-10-10 17:25:03 -04:00
temoin.js [ADD] outputs: pdf-lib, Noto Sans, paper sizes, badge imposition 2026-10-09 04:49:18 -04:00
version_voisine.js [ADD] electron: own shell, portable Windows exe built under podman 2026-10-05 13:13:32 -04:00