Commit graph

10 commits

Author SHA1 Message Date
fa2fc0eb2b [UPD] spec: storage, CSV and workstation rules as the code has them
The spec said less than the code enforces, so a reader could not tell a rule
from an accident. It now states: ten minutes of inactivity before read mode
(§ 8.4); reglages_locaux.json (§ 8.5); the probe that creates the chosen
working folder, the temporary Chromium profile, and the name bound on the
longest path an event writes, trash and atomic write included (§ 8.6); the
proposition counter and per-proposition seat flag (§ 8.9); the closed list of
exclu values, encoding refusals and the one-column file (§ 10.1); the layer
and determinism guards, the coverage floors, and the workstation (§ 13, § 16).
Checked: 1266 node tests on the result.

--- FR ---

[UPD] spec : stockage, CSV et poste de développement selon le code

Le spec en disait moins que le code n'en impose : un lecteur ne distinguait
pas une règle d'un hasard. Il énonce désormais : dix minutes d'inactivité
avant la lecture (§ 8.4) ; reglages_locaux.json (§ 8.5) ; la sonde qui crée le
dossier de travail retenu, le profil temporaire de Chromium et la borne posée
sur le plus long chemin écrit, corbeille et écriture atomique comprises
(§ 8.6) ; le compteur des propositions et le drapeau des sièges (§ 8.9) ; la
liste fermée d'exclu, les refus d'encodage, le fichier à une colonne
(§ 10.1) ; les gardes des couches et du déterminisme, les seuils de
couverture et le poste de développement (§ 13, § 16).
Vérifié : 1266 épreuves node sur le résultat.

Assisted-by: Claude Opus 5.5
Claude-Session: https://claude.ai/code/session_01EUXSGcwCLSC69FWEdCtWSb
2026-10-06 20:42:00 -04:00
de46c582f4 [IMP] tests: watched series adapts to the core count, threads below 4
Below four cores the runner carried the watched series in one process,
and a relaunch after a base module took 2.5 to 3 s, over the 2 s budget
of § 14.14. The configuration now reads the cores the process may use:
from four, full processes and the whole series, as before; below, threads
on every core, and the end-to-end test moves to the long series. No test
disappears or changes behaviour. A guard refuses, in these series, what a
thread refuses and a process accepts; the reporter names the mode.

Checked: relaunch on 2 cores 1.0 to 1.3 s, was 2.5 to 3.0; on 4 cores
1.2 to 1.5 s; process.env is copied per thread, measured.

--- FR ---

[IMP] épreuves : la série surveillée suit les cœurs, threads sous 4

Sous quatre cœurs, le lanceur portait la série surveillée dans un seul
processus, et une relance après un module de base prenait 2,5 à 3 s,
au-delà du budget de 2 s du § 14.14. La configuration lit les cœurs que
le processus peut occuper : à partir de quatre, processus complets et
série entière, comme avant ; en deçà, threads sur tous les cœurs, et
l'épreuve de bout en bout passe dans la série longue. Aucune épreuve ne
disparaît ni ne change. Une garde refuse dans ces séries ce qu'un thread
refuse et qu'un processus accepte ; le rapporteur nomme le mode.

Vérifié : relance sur 2 cœurs en 1,0 à 1,3 s, contre 2,5 à 3,0 ; sur 4
cœurs en 1,2 à 1,5 s ; process.env est copié par thread, mesuré.

Assisted-by: Claude Opus 5.5
2026-10-06 04:54:01 -04:00
1910e207cb [FIX] tests: four-core budget, quoted values, key guard, switch floor
The relaunch budget of § 14.14 was out of reach on two cores whatever the
tests did; the spec now names its reference machine, four cores, and the
watched series drops a 200 000-move search the long series already runs.
The itinerary guard quotes a string value as the indexed-plan guard does,
through one shared helper. The key-order guard no longer mistakes the
JSDoc type {Object[]} for a computed access, and the property grid counts
the proposals that switch to the constraint order, under a floor.

Checked: 456 node tests in 1.8 s; each new test failed first; cutting the
descent to one move drops the switch count from 86 to 30, under its floor.

--- FR ---

[FIX] épreuves : budget sur quatre cœurs, citation, clés, bascule

Le budget de relance du § 14.14 était hors d'atteinte sur deux cœurs,
quoi que fassent les épreuves ; le spec nomme désormais sa machine de
référence, quatre cœurs, et la série surveillée quitte une recherche de
200 000 mouvements que la série longue joue déjà. La garde d'itinéraire
cite une chaîne comme la garde du plan indexé, par un seul assistant. La
garde de l'ordre des clés ne prend plus le type JSDoc {Object[]} pour un
accès calculé, et la grille compte, sous un plancher, les propositions
qui basculent dans l'ordre des contraintes.

Vérifié : 456 épreuves node en 1,8 s ; chaque épreuve nouvelle a échoué
d'abord ; une descente coupée au premier mouvement fait tomber les
bascules de 86 à 30, sous leur plancher.

Assisted-by: Claude Opus 5.5
2026-10-06 04:26:08 -04:00
6c67cba949 [IMP] engine: single owners, regeneration, property grid
The search recomputed the collision excess and the gaps that the measure
already gives — two arithmetics for one quantity. It now reads them from
the measure, and the redundancy total has one owner. Contract values, the
indexed-plan guard and the population split are defined once. regenerer
rebuilds a proposition from its derived seed, stop count and history
length, which the spec now lists (§ 8.9). A property grid runs seeded
random rooms through the whole chain.

Checked: 435 node and 20 long tests; redefining the excess or the gaps in
the measure now fails the search tests too.

--- FR ---

[IMP] moteur : propriétaires uniques, régénération, grille de propriétés

La recherche recalculait l'excédent de collisions et les écarts que la
mesure donne déjà — deux arithmétiques pour une grandeur. Elle les lit
désormais dans la mesure, et le total de redondance a un seul
propriétaire. Valeurs du contrat, garde du plan indexé et partition des
populations sont définies une fois. regenerer reconstruit une proposition
depuis sa graine dérivée, son arrêt et la longueur de son historique,
que le spec énumère désormais (§ 8.9). Une grille de propriétés fait
traverser toute la chaîne à des salles tirées d'une graine.

Vérifié : 435 épreuves node et 20 longues ; redéfinir l'excédent ou les
écarts dans la mesure fait désormais tomber aussi la recherche.

Assisted-by: Claude Opus 5.5
2026-10-06 04:23:02 -04:00
a3354e2b0b [ADD] electron: own shell, portable Windows exe built under podman
The deliverable is a single-file portable executable whose Electron the
project updates itself. The shell keeps context isolation on, Node
integration off and the page sandboxed; one IPC channel returns the
folder the portable launcher publishes. The build runs in a no-Wine image
pinned by digest, relays no host variable, refuses to overwrite a built
number, removes what a failed build leaves, and accepts only the name
version.json gives. The spec stops claiming the portable target needs
Wine.

Checked: exe built in 86 s, resource FileVersion 2026.1005.1.0 and
© 2026 TechnoLibre; 109 node tests pass; two end-of-build mutations fail.

--- FR ---

[ADD] electron : coquille propre, exécutable portable construit sous podman

Le livrable est un exécutable portable à fichier unique, dont le projet
met lui-même Electron à jour. La coquille garde l'isolation de contexte,
coupe l'intégration de Node et isole la page ; un seul canal IPC rend le
dossier que publie le lanceur portable. La construction s'exécute dans
une image sans Wine épinglée par empreinte, ne relaie aucune variable de
l'hôte, refuse d'écraser un numéro construit, retire ce qu'un échec
laisse, et n'accepte que le nom que donne version.json. Le spec cesse
d'affirmer que la cible portable exige Wine.

Vérifié : exécutable construit en 86 s, ressource FileVersion
2026.1005.1.0 et © 2026 TechnoLibre ; 109 épreuves node passent ; deux
mutations du contrôle de fin échouent.

Assisted-by: Claude Opus 5.5
2026-10-05 13:13:32 -04:00
7e1042aacd [UPD] spec: Capacitor replaces Cordova, own Electron shell for Windows
The only route from Cordova to a Windows executable is cordova-electron,
whose latest stable release pins Electron 29, out of support. Capacitor
offers no maintained desktop platform either, so the executable now
ships a project-owned Electron shell packaged by electron-builder, which
sets its own Electron version and the exe name directly. The shell hosts
the file system and printing boundaries behind a narrow preload bridge,
with context isolation on and Node integration off in the page.

Checked: no Cordova mention left; every internal reference resolves.

--- FR ---

[UPD] spec : Capacitor remplace Cordova, coquille Electron pour Windows

Le seul chemin de Cordova vers un exécutable Windows est
cordova-electron, dont la dernière version stable épingle Electron 29,
hors support. Capacitor n'offre pas non plus de plateforme de bureau
maintenue : l'exécutable embarque donc une coquille Electron propre au
projet, emballée par electron-builder, qui fixe elle-même sa version
d'Electron et le nom de l'exécutable. La coquille porte le système de
fichiers et l'impression derrière un pont de préchargement étroit,
isolation de contexte active et intégration de Node coupée.

Vérifié : plus aucune mention de Cordova ; chaque renvoi interne résout.

Assisted-by: Claude Opus 5.5
2026-10-05 06:57:26 -04:00
44553c3544 [UPD] spec: collision excess ranks, both papers, 30-minute search
Five operator answers, one of which reverses a ranking.

Meeting the same colleague four times is worse than meeting six
colleagues once. Neither cumulative collisions nor distinct pairs
yields that order — both rank the concentrated plan first, exactly
backwards. The excess, cumulative minus distinct, yields it, and now
opens the collision ranking; distinct pairs stop being a sort key and
stay a column. Both paper sizes become first-class, each with its own
imposition and its own pagination test. The search stop count carries a
thirty-minute ceiling, so a long run announces its expected duration
first, leaves the interface alive, and cancels immediately.

Checked: with excess first, the three plans order 0 < 2 < 3 as the
operator stated; under either count alone the order inverts.

--- FR ---

[UPD] spec : l'excédent classe, les deux papiers, recherche de 30 min

Cinq réponses de l'opérateur, dont une renverse un classement.

Retrouver quatre fois le même collègue est pire que croiser six
collègues une fois. Ni les collisions cumulées ni les paires distinctes
ne rendent cet ordre — les deux classent le plan concentré en tête,
exactement à l'envers. L'excédent, cumulées moins distinctes, le rend,
et ouvre désormais le classement des collisions ; les paires distinctes
cessent d'être une clé de tri et restent une colonne. Les deux formats
de papier passent à égalité, chacun avec son imposition et son épreuve
de pagination. Le compte d'arrêt reçoit un plafond de trente minutes :
un calcul long annonce sa durée, laisse l'interface vivante, s'annule.

Vérifié : excédent d'abord, les trois plans s'ordonnent 0 < 2 < 3 comme
l'opérateur l'énonce ; sous l'un ou l'autre compte seul, l'ordre
s'inverse.

Assisted-by: Claude Opus 5
2026-10-05 06:27:10 -04:00
3b16be48b3 [UPD] spec: dated version, badges, tests, screenshots, lack metric
Six requirements enter the specification, and each one forced an
existing section to change rather than sit beside it.

The dated version AAAA.MM.JJ.NN derives a technical form MM×100+JJ,
which is monotone, bijective and fits the 16 bits Windows gives each
resource field; one source, four destinations, a check that refuses
divergence. PDF now serves one output only, the A6 badge sheet, which
removes the sole assumption the output architecture rested on. Raw
numbers stop comparing proposals as soon as a table is incomplete, so
the comparison draws the lack — realised ceiling minus encounters —
measured on occupancy, never on capacity.

Checked: 257 badges give 65 A4 sheets and 129 Letter; the four
facilitators of the 7-seat tables cap at 24, so the large demonstration
can never award "minimum reached".

--- FR ---

[UPD] spec : version datée, badges, tests, captures, métrique du manque

Six exigences entrent dans la spécification, et chacune a forcé une
section existante à changer plutôt qu'à s'asseoir à côté.

La version datée AAAA.MM.JJ.NN dérive une forme technique MM×100+JJ,
monotone, bijective, qui tient dans les 16 bits que Windows donne à
chaque champ de ressource ; une source, quatre destinations, un
contrôle qui refuse la divergence. Le PDF ne sert plus qu'à une sortie,
la planche de badges A6, ce qui retire la seule supposition sur
laquelle reposait l'architecture de sortie. Les nombres bruts cessent
de comparer deux propositions dès qu'une table est incomplète, donc la
comparaison trace le manque — plafond réalisé moins rencontres —
calculé sur l'occupation, jamais sur la capacité.

Vérifié : 257 badges donnent 65 planches A4 et 129 Lettre ; les quatre
animateurs des tables de 7 plafonnent à 24, donc la grande
démonstration ne peut jamais décerner « minimum atteint ».

Assisted-by: Claude Opus 5
2026-10-05 06:11:51 -04:00
41e24fb08e [UPD] spec: events, reservations, diversity, quality page, Svelte
The specification covered the placement and little else; it now covers
the session where an operator spends an evening — several events,
automatic saving, history, a read-only default.

Three points decide the design rather than describe it: a title belongs
to a place and never to a person, so removing someone leaves the role
visible instead of silently vacant; the read/write mode is orthogonal to
the four states, not a fifth; a perfect reduced instance does not prove
the complete ceiling, which an enumeration establishes.

Checked: 29 tables of 8 and 4 of 7 seat exactly 260, and four
facilitators cap at 24 — a minimum no rerun improves.

--- FR ---

[UPD] spec : événements, réservations, diversité, page qualité, Svelte

La spécification couvrait le placement et peu d'autre chose ; elle
couvre désormais la séance où un opérateur passe une soirée — plusieurs
événements, enregistrement automatique, historique, lecture par défaut.

Trois points décident de la conception au lieu de la décrire : un titre
appartient à une place et jamais à une personne, si bien que retirer
quelqu'un laisse le rôle visible plutôt que vacant en silence ; le mode
lecture/écriture est orthogonal aux quatre états, non un cinquième ; un
réduit parfait ne prouve pas le plafond complet, ce qu'établit une
énumération.

Vérifié : 29 tables de 8 et 4 de 7 asseyent exactement 260, et quatre
animateurs plafonnent à 24 — un minimum qu'aucune relance n'améliore.

Assisted-by: Claude Opus 5
2026-10-05 05:04:37 -04:00
6dd2084734 [ADD] spec: rotating-table seating, offline, as a Cordova app
Nothing is built yet, so the specification fixes the behaviour before any
code can quietly decide it. It states what the placement must guarantee —
several comparable proposals rather than one answer, each set against a
lower bound that is proven when one exists, and a diagnostic naming what a
configuration makes unavoidable before the operator searches in vain.

The development requirements each answer a known way of going wrong:
dimensions that depend on rendered text are measured and never derived, a
character threshold is set on the widest glyph and not on an average, a
test is shown failing before it is trusted, and the whole program stays in
one language so that no two implementations can drift into agreeing on a
wrong value.

Building a Windows executable from Linux is written as a first-week check
rather than an assumption. Four decisions are named as still open.

--- FR ---

[ADD] spec : placement en tables tournantes, hors ligne, sous Cordova

Rien n'est encore construit, donc la spécification fixe le comportement
avant qu'un bout de code n'en décide en silence. Elle énonce ce que le
placement doit garantir : plusieurs propositions comparables plutôt qu'une
réponse, chacune confrontée à une borne inférieure prouvée quand il en
existe une, et un diagnostic nommant ce qu'une configuration rend
inévitable avant que l'opérateur ne cherche en vain.

Les exigences de développement répondent chacune à une façon connue de se
tromper : une dimension qui dépend du texte rendu se mesure et ne se déduit
jamais, un seuil en caractères se cale sur le glyphe le plus large et non
sur une moyenne, un test se montre en train d'échouer avant qu'on s'y fie,
et le programme reste dans une seule langue pour que deux implémentations
ne puissent pas dériver jusqu'à s'accorder sur une valeur fausse.

Construire un exécutable Windows depuis Linux est inscrit comme une
vérification de la première semaine et non comme une hypothèse. Quatre
décisions sont nommées comme encore ouvertes.

Assisted-by: Claude Opus 5
2026-10-05 03:13:50 -04:00