Intramedial est en bêta restreinte. À l’inscription ou à la connexion, vous devez fournir le mot de passe de bêta-testeur que vous avez reçu ou en demander un à preview@intramedial.com. Merci.
Chargement…
coordination.haltModule 06
Module du plan
Emergency stop switches
Arrêtez d'un coup un agent, un mandat ou une ressource, avec un motif au registre, et levez l'arrêt quand c'est sans risque.
coordination.halt pose un arrêt sur le chemin chaud d'admission à l'une de trois portées – agent, mandate ou resource. L'admission suivante répond par un refus. Seul un administrateur connecté peut poser ou lever un arrêt ; l'arrêt de tout l'espace de travail est l'interrupteur , distinct.
Intralock · Baux · Parley · Fleet Map
A Trustvice Product
Les agents agissent quand le plan dit oui, et le registre dit pourquoi.
Faites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
ÉtatLes noms du schéma d'action diffèrent de ceux de la route
Le schéma coordination.stops.halt indique why, mais la route lit reason et refuse un arrêt sans lui. unhalt prend l'id de l'arrêt, pas scope et target. Les agents et les jetons sont refusés dans les deux cas.
Registre
Le registre
Ce qui est enregistré
scope
Obligatoire. agent, mandate ou resource. Toute autre valeur donne un 400 qui renvoie à l'interrupteur d'urgence.
target
Obligatoire. Le DID, le nom de mandat ou la ressource à arrêter.
Obligatoire. Pourquoi l'arrêt existe, pour que celui qui le lève sache à quoi il servait.
halt
Dans la réponse : l'arrêt, avec id (préfixé hlt_), scope, target, reason, by et at.
created
Dans la réponse : false quand la même portée et la même cible étaient déjà arrêtées ; l'arrêt existant est renvoyé.
ledgered
Dans la réponse : si l'événement coordination.halt a atteint le registre. L'arrêt s'applique dans tous les cas.
id
Pour unhalt. L'arrêt à lever. Un agent en quarantaine sans arrêt apparaît dans switches sous la forme q:<did>.
Mécanisme
Pas à pas
Comment ça marche
Formes et phases
A
Agent
scope: agent, target un DID. L'agent rejoint l'ensemble de quarantaine, donc chaque admission le concernant répond quarantine.
B
Mandat
scope: mandate, target un nom de mandat. L'admission répond mandate_halted pour toute action dont l'habilitation provient de ce mandat.
C
Ressource
scope: resource, target une ressource. Elle couvre ce qui est dessous, donc repo:acme arrête aussi repo:acme/x. L'admission répond resource_halted.
Pas à pas
Choisir la portée
halt prend scope, target et reason. Les trois sont obligatoires, et un arrêt de ressource ne peut pas cibler * ni /.
Effet immédiat
L'arrêt est conservé en mémoire et écrit dans le magasin de politiques. L'admission suivante le voit, avant la lecture de toute habilitation ou de tout lease.
Lire ce qui est arrêté
switches liste l'interrupteur d'urgence de l'espace de travail, chaque arrêt en vigueur avec qui l'a posé et pourquoi, et si vous pouvez les modifier.
sha256("…") est calculé par votre navigateur ; seul le hash part. Docs coordination.halt
Reçus signés
Cliquez Lancer (ou ⌘/Ctrl + Entrée) pour signer la requête à gauche.
Le premier lancement crée une clé de test gratuite dans ce navigateur : environ 35 appels sur 7 jours, sans compte. Le reçu revient ici et est vérifié avec les clés publiées, sans nous faire confiance.
Code
Exemple en direct
Une vraie requête
Une requête dans la forme acceptée par l’API, et un exemple de réponse dans la forme renvoyée par le module.
Arrêtez l'agent avec un motif. Sa prochaine écriture est refusée à l'admission avec quarantine, sans modifier ses habilitations.
Un mandat défaillant
Arrêtez le mandat par son nom. Ses habilitations cessent aussitôt d'admettre, tandis que celles des autres mandats continuent de fonctionner.
Geler un dépôt
Arrêtez repo:payments. Tout ce qui est dessous est refusé avec resource_halted jusqu'à la levée de l'arrêt.
Tout arrêter
Utilisez kill. Il déclenche l'interrupteur de coordination de l'espace de travail, et l'admission répond kill_switch pour chaque agent jusqu'à resume.
Quand utiliser autre chose
Mettre un agent en quarantaine sous un warrant ou un jugement. C'est coordination.quarantine, qui exige un double contrôle ou un dossier jugé.
Faire une pause pour une décision humaine sur une action. Les écritures retenues vont à coordination.approve ; un arrêt est un refus général.
Trouver ce qui se comporte mal. watchdog.check signale les anomalies ; un arrêt est ce que vous faites une fois que vous savez.
Preuves
Garanties
Ce qu’il fait, et ce qu’il ne fait pas
Un module est une affirmation forte sur un sujet étroit. Fiez-vous-y exactement pour ce qu’il est.
Il le fait
Un arrêt est vérifié sur le chemin chaud d'admission sans appel de modèle : la décision suivant sa pose est donc le refus.
Chaque arrêt porte un motif et l'administrateur qui l'a posé, et chaque nouvel arrêt ajoute un événement coordination.halt au registre.
Un arrêt répété sur la même portée et la même cible ne crée rien et renvoie l'arrêt existant.
La levée d'un arrêt est inscrite au registre comme coordination.unhalt avec l'administrateur, la portée et la cible.
Il ne le fait pas
Que l'agent a cessé de s'exécuter. Un arrêt refuse ses admissions ; le processus n'est pas tué et peut encore agir hors du plan.
Que les actions déjà admises sont annulées. Un arrêt n'est pas un retour en arrière, et un lease accordé plus tôt n'est pas libéré par lui.
Que l'interrupteur d'urgence est disponible. Il exige que KILL_SWITCH_KV soit lié ; sans lui, kill et resume répondent 503.
Détails
Notes de conception
Avant de construire
Qui peut arrêter
halt, unhalt, kill et resume sont réservés à une personne connectée qui administre l'espace de travail. Un agent ou un jeton d'API est refusé avec 403.
Ordre d'admission
La quarantaine et les arrêts de ressource sont vérifiés en premier, puis la confirmation, les habilitations et enfin un arrêt de mandat. Un interrupteur d'urgence refuse avant tous les autres.
L'interrupteur d'urgence
kill prend un reason facultatif et inscrit coordination.kill au registre. resume l'efface ; un interrupteur posé par l'opérateur est à lever par l'opérateur et renvoie 409.
Lire la liste
switches montre aussi les agents en quarantaine sans ligne d'arrêt, comme celui mis en quarantaine par un jugement, sous la forme q:<did> avec un motif vide.
Limites et mesure
Il existe trois portées : agent, mandate et resource. Arrêter tout l'espace de travail relève de l'interrupteur d'urgence.
Un arrêt sans reason ou sans target renvoie 400, tout comme un arrêt de ressource sur * ou /.
Un rôle qui n'est pas administrateur reçoit 403 sur halt et unhalt ; lire switches ne demande aucun rôle.
Les ids levés sont mémorisés jusqu'aux 200 derniers.
Accès
API et MCP
REST et MCP
Authentifiez-vous avec une clé d’API d’espace de travail comme jeton Bearer. L’URL de base est https://api.intramedial.com.
Points d’accès REST
POST/api/v1/acp/coordination/haltArrêter un agent, un mandat ou une ressource.
POST/api/v1/acp/coordination/unhaltLever un arrêt par son id.
GET/api/v1/acp/coordination/switchesLire l'interrupteur d'urgence et chaque arrêt en vigueur.
POST/api/v1/acp/coordination/killActionner l'interrupteur d'urgence de coordination de l'espace de travail.
POST/api/v1/acp/coordination/resumeRéactiver la coordination de l'espace de travail.
Actions MCP
MCPcoordination.stops.haltPoser un arrêt depuis un appel d'action ; refusé sauf si l'appelant est administrateur.
MCPcoordination.stops.unhaltLever un arrêt depuis un appel d'action.
MCPcoordination.stops.switchesLire les interrupteurs d'arrêt depuis un agent.
MCPcoordination.killActionner l'interrupteur d'urgence depuis un appel d'action.
unhalt prend l'id de l'arrêt et un why facultatif. La levée est inscrite au registre comme coordination.unhalt ; un id inconnu renvoie 404.
iam.assume31
Cloud credential broker
Donnez à un agent un identifiant cloud de courte durée uniquement tant qu'il détient un lease actif sur le rôle, et laissez l'identifiant mourir avec le lease.