main a reçu en parallèle la télémétrie du tour tenu par la façade
(/internal/v1/turn/perf), les tickets « en vol » du moteur et la
conversation tenue par la façade par défaut (LOKI_CHAT=go pour revenir
au Go). Le lot 29 faisait la même chose par /internal/v1/perf/record :
un seul chemin est gardé, celui de main.
- TurnHost::perf_record (main) remplace TurnHost::perf ; la nature est
posée par l'hôte (verify pour la passe isolée seulement, main pour les
corrections du builder, comme le Go).
- Les résumés de compaction passent par le même point d'entrée, nature
compact : chat/perf.rs ne garde que le relevé de la réponse entière
(perfRecFromWire) et l'envoi.
- La sonde du gabarit reste à la façade (lot 23) : /internal/v1/turn/perf
ne la lance plus côté Go.
- facade_perf.go retiré ; ses cas (perte, intercalé, alerte, preset
externe, incomplète, GET) rejoignent web_internal_turnperf_test.go.
- README : LOKI_CHAT défaut Rust, avec ce que les lots 19, 23, 29 et 30
y ajoutent.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
Trois choses manquaient au tour tenu par la façade, actives même sans
clé opt-in, et qu'il fallait avant d'en faire le défaut :
- la télémétrie de chaque complétion (perfRecord) : /api/perf/summary et
l'alerte « cache perdu » posée sur les stats finales d'une étape. La
boucle Rust la remet au Go (/internal/v1/turn/perf) au même moment que
la boucle Go, avec ses empreintes de messages ; le Go range, calcule la
perte et rend nature, jetons perdus et alerte, posés sur la copie finale
des stats ;
- la sonde du gabarit, lancée dans les mêmes conditions (requête de forme
normale du moteur local) ;
- le comptage des requêtes en vol : chaque requête au moteur local ouvre
un ticket (/internal/v1/oai/begin), marqué servi à la réponse 200
(engineServed, engineMarkMain pour une étape de la discussion), rendu en
fin de lecture du flux. Le slot de la discussion n'est ainsi ni effacé
pendant une requête ni pris pour un autre.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>