Claude
f6c191922f
Lot 28 : optimiseur tenu par la façade (LOKI_TUNE=rust)
...
Avec LOKI_TUNE=rust (expérimental, Unix seulement), la façade sert
/api/tune, /api/tune/status, /api/tune/cancel, /api/tune/apply et
/api/tune/last, et déroule l'optimisation sans perte (rust/loki-rs/src/tune) :
vrai moteur arrêté, essais composés à blanc puis lancés par les « loki
serve » du Go (LOKI_TUNE_TRIAL), chacun dans son groupe de processus,
mesurés par le bench complet à profondeur fixe, retenus au-delà du
bruit ; vrai moteur relancé. Rien n'est écrit sans un clic : copie du
preset, ou le preset lui-même — redémarrage, sonde, et ancienne version
rétablie si elle échoue.
- tune/core.rs : la partie pure (EXTRA_ARGS, réglages, essais de chaque
étape, garde-fous, diff et réécriture du preset, score) ;
- tune/lock.rs : le verrou tune.lock au format du Go, identité des
processus comme procIdentity (la reprise du Go reconnaît la façade
vivante, et écarte son verrou si elle meurt), ménage d'un verrou
périmé (essai orphelin arrêté, application interrompue défaite) ;
- tune/job.rs : routes, job, essais et application.
Le verrou de génération reste celui du Go, pris par le bail du moteur au
motif « tune » (refus de l'optimiseur pour les autres, stop du chat qui
annule). Le Go prête /internal/v1/tune/context (bench, génération, jobs
du mode code, état du moteur, télémétrie) et le démarrage ou l'arrêt du
moteur sans le refus de l'optimiseur (service/action « os »). Hors
Unix, la façade passe LOKI_TUNE vide au Go, qui garde l'optimiseur.
serde_json lit désormais les flottants à l'arrondi exact
(float_roundtrip), comme le Go.
Parité : parity_tune_test.go tire du Go un journal (partie pure, contenu
du verrou, résultat enregistré, vérification après application) rejoué
par tests/tune_core.rs. tests/tune.rs déroule de vraies optimisations, le
binaire de test jouant « loki serve » ; les tests du verrou du Go sont
portés ; TestFacadeTune côté Go.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_016tcGfJWefW5kUGoC2wL8cv
2026-10-16 01:06:31 +00:00
..
2026-10-02 23:30:00 +02:00
2026-10-15 12:35:50 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 10:54:09 +02:00
2026-10-07 10:54:09 +02:00
2026-08-14 21:37:51 +00:00
2026-08-16 11:02:35 +00:00
2026-08-14 21:37:51 +00:00
2026-10-15 18:51:58 +00:00
2026-08-16 20:43:47 +00:00
2026-08-18 21:58:04 +02:00
2026-10-03 23:57:08 +02:00
2026-10-07 09:28:42 +02:00
2026-10-04 02:52:54 +02:00
2026-10-02 23:13:56 +02:00
2026-10-03 23:37:55 +02:00
2026-10-03 23:37:55 +02:00
2026-10-04 11:03:02 +02:00
2026-10-04 11:56:11 +02:00
2026-08-20 10:32:44 +00:00
2026-08-20 10:32:44 +00:00
2026-10-04 11:56:11 +02:00
2026-08-14 21:33:15 +00:00
2026-08-19 08:28:53 +02:00
2026-08-14 21:33:15 +00:00
2026-08-29 17:53:14 +02:00
2026-10-04 00:16:41 +02:00
2026-10-04 00:16:41 +02:00
2026-09-12 20:20:33 +00:00
2026-08-14 21:33:15 +00:00
2026-09-12 20:20:33 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-15 20:58:28 +00:00
2026-10-07 09:36:59 +02:00
2026-10-03 22:43:04 +02:00
2026-10-07 09:36:59 +02:00
2026-08-20 09:31:59 +00:00
2026-10-03 23:04:08 +02:00
2026-10-04 14:53:17 +02:00
2026-10-04 14:53:17 +02:00
2026-10-03 23:57:08 +02:00
2026-10-04 08:26:04 +02:00
2026-10-03 22:58:23 +02:00
2026-10-04 00:09:24 +02:00
2026-10-03 23:11:31 +02:00
2026-10-04 10:28:25 +02:00
2026-10-03 22:27:04 +02:00
2026-10-04 14:56:00 +02:00
2026-10-04 14:56:00 +02:00
2026-10-04 10:35:16 +02:00
2026-10-03 22:47:38 +02:00
2026-10-03 22:53:44 +02:00
2026-10-04 10:02:40 +02:00
2026-10-04 10:02:40 +02:00
2026-10-08 09:13:56 +00:00
2026-10-08 09:13:56 +00:00
2026-10-04 10:35:16 +02:00
2026-10-04 14:33:46 +02:00
2026-10-03 22:37:59 +02:00
2026-10-03 22:37:59 +02:00
2026-10-08 09:13:56 +00:00
2026-10-08 07:18:53 +00:00
2026-10-15 22:43:04 +00:00
2026-10-04 12:25:39 +02:00
2026-10-07 15:29:08 +02:00
2026-10-07 09:03:22 +02:00
2026-10-04 15:24:20 +02:00
2026-10-04 11:56:11 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:19:37 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 10:30:05 +02:00
2026-10-04 12:26:42 +02:00
2026-10-04 10:02:40 +02:00
2026-10-02 23:23:21 +02:00
2026-10-04 01:04:03 +02:00
2026-10-04 10:02:40 +02:00
2026-09-12 20:25:48 +00:00
2026-10-02 23:07:46 +02:00
2026-10-15 09:59:16 +00:00
2026-08-16 15:33:55 +00:00
2026-09-22 13:59:10 +00:00
2026-10-02 23:04:30 +02:00
2026-10-02 23:04:30 +02:00
2026-10-04 14:08:07 +02:00
2026-10-04 14:08:07 +02:00
2026-08-30 15:47:10 +02:00
2026-10-15 11:19:42 +00:00
2026-10-02 23:11:40 +02:00
2026-10-04 14:11:59 +02:00
2026-10-02 23:10:56 +02:00
2026-10-02 23:10:56 +02:00
2026-10-07 10:30:05 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 14:50:15 +02:00
2026-10-04 12:31:48 +02:00
2026-10-02 23:04:51 +02:00
2026-10-02 23:04:51 +02:00
2026-08-30 15:47:10 +02:00
2026-10-02 23:05:08 +02:00
2026-10-04 10:50:00 +02:00
2026-10-04 10:50:00 +02:00
2026-10-16 00:09:09 +00:00
2026-10-16 00:09:09 +00:00
2026-10-04 12:31:48 +02:00
2026-10-04 14:08:07 +02:00
2026-10-04 01:34:36 +02:00
2026-10-02 23:11:40 +02:00
2026-09-07 22:34:33 +02:00
2026-09-22 13:59:10 +00:00
2026-09-07 22:33:55 +02:00
2026-10-02 23:13:56 +02:00
2026-09-22 13:33:39 +00:00
2026-09-22 13:33:39 +00:00
2026-10-04 09:01:57 +02:00
2026-10-02 23:34:42 +02:00
2026-10-02 23:34:42 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 14:08:07 +02:00
2026-10-04 15:12:19 +02:00
2026-10-15 21:34:57 +00:00
2026-09-12 21:05:19 +00:00
2026-09-22 13:19:37 +00:00
2026-10-07 10:30:05 +02:00
2026-08-16 15:33:55 +00:00
2026-08-20 09:31:59 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:47:57 +00:00
2026-10-02 23:32:29 +02:00
2026-10-02 23:32:29 +02:00
2026-08-18 21:58:57 +02:00
2026-10-15 11:19:42 +00:00
2026-10-02 23:38:07 +02:00
2026-10-02 23:36:51 +02:00
2026-10-02 23:36:51 +02:00
2026-10-04 11:56:11 +02:00
2026-08-18 21:58:57 +02:00
2026-10-15 11:19:42 +00:00
2026-08-18 21:58:57 +02:00
2026-08-20 09:31:59 +00:00
2026-10-02 23:40:38 +02:00
2026-10-02 23:31:33 +02:00
2026-10-04 01:48:49 +02:00
2026-10-04 09:01:57 +02:00
2026-09-22 14:08:01 +00:00
2026-10-04 00:29:17 +02:00
2026-10-02 23:36:01 +02:00
2026-08-20 09:31:59 +00:00
2026-08-18 21:58:57 +02:00
2026-10-02 23:30:00 +02:00
2026-10-02 23:30:00 +02:00
2026-10-04 14:11:59 +02:00
2026-09-22 13:19:37 +00:00
2026-10-07 10:30:05 +02:00
2026-09-22 13:19:37 +00:00
2026-09-22 13:19:37 +00:00
2026-10-04 00:53:38 +02:00
2026-10-07 10:30:05 +02:00
2026-10-07 10:30:05 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-10-15 16:17:29 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 09:28:42 +02:00
2026-10-15 21:08:37 +00:00
2026-10-15 20:58:28 +00:00
2026-10-16 01:06:31 +00:00
2026-10-16 00:09:09 +00:00
2026-10-15 22:15:30 +00:00
2026-10-16 01:06:31 +00:00
2026-10-15 16:17:29 +00:00
2026-10-15 18:33:31 +00:00
2026-10-15 22:15:30 +00:00
2026-10-15 16:45:17 +00:00
2026-10-15 19:56:11 +00:00
2026-10-15 17:33:22 +00:00
2026-10-15 13:25:45 +00:00
2026-10-15 18:13:13 +00:00
2026-10-15 19:10:49 +00:00
2026-10-15 17:01:07 +00:00
2026-10-15 16:25:51 +00:00
2026-10-15 22:43:04 +00:00
2026-10-15 22:43:04 +00:00
2026-10-16 01:06:31 +00:00
2026-10-15 23:30:03 +00:00
2026-10-15 23:30:03 +00:00
2026-10-16 01:06:31 +00:00
2026-10-16 01:06:31 +00:00
2026-10-15 20:01:37 +00:00
2026-10-16 00:09:09 +00:00
2026-10-04 02:52:54 +02:00
2026-10-04 03:09:01 +02:00
2026-10-07 09:03:22 +02:00
2026-08-18 08:56:32 +00:00
2026-10-02 23:36:01 +02:00
2026-10-15 11:32:11 +00:00
2026-08-20 08:49:09 +00:00
2026-08-20 08:49:09 +00:00
2026-10-04 01:25:39 +02:00
2026-10-04 14:50:15 +02:00
2026-08-16 19:45:43 +00:00
2026-10-07 09:03:22 +02:00
2026-10-04 12:32:20 +02:00
2026-10-04 12:32:20 +02:00
2026-08-14 21:33:15 +00:00
2026-10-02 23:18:35 +02:00
2026-10-04 01:16:48 +02:00
2026-10-02 23:18:35 +02:00
2026-10-04 10:02:40 +02:00
2026-10-04 10:02:40 +02:00
2026-10-04 10:17:08 +02:00
2026-10-04 10:17:08 +02:00
2026-10-03 23:44:33 +02:00
2026-10-04 12:26:42 +02:00
2026-08-15 14:36:04 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-18 21:58:57 +02:00
2026-10-02 23:34:42 +02:00
2026-08-18 10:53:09 +00:00
2026-08-17 10:06:14 +02:00
2026-08-17 10:06:14 +02:00
2026-08-14 21:33:15 +00:00
2026-10-15 19:56:11 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 01:34:36 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-09-07 22:34:33 +02:00
2026-10-04 08:44:46 +02:00
2026-09-22 13:59:10 +00:00
2026-10-07 09:28:42 +02:00
2026-10-07 09:28:42 +02:00
2026-10-02 23:05:08 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-10-07 09:58:40 +02:00
2026-09-22 13:59:10 +00:00
2026-09-22 13:59:10 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-09-07 22:33:55 +02:00
2026-08-14 21:37:51 +00:00
2026-10-04 01:31:00 +02:00
2026-08-20 09:31:59 +00:00
2026-10-15 21:08:37 +00:00
2026-10-16 00:41:20 +00:00
2026-10-15 19:26:27 +00:00
2026-10-15 16:17:29 +00:00
2026-10-15 13:11:07 +00:00
2026-10-15 18:53:36 +00:00
2026-10-15 22:15:30 +00:00
2026-10-15 16:45:17 +00:00
2026-10-15 17:33:22 +00:00
2026-10-15 19:56:11 +00:00
2026-10-15 17:33:22 +00:00
2026-10-15 16:09:48 +00:00
2026-10-15 18:13:13 +00:00
2026-10-15 19:10:49 +00:00
2026-10-15 17:01:07 +00:00
2026-10-15 17:58:24 +00:00
2026-10-15 16:25:51 +00:00
2026-10-15 22:43:04 +00:00
2026-10-15 18:53:36 +00:00
2026-10-15 23:30:03 +00:00
2026-10-15 11:32:11 +00:00
2026-10-15 12:19:07 +00:00
2026-10-15 21:34:57 +00:00
2026-10-16 01:06:31 +00:00
2026-10-15 12:34:59 +00:00
2026-10-15 20:01:37 +00:00
2026-10-04 10:28:25 +02:00
2026-10-04 10:28:25 +02:00
2026-09-07 22:34:33 +02:00
2026-10-15 12:12:44 +00:00
2026-10-15 17:01:07 +00:00
2026-10-15 11:19:42 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-07 09:03:22 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 15:32:27 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:19:03 +02:00
2026-10-04 02:19:03 +02:00
2026-10-04 01:54:19 +02:00
2026-08-16 18:15:24 +00:00
2026-10-07 10:30:05 +02:00
2026-10-07 10:30:05 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-18 21:58:04 +02:00
2026-08-19 08:28:53 +02:00
2026-08-19 08:28:53 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 14:29:13 +02:00
2026-10-04 14:29:13 +02:00
2026-10-07 09:28:42 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 14:29:13 +02:00
2026-10-04 02:52:54 +02:00
2026-10-04 02:52:54 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-09-22 13:33:39 +00:00
2026-10-15 22:43:04 +00:00
2026-08-18 21:58:57 +02:00
2026-10-04 12:25:39 +02:00
2026-10-04 12:25:39 +02:00
2026-10-08 07:18:53 +00:00
2026-10-08 07:18:53 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:19:03 +02:00
2026-10-14 07:38:37 +02:00
2026-10-04 11:56:11 +02:00
2026-10-04 11:56:11 +02:00
2026-10-14 07:38:37 +02:00
2026-10-14 07:38:37 +02:00
2026-10-04 11:56:11 +02:00
2026-10-15 22:43:04 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:35:38 +02:00
2026-10-04 02:35:38 +02:00
2026-10-04 02:19:03 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 02:19:03 +02:00
2026-08-14 21:33:15 +00:00
2026-10-04 11:56:11 +02:00
2026-10-04 11:56:11 +02:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-04 12:25:39 +02:00
2026-08-20 09:31:59 +00:00
2026-10-15 23:30:03 +00:00
2026-10-02 23:25:04 +02:00
2026-10-15 23:30:03 +00:00
2026-10-15 23:30:03 +00:00
2026-10-15 23:30:03 +00:00
2026-08-20 09:31:59 +00:00
2026-10-02 23:25:04 +02:00
2026-10-15 23:30:03 +00:00
2026-10-04 02:19:03 +02:00
2026-10-04 10:50:00 +02:00
2026-10-02 23:40:38 +02:00
2026-10-04 01:31:00 +02:00
2026-10-04 08:44:46 +02:00
2026-08-14 21:33:15 +00:00
2026-10-15 12:35:50 +00:00
2026-10-02 23:04:05 +02:00
2026-10-02 23:04:05 +02:00
2026-10-13 00:31:28 +02:00
2026-08-14 21:33:15 +00:00
2026-10-07 09:28:42 +02:00
2026-08-18 08:35:51 +00:00
2026-10-04 11:03:02 +02:00
2026-10-04 11:03:02 +02:00
2026-10-04 15:24:21 +02:00
2026-10-04 15:24:21 +02:00
2026-10-04 15:24:21 +02:00
2026-10-02 23:13:56 +02:00
2026-08-14 21:33:15 +00:00
2026-08-16 15:33:55 +00:00
2026-08-18 22:48:11 +02:00
2026-08-18 22:48:11 +02:00
2026-08-16 15:33:55 +00:00
2026-10-02 23:05:34 +02:00
2026-10-02 23:05:34 +02:00
2026-08-20 10:32:44 +00:00
2026-10-15 08:49:08 +02:00
2026-10-15 08:49:08 +02:00
2026-10-16 01:06:31 +00:00
2026-10-16 01:06:31 +00:00
2026-10-14 17:45:12 +02:00
2026-10-14 17:45:12 +02:00
2026-10-15 10:34:14 +00:00
2026-10-15 10:34:14 +00:00
2026-10-14 17:40:29 +02:00
2026-10-15 11:19:42 +00:00
2026-10-15 11:19:42 +00:00
2026-10-15 11:51:20 +00:00
2026-10-15 11:51:20 +00:00
2026-10-15 12:02:36 +00:00
2026-10-15 12:12:44 +00:00
2026-10-16 01:06:31 +00:00
2026-08-14 21:33:15 +00:00
2026-08-14 21:33:15 +00:00
2026-10-15 20:58:28 +00:00
2026-08-15 11:35:40 +00:00
2026-10-15 12:12:44 +00:00
2026-08-16 19:45:43 +00:00
2026-08-16 19:45:43 +00:00
2026-09-22 13:37:16 +00:00
2026-10-15 23:30:03 +00:00
2026-10-02 23:21:18 +02:00
2026-09-07 22:34:33 +02:00
2026-09-07 22:34:33 +02:00
2026-10-15 23:30:03 +00:00
2026-10-07 10:30:05 +02:00
2026-10-07 10:30:05 +02:00
2026-09-07 22:34:33 +02:00
2026-09-07 22:34:57 +02:00
2026-09-07 22:34:57 +02:00
2026-09-22 13:19:37 +00:00
2026-09-22 13:19:37 +00:00
2026-08-16 15:33:55 +00:00
2026-10-07 10:30:05 +02:00
2026-10-04 02:01:11 +02:00
2026-10-04 11:56:11 +02:00