Ask VitContactAsk VitGet Started
ENIT

Motus Continuum · Open source

Esecuzione ed evidenza vengono prodotte insieme.

Motus registra il percorso causale di un workflow AI mentre viene eseguito, non ricostruendolo successivamente dai log.

Nulla di una ruota condotta è affermato indipendentemente da ciò che la muove.

Leonardo da Vinci, Codex Madrid I · Biblioteca Nacional de España, Madrid, c. 1493-97 · tavola

Grafo di esecuzione

Input diversi seguono percorsi diversi. Motus registra il percorso realmente eseguito.

richiesta → runtime Motus → nodo A → nodo B — decisione registrata → nodo C → risultato finale + traccia di esecuzione

  • quali nodi sono stati eseguiti
  • quali decisioni hanno selezionato un percorso
  • quali tentativi sono falliti
  • quali nuovi tentativi sono avvenuti
  • quali effetti sono stati registrati
  • quali approvazioni umane sono intervenute

Cosa lo rende diverso

Evidenza causale, non osservabilità ricostruita.

Logs

Dicono ciò che i componenti hanno dichiarato.

Motus

Registra ciò che l’esecuzione ha realmente fatto.

L’interfaccia non inventa la storia.
Il runtime la conosce già.

Ciò che ogni passaggio registra

Quattro tipi di registrazione per ogni passaggio dell’esecuzione.

  • Letture

    Ciò che un nodo ha consultato prima di agire: i valori e la provenienza di ciascuno.
  • Scritture

    Fatti, decisioni e rifiuti che un nodo registra, compreso ciò che ha scelto di non fare.
  • Decisioni

    Il percorso scelto in una diramazione e la condizione che lo ha determinato.
  • Effetti

    Ogni azione che interagisce con il mondo esterno: controllata dal runtime, non semplicemente autodichiarata.

Aperto e agnostico

Usa lo stack AI che hai già.

I nodi elaborano. Motus orchestra.

Motus è agnostico rispetto a modelli, provider e framework agentici, neutrale rispetto al dominio e integrabile. Un nodo può rappresentare:

  • un LLM
  • un agente AI
  • codice Python
  • retrieval
  • un’API
  • un’operazione sul database
  • una regola deterministica
  • un’approvazione umana
  • Evidenza fin dalla progettazione

    L’esecuzione produce nativamente evidenza strutturata, non come aggiunta successiva.
  • Verifica aperta

    Verificare l’evidenza non richiede mai un endpoint, una chiave o l’intervento di Vitruvyan.
  • Neutralità rispetto al dominio

    Il significato di business appartiene ai nodi e a chi usa il sistema, non al runtime.
  • Core minimo e integrabile

    Nessuna dipendenza da SDK LLM, database o framework agentici.

Verifica aperta

Evidenza verificabile senza doversi fidare di noi.

Esecuzione

Evidenza canonica

Commitment crittografico

Witness opzionale

Anchor esterno

Verifica indipendente

Witness e anchor svolgono ruoli diversi. Motus non dipende da una specifica blockchain: OpenTimestamps, un anchor privato o un provider qualificato sono tutte implementazioni possibili e nessuna è inclusa nel core del runtime. Stabilire quali anchor e witness siano considerati affidabili dall’organizzazione e preservare le prove nel tempo è il compito di Motus Perpetuum is for.

La verifica non deve mai richiedere fiducia in Vitruvyan.

Installazione

Installalo. Scrivi un nodo. Eseguilo.

Un nodo è una normale funzione: nessuna classe base, nessun passaggio di registrazione e nessun framework agentico da imparare prima.

Python 3.10+kernel basato sulla sola stdlibuna dipendenza: jsonschemaApache-2.0
terminale — installa, scrivi un nodo, eseguilo
$ pip install vitruvyan-motus

  Successfully installed vitruvyan-motus-0.9.0

$ nano motus/nodes/retrieve.py

from core.agents.qdrant_agent import QdrantAgent
from vitruvyan_motus import Fact

_qdrant_agent: QdrantAgent | None = None

def _get_qdrant_agent() -> QdrantAgent:
    """Lazy singleton — avoids connecting at import time."""
    global _qdrant_agent
    if _qdrant_agent is None:
        _qdrant_agent = QdrantAgent()
    return _qdrant_agent

def retrieve(state, ctx):
    query = state.fact("query")
    hits = _get_qdrant_agent().search(query, top_k=5)
    return state.with_fact(
        Fact("citations", hits, source="qdrant", ts=ctx.now())
    )

$ python run.py

  node retrieve → 5 citations
  node classify → intent=support
  node respond  → effect committed

  ✓ run complete — trace written to run.json

$ motus-validate trace run.json --spec graph.json

  ✓ trace valid — 5 records, root sha256:9c2f…

Consulta examples/01_first_run.py through 06_effects_and_receipts.py nel repository— sei script autonomi, ognuno dei quali mostra ciò che ha eseguito.

Leggi il runtime. Fagli una domanda. Verifica ciò che ha registrato.

Motus non chiede fiducia. È open source ed è progettato per essere integrato.