SK — Model Intelligence Control Tower · DASH-6 Routing Audit & Alert Center

4 contexte(s) · 4 decision(s) · 0 execute(s) · 14 regle(s) d'alerte

Source des chiffres : registre /tmp/dash6-reg, lu le 2026-09-22 16:36 UTC — 4 decision(s) de routage journalisee(s) sur 4 contexte(s), dont 0 reellement executee(s) ; AccessRoute 6 · CapabilityEvidence 5 · EvaluationRun 233 · ExecutionProfile 130 · ModelAlias 111 · ModelFamily 40 · ModelVersion 81 · Provider 7 · QuotaPool 5. ledger du 2026-09-22T16:05:41Z. Aucun appel fournisseur : le dashboard lit le Registry (§20).

10 — ROUTING AUDIT · « pourquoi ce modele et pas celui-la ? »

La chaine de §17 est LUE dans le journal append-only RoutingDecision, jamais recalculee : une chaine reconstituee a l'affichage divergerait le jour ou la politique change, et expliquerait une decision qui n'a jamais eu lieu.

cases4decisions4attempts_router0fallbacks0shadow_decisions4executed_cases0deterministic1abstained0technical_failures0unproven_gate_cases3

4 cas affiche(s) sur 4.

probe-T0

T0 : aucun modele appele — un gain, pas un echec (policy/exempt-T0)

1 decision(s) journalisee(s) · 0 repli(s) · jamais execute (shadow)

probe-T3

decide sans agir : routeur desarme, aucun octet n'est parti (shadow=True sur toutes les tentatives)

1 decision(s) journalisee(s) · 0 repli(s) · jamais execute (shadow)

probe-T2

decide sans agir : routeur desarme, aucun octet n'est parti (shadow=True sur toutes les tentatives)

1 decision(s) journalisee(s) · 0 repli(s) · jamais execute (shadow)

probe-T1

decide sans agir : routeur desarme, aucun octet n'est parti (shadow=True sur toutes les tentatives)

1 decision(s) journalisee(s) · 0 repli(s) · jamais execute (shadow)

Rejets les plus frequents

Groupes par route ET par regle : la meme route peut etre ecartee par deux regles differentes, et les fondre ferait disparaitre la moins frequente — c'est-a-dire la plus interessante.

Route — regleOccurrences
anthropic/claude-opus-5 -- oauth_on_light2

Pression par gate

Un gate massivement UNPROVEN n'est pas un gate qui passe : c'est un gate qui ne sait pas. Les deux colonnes restent separees.

GatePASSFAILUNPROVEN
confidentiality300
runtime300
runtime_join003

11 — ALERT CENTER · §18

1 alerte(s) sur 1 regle(s) qui declenchent — mais 9 regle(s) sur 14 n'ont RIEN PU MESURER et 1 sont sans objet. Seules 3 regle(s) ont mesure et conclu que tout va bien : le silence des autres n'est pas une bonne nouvelle.

regles14regles_spec_1813alertes1critical0warning1info0regles_firing1regles_clear3regles_aveugles9regles_sans_objet1

Alertes

Les six champs de §18 sont obligatoires : severite, source, workloads touches, action proposee, owner, acquittement. L'action est une phrase pour un humain, jamais un bouton — armer, desarmer, rejouer ou forcer une route releve de DASH-7.

SeveriteRegleSujetMessageSourceWorkloadsAction proposeeOwnerEtat
WARNINGruntime_join_uncoveredjointure runtime3 / 3 decisions (100%) prises avec un gate runtime/runtime_join UNPROVENRoutingDecisionprobe-T1, probe-T2, probe-T3brancher `runtime.snapshot harvest` dans le chemin d'appel : un gate UNPROVEN n'est pas un gate qui passecodemasternon acquittee

Etat des 13 regles (+ extensions)

C'est la table la plus importante de l'ecran. Une regle dont le capteur n'existe pas rendrait « 0 alerte », et « 0 alerte » se lit « tout va bien ». BLIND = la regle n'a RIEN PU mesurer ; NOT_APPLICABLE = la chose surveillee n'existe pas ; CLEAR = la regle a mesure et conclu. Seul CLEAR est une bonne nouvelle.

RegleLibelleEtatAlertesEntrees mesureesRaison du silenceOwner
model_deprecatedModele deprecieCLEAR0ModelVersion=81ghosty
adapter_staleCollecteur perimeCLEAR0Provider=0.03, ModelVersion=0.03, ExecutionProfile=0.03, AccessRoute=0.03, QuotaPool=0.03, CapabilityEvidence=0.03codemaster
benchmark_regressionRegression de benchmarkBLIND00 run(s) de banc hors telemetrie de production : une regression exige au moins deux mesures comparables du meme profil sur le meme protocoleghosty
hermes_quality_regressionRegression qualite HERMESBLIND00 / 233 EvaluationRun porte un accepted_count : le taux de resultat ACCEPTE n'est mesure nulle part (dette t_1ebcf211). Sans lui, une regression de qualite est indetectable — pas inexistanteghosty
cost_per_result_spikeFlambee du cout par resultatBLIND093 run(s) avec un cout, 0 avec un nombre de resultats ACCEPTES. Diviser le cout par le nombre d'appels donnerait un chiffre plausible et faux (§12) — la regle prefere ne rien diregreg
token_inflationInflation de tokensBLIND0233 run(s), dont 0 avec une task_family, mais aucun lot comparable (§28 exige une famille de tache ET un nombre de taches pour ramener les tokens a l'unite)codemaster
latency_p95_regressionRegression de latence p95BLIND0aucune distribution de latence : 0 / 233 EvaluationRun et 0 / 0 RuntimeSnapshot portent un latency_ms_p95codemaster
quota_burnConsommation de quotaCLEAR0ledger_cibles_mesurees=3, ledger_cibles_non_mesurees=3, ledger_cibles_sans_objet=1greg
http_error_spikePic 429 / 5xxBLIND0aucun appel reel : 4 decision(s) journalisee(s), toutes en shadow, et 0 RuntimeSnapshot avec un error_rate. Un taux d'erreur calcule sur des appels jamais emis serait un fauxcodemaster
local_memory_pressurePression memoire localeNOT_APPLICABLE0aucune machine d'inference locale : le Mac Studio n'est pas livre au 22/09/2026 (livraison tranchee au 01/01/2027). La chose surveillee n'existe pas — ce n'est pas un capteur manquant, c'est une machine manquantecodemaster
favorite_droppedFavori sorti du Top 10BLIND0objet Portfolio non construit (brique DASH-2) : sans liste de favoris et sans classement par categorie, « sortir du Top 10 » ne designe riengreg
replacement_betterRemplacant devenu meilleurBLIND00 / 81 ModelVersion porte un replacement_candidates : aucune paire titulaire/remplacant n'est declaree, il n'y a rien a comparerghosty
pareto_entryEntree dans la frontiere de ParetoBLIND00 profil(s) portent a la fois un taux accepte et un cout par resultat : une frontiere de Pareto exige les DEUX axes mesures sur au moins deux profils comparablesghosty
runtime_join_uncoveredDecision sans etat runtime (hors §18)FIRING1decisions_avec_gates=3, sans_runtime=3codemaster