Skip to content

Commit 556b1f2

Browse files
committed
docs(workbench): refresh the take's figures, and stop pointing at a file no clone has
The README still announced 356 points and 24 238 characters for `getCursorTrack` and claimed those numbers were asserted in `l0/real-fixture.wb.ts` — which asserts 148 and 7 797 since the keyframe reduction. A reference that cites a test saying the opposite is worse than none: it is where the stale figure gets re-fetched. Four places also sent the reader to `workbench/fixtures/README.md`. That path is inside a gitignored directory and was never versioned, so it resolves in no clone at all; `check-docs` does not catch it because it is inline code, not a link. The provenance it promised is in this README, so say so there and drop the pointer. While at it, the consequence a newcomer meets first: 44 L0 tests fail on a fresh clone, all on that missing take, and nothing in CI runs the bench to say so.
1 parent 7736c98 commit 556b1f2

3 files changed

Lines changed: 27 additions & 14 deletions

File tree

workbench/README.md

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -319,9 +319,16 @@ modèle qui apprend la forme de notre générateur obtient une bonne note sans a
319319
`realScreencastDocument()` charge à la place une **vraie prise** — 66,154 s de screencast,
320320
transcrites par le Whisper local (129 mots français horodatés, aucun silence stocké : ils se
321321
déduisent des écarts), avec son sidecar de curseur (1521 échantillons, ~23 Hz, 11 formes de
322-
pointeur, aucun clic). Les deux fichiers sont dans `workbench/fixtures/`, avec leur provenance et
323-
la liste de ce qui en a été retiré : `workbench/fixtures/README.md`. Rien d'autre ne doit les
324-
ouvrir.
322+
pointeur, aucun clic). Les deux fichiers vivent dans `workbench/fixtures/`, **gitignoré**
323+
(`.gitignore:126`) : ils ne sont dans aucun clone, et leur provenance est ce paragraphe — il n'y a
324+
pas de `fixtures/README.md` versionné à aller lire, seulement celui que se garde qui possède la
325+
prise. Rien d'autre que `lib/real-fixture.ts` ne doit les ouvrir.
326+
327+
Conséquence à connaître avant de lancer le banc : **44 tests L0 échouent dans un clone neuf**,
328+
tous sur le même `ENOENT` (`l0/real-fixture.wb.ts`, `real-screencast-truth.wb.ts`,
329+
`quality.wb.ts`, et `score.wb.ts` qui construit le document de chaque scénario du registre).
330+
Fournir sa propre prise donnera d'autres chiffres que ceux assertés ici. Rien de tout cela n'est
331+
vu par le CI, qui ne lance pas le banc.
325332

326333
Le document arrive **tel qu'il est sur le disque**, y compris son `cameraTrack: null` alors qu'un
327334
fichier webcam existe à côté de l'enregistrement. Ce n'est pas un oubli de la copie ; c'est l'état
@@ -333,12 +340,17 @@ au-dessus de `electron/media/cursorSidecar.ts`, le parseur de production. Un sc
333340
par `cursorReader:`**exclusif** de `cursorTelemetry:`, que `defineScenario` refuse de voir
334341
coexister avec lui.
335342

336-
**Ce que ça coûte au tour, mesuré** : `getCursorTrack` rend **356 points, 24 238 caractères**
337-
(5 Hz + 56 points gardés pour des changements de forme du pointeur). C'est 2,3× le transcript
338-
entier, et la requête suivante passe de ~17 k à ~45 k caractères. Les chiffres sont **assertés**
339-
dans `l0/real-fixture.wb.ts` : ils bougent quand `buildCursorTrack` bouge, et c'est voulu.
340-
Au-delà de ~25 000 caractères, c'est une trouvaille à signaler — pas un défaut à faire disparaître
341-
en baissant `DEFAULT_TRACK_HZ`.
343+
**Ce que ça coûte au tour, mesuré** : `getCursorTrack` rend **148 points, 7 797 caractères**
344+
une réduction en keyframes des 1521 échantillons, plus les points qu'aucune interpolation ne
345+
remet (changement de forme du pointeur, événement autre qu'un déplacement, bornes d'un arrêt).
346+
C'est **sous** le transcript (10 496), et un appel ajoute ~9 k à la requête. Les chiffres sont
347+
**assertés** dans `l0/real-fixture.wb.ts` : ils bougent quand `buildCursorTrack` bouge, et c'est
348+
voulu. Au-delà de ~25 000 caractères, c'est une trouvaille à signaler — pas un défaut à faire
349+
disparaître en baissant `DEFAULT_TRACK_HZ`.
350+
351+
C'était 356 points et 24 238 caractères avant la réduction, soit 2,3× le transcript. Le chiffre
352+
est gardé ici parce qu'il continue de circuler dans les notes de l'époque : s'il réapparaît
353+
quelque part, c'est qu'on lit un texte périmé.
342354

343355
Quatre scénarios notés tournent maintenant sur cette fixture (`scenarios/real-screencast.scn.ts`).
344356
Ce qu'ils mesurent a besoin de la vérité terrain — ce que l'utilisateur faisait, annoté à la main —
@@ -393,7 +405,7 @@ lib/persist.ts les tours bruts sur disque, bornés, derrière la barrière a
393405
lib/language.ts les prédicats de texte partagés, épinglés dans les deux sens
394406
lib/fixtures.ts les documents de référence, écrits en code
395407
lib/real-fixture.ts le chargeur de la PRISE RÉELLE (projet + sidecar de curseur sur disque)
396-
fixtures/ les deux fichiers de cette prise, et d'où ils viennent (README.md)
408+
fixtures/ les deux fichiers de cette prise — GITIGNORÉ, absent de tout clone
397409
lib/score.ts deux axes, porte min(), checks structurels injectés partout
398410
lib/baseline.ts le ratchet bidirectionnel
399411
l0/ sans LLM, sans réseau (~0,4 s)

workbench/l0/real-fixture.wb.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ describe("la fixture réelle — le document", () => {
7575
it("n'a PAS de piste caméra dans le document, quoi qu'il y ait sur le disque", () => {
7676
// Le dossier d'enregistrement contient bien un fichier webcam ; le document
7777
// écrit par l'app, lui, porte `cameraTrack: null`. La fixture ne corrige
78-
// pas ça — voir workbench/fixtures/README.md. Cette assertion existe pour
78+
// pas ça — voir README.md § « La prise réelle ». Cette assertion existe pour
7979
// que personne ne « complète » la fixture sans s'en apercevoir : le modèle
8080
// verra `hasCameraTrack: false`, et c'est l'état réel du projet.
8181
expect(realScreencastDocument().assets[0].cameraTrack).toBeNull();

workbench/lib/real-fixture.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,10 @@
1111
// transcribed by the local Whisper helper, with its own cursor sidecar. Nothing
1212
// is normalised, rounded or tidied on the way in — the document reaches the
1313
// model in the state it has on disk, `originalPath`, absent `cameraTrack` and
14-
// all. See `workbench/fixtures/README.md` for where it comes from and for the
15-
// single field that was removed from the sidecar (11 base64 pointer bitmaps,
16-
// 112 kB, referenced by id and never decoded).
14+
// all. Where it comes from — and the single field removed from the sidecar (11
15+
// base64 pointer bitmaps, 112 kB, referenced by id and never decoded) — is in
16+
// `workbench/README.md` § "La prise réelle". `workbench/fixtures/` is gitignored,
17+
// so it holds no README any clone can read; do not point readers into it.
1718
//
1819
// The ground truth of what the user was DOING lives nowhere near here. It
1920
// belongs to the assertions; a scenario that let it reach the model would be

0 commit comments

Comments
 (0)