Fabric ha fermato il robot prima che il lavoro avesse anche solo la possibilità di esistere.
Il controller aveva già iniziato a preparare il ciclo successivo. Localmente, tutto sembrava pulito. La richiesta di esecuzione è arrivata senza attrito. I flag di capacità corrispondevano all'involucro di assegnazione e il payload sembrava normale. Nulla nei log del controller suggeriva un problema.
Poi la richiesta è arrivata al registro di verifica distribuito.
Un nodo di verifica ha estratto l'hash dell'identità della macchina registrato nel registro. Il controller ha risposto istantaneamente. Stessa serie del robot. Stessa chiave hardware. La stessa macchina che aveva già eseguito compiti in precedenza nell'epoca.
Ma gli hash erano diversi.
Voce del registro: Hash A
Richiesta di sessione: Hash B
Solo un carattere di differenza.
Questo era sufficiente.
reject_reason: registry_hash_mismatch
Il cancello di identità si è chiuso immediatamente. Il validatore non ha mai aperto l'involucro di esecuzione. I controlli di capacità non sono mai stati eseguiti. La verifica dello stake non è mai iniziata. Dal punto di vista della rete, il compito semplicemente non è mai esistito.
Il robot continuava a inviare. Il controller continuava a presentare un certificato che credeva fosse ancora valido — l'ultima credenziale di sessione approvata memorizzata nella cache.
Fabric non l'ha accettato.
Il protocollo nativo dell'agente considera il registro come l'unica fonte di verità.
Tre tentativi sono seguiti. Tre rifiuti identici.
Una traccia ha successivamente rivelato la causa: una rotazione della credenziale avvenuta precedentemente nell'epoca aveva sigillato una nuova identità della macchina nel registro. Il controller stava ancora presentando il certificato precedente.
Dopo aver forzato una lettura del registro e svuotato la cache, la stretta di mano è ripartita.
Questa volta l'identità corrispondeva.
La richiesta è stata accettata. Il compito esisteva finalmente.
@Fabric Foundation #ROBO $ROBO
