Skip to content

Diagnostic : l'état de la machine et le plafond ​

Deux outils en lecture seule, qui ne changent rien et n'ouvrent aucune session. Ils ne sont pas soumis au plafond.

OutilRôle
daimon_doctorDiagnostic de toute la machine, organe par organe
main_ceilingPlafond d'autorisation actif des Mains
pingContrôle de santé (annexe)

daimon_doctor ​

Rend l'état de chaque organe en un seul appel. Appelez-le en premier quand quelque chose se comporte de façon étrange, et avant de conclure qu'un outil est cassé.

Paramètres : aucun. Niveau : lecture.

Exemple d'appel : daimon_doctor sans argument.

Retour : un objet structuré. Les clés de premier niveau :

CléContenu
okVerdict global : sondes fiables, Enregistrement de l'écran et Accessibilité accordés, rien de cassé
backendNature de la sonde de permissions (kind), sa fiabilité (trustworthy) et une note
responsible_appL'application responsable, celle à laquelle le système rattache les permissions
permissionsVerdict réel de screen_recording et accessibility (granted, outils concernés)
exclusionsÉtat du fichier d'exclusions
organsÉtat de chaque organe
overlayÉtat du helper de l'Overlay (voir ci-dessous)
consequencesCe que chaque permission manquante fait concrètement à chaque outil
ceilingPlafond actif, au format de main_ceiling
cannot_detectCe que le diagnostic ne peut pas détecter
nextProchaines étapes suggérées

La clé overlay décrit le processus qui dessine l'Overlay, sans jamais s'y connecter :

Sous-cléTypeSens
enabledbooléenLe réglage « Présence à l'écran » est activé
socket_presentbooléenLe fichier de socket du helper existe (il peut être périmé)
lock_heldbooléenUn helper tient le verrou : il est vivant
listeningbooléensocket_present et lock_held ensemble : le helper vit et écoute
last_log_linechaîne ou nullDernière ligne de overlay.log, tronquée à 200 caractères ; null si le journal est absent ou illisible

Exemple d'un helper arrêté proprement :

json
{ "enabled": true, "socket_present": true, "listening": false, "lock_held": false,
  "last_log_line": "2026-10-16T07:50:27Z overlay: exit reason=idle" }

Cette clé n'influe ni sur ok, ni sur next, ni sur consequences.

Pièges

  • Les verdicts sont sondés dans le processus courant, par des API qui ne demandent jamais d'autorisation : l'exécuter ne peut pas faire apparaître de boîte de dialogue.
  • Lisez consequences : sans Accessibilité, main_type, main_key, main_hover et main_navigate renvoient status: "done" comme des non-opérations silencieuses, et main_click, main_press, main_drag attendent 30 secondes une boîte de confirmation.
  • Lisez aussi cannot_detect : une absence de problème rapportée n'est pas une preuve pour ce qui y est listé.

main_ceiling ​

Instantané en lecture seule du plafond d'autorisation actif des Mains : le niveau courant, l'activité du niveau L4, le niveau nominal de chaque outil d'action et ceux qui sont actuellement refusés parce qu'au-dessus du plafond. C'est l'outil à appeler avant de piloter, pour annoncer d'emblée ce que vous ne pourrez pas faire plutôt que d'être refusé en cours de route.

Paramètres : aucun. Niveau : lecture.

Exemple d'appel : main_ceiling sans argument.

Retour

CléTypeContenu
ceilingchaînePlafond actif : READ, NONDESTRUCTIVE, INPUT, VALIDATION ou AUTONOMOUS
l4_activebooléenVrai quand le plafond est AUTONOMOUS (L4)
levelsobjetNom de chaque outil d'action vers son niveau nominal
gated_aboveliste de chaînesOutils refusés au plafond actuel, triés par ordre alphabétique

Correspondance avec la convention L0 à L4 : READ = L0, NONDESTRUCTIVE = L1, INPUT = L2, VALIDATION = L3, AUTONOMOUS = L4. Les niveaux des outils sont détaillés sur la page Mains.

Pièges

  • Un plafond qui dépasse le niveau d'un outil l'autorise, mais la cible peut quand même relever le niveau effectif : l'absence de l'outil dans gated_above ne garantit pas que chaque appel passera.
  • Une configuration malformée ou un journal absent se dégradent vers des valeurs de sécurité, sans erreur : le rapport est toujours rendu.
  • Le plafond est un réglage humain : aucun outil ne permet à l'IA de le relever.

ping ​

Contrôle de santé : renvoie toujours la chaîne littérale pong. Aucun paramètre.