fix(genai,#18457): 14b_Paginated_Memory -- promotion MRU visible + facteurs ancres sur les sorties - #18464
Conversation
…cteurs ancres La demo LRU touchait msgs[1], deja evince : touch() etait un no-op et la sortie ne montrait jamais la promotion MRU (le carnet annoncait un mecanisme qu'il ne demontrait pas). La demo touche desormais msgs[2] (LRU courant) : la sortie montre l'ordre #3/#4/#2 apres touch, puis l'eviction de #3 a l'insertion de #5 -- le message touche survit. Le no-op sur message evince reste montre, correctement etiquete. Le facteur "5 a 20" de la conclusion n'apparaissait dans aucune sortie (la mesure sur 100 tours donnait x4.4 et x7.6). La cellule de mesure calcule maintenant deux profils (100 et 1000 tours) : x4.4/x7.6 puis x43.0/x75.1, et la conclusion cite ces valeurs mesurees. Cellules 11 et 17 re-executees sous kernel python3 (sorties commitees), metadonnees du carnet inchangees (pas de language_info.version ajoute). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels |
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Relu à la tête 762b0d6ae1, une fois le dossier READY en main :
- Les 9 cellules de code sont exécutées (
execution_count1 à 9), sans aucune sortie d'erreur. - La démo LRU (cellule de code 11) montre bien la promotion :
#3 / #4 / #2après letouch, puis#3évincé à l'insertion de#5. La lecture qui suit décrit exactement cette sortie, y compris le cas dutouchsans effet sur un message déjà évincé. - Les quatre facteurs de la conclusion (4.4, 43.0, 7.6, 75.1) figurent dans la sortie committée de la cellule de mesure (100 et 1000 tours).
- L'avis prose/sortie sur la conclusion est un faux positif de fenêtre : le détecteur ne remonte que trois cellules de code, alors que la mesure en est à huit.
Approuvé.
Grain: LIGHT/notebook-python -- lane myia-po-2026:CoursIA -- prev: LIGHT/tooling #18458 (self-test replay #16110)
Summary
Deux points reportés sciemment au merge de #18332, traités dans un seul commit (carnet CPU-pur,
14b_Paginated_Memory-Python.ipynb).1. La démo LRU ne montrait jamais la promotion MRU (c.11/c.12). Le carnet touchait
msgs[1], déjà évincé :touch()était un no-op et la sortie ne montrait rien du mécanisme annoncé. La démo touche désormaismsgs[2], le LRU courant encore en mémoire :Le message touché survit (
#2), c'est#3le LRU qui est évincé. Le cas du no-op sur message évincé reste enseigné, mais correctement étiqueté (« touch() ne ressuscite pas un message sorti »), avec sa sortie.2. La conclusion citait un facteur absent des sorties (c.17/c.25). La phrase « divisent le coût par un facteur 5 à 20 » n'était ancrée nulle part — la mesure sur 100 tours donnait ×4.4 et ×7.6, sous la borne basse. La cellule de mesure calcule maintenant deux profils (100 et 1000 tours) et la conclusion cite les valeurs mesurées :
Le gain croît avec N (cumul O(N²) contre O(N)) — c'est cette croissance, et non une plage assertion, que la conclusion énonce désormais.
Acceptance (#18457)
5 à 20: 0 occurrence) ;Test plan
python3; sorties splicées,execution_count4 et 6 (numérotation du carnet conservée), 0 erreur ;main(pas delanguage_info.versionajouté, pas de métadonnée papermill) ;check_kernel_drift.py origin/main→ OK, 0 régression ;nbformat.validateOK, aucun chemin machine dans les sorties ;Closes #18457.
🤖 Generated with Claude Code