Intramedial è in beta ristretta. Alla registrazione o all’accesso devi fornire la password da beta tester che hai ricevuto oppure richiederne una a preview@intramedial.com. Grazie.
Caricamento…
github.enforceModulo 29
Modulo della piattaforma
GitHub write gate
Fai diventare rosso il check di un commit a meno che l’agente che lo ha scritto tenga il grant e, per una scrittura, una persona abbia confermato.
github.enforce ammette un’azione su un repository tramite Intralock e riporta il verdetto a GitHub come check run o commit status. Ammette repo:<repo>, imposta per default l’azione su write e lega un commit permesso all’agente, così gli eventi webhook successivi per quello sha seguono la stessa decisione.
Intralock · Lease · Parley · Fleet Map
Un prodotto Trustvice
Gli agenti agiscono quando il piano dice sì, e il registro dice perché.
Fai passare da Intramedial azioni di agenti, hash di contenuti, controlli API, lookup DNS, webhook, chiamate LLM e commit git. Ricevi una ricevuta firmata che chiunque verifica, senza fidarsi di noi.
StatoI segnali GitHub richiedono un’App o un token
Senza GITHUB_PAT o un’App GitHub associata il verdetto è comunque restituito e registrato, ma commitStatus e checkRun sono null, quindi nulla compare sul commit. Associane uno, poi conferma con github/app.
Registro
Il registro
Cosa viene registrato
repo
Il repository, come acme/payments. La risorsa ammessa è repo: seguito da questo valore.
actorDid
L’agente di cui è questa scrittura. L’attore di un webhook è il login GitHub che lo ha inviato.
read, write o delete. Qualsiasi altra cosa, o nulla, è ammessa come write.
sha
Il commit su cui riportare. Opzionale; se omesso si usa l’ultimo head ingerito.
confirmationToken
Un token coniato quando un approvatore ha confermato questa scrittura.
allow
Nella risposta: se Intralock ha ammesso l’azione.
reason
Nella risposta: perché, ad esempio confirmation_required o no_grant.
commitStatus
Nella risposta: il commit status pubblicato su GitHub, o null.
checkRun
Nella risposta: il check run pubblicato su GitHub, o null.
Meccanismo
Passo dopo passo
Come funziona
Invia il commit
enforce accetta repo, actorDid, sha e un action tra read, write o delete. Senza sha usa l’ultimo head che il gateway ha ingerito per quel repo.
Intralock decide
Il gateway ammette repo:<repo> per quell’attore e azione. Una scrittura senza conferma torna confirmation_required.
GitHub viene informato
Il verdetto è pubblicato come check run intramedial/acp quando è associata un’App, o come commit status. Allow è success; il rifiuto è failure.
Una persona conferma
Una review o un commento firmato /acp allow conia un token per l’attore legato e applica di nuovo. /acp deny scarta il legame se quell’attore lo tiene.
Provalo
Demo live
Eseguilo da questa pagina
GET/api/v1/acp/github/status
// Nessun body: è una GET. Premi Esegui.
Viene eseguito in un workspace demo condiviso con una chiave demo: chiunque può vedere cosa contiene, quindi non inviare nulla di privato. Docs di github.enforce
Risposte
Premi Esegui per inviare la richiesta a sinistra al workspace demo condiviso.
Viene eseguito in un workspace demo condiviso con una chiave demo: chiunque può vedere cosa contiene, quindi non inviare nulla di privato.
Codice
Esempio live
Una richiesta reale
Una richiesta nella forma accettata dall’API e una risposta di esempio nella forma restituita dal modulo.
Richiedi il check intramedial/acp sul branch. Un check in sospeso o fallito impedisce il merge del commit dell’agente finché qualcuno non lo conferma.
Confermare dalla pull request
Un revisore commenta /acp allow. Il webhook firmato conia il token, ammette di nuovo e porta a success lo stato dello stesso commit.
Ritirare un’approvazione
revoke scarta il legame che un agente tiene per uno sha e pubblica un fallimento, così un commit già approvato può essere rifiutato di nuovo.
Tenere gli agenti fuori dai branch condivisi
namespace riscrive il branch di un agente sotto agent/<slug>/ e rifiuta nomi protetti come main, release* e hotfix/*.
Quando usare altro
Ammettere chiamate a un server MCP. Usa mcp.enforce; questo modulo lavora su repository e commit.
Raccogliere la decisione umana. L’approvazione stessa appartiene a coordination.approve; questo modulo pubblica il risultato.
Vincolare un singolo branch o ref per nome. L’ammissione qui è per repository; solo namespace conosce i nomi di branch protetti.
Prove
Garanzie
Cosa fa e cosa non fa
Un modulo è una promessa forte su una cosa circoscritta. Contaci esattamente per ciò che è.
Fa
Il verdetto è di Intralock, con llm: false; lo stesso attore, repo e azione danno la stessa risposta di coordination.admit.
Ogni enforce aggiunge al ledger un evento github.enforce con repo, sha, esito e motivo.
Un rifiuto per un attore non scarta mai il legame di uno sha tenuto da un attore diverso, quindi un estraneo non può annullare un’approvazione.
Una scrittura che richiede conferma resta in sospeso quando arriva da un webhook; solo un enforce esplicito pubblica il fallimento.
Non fa
Che un merge sia bloccato. Il check blocca solo se la branch protection richiede intramedial/acp; il gateway non può impostarlo per te.
Che il codice nel commit sia sicuro. La decisione riguarda chi può scrivere, non cosa è stato scritto.
Che un ruling revochi un’approvazione. revoke è una chiamata esplicita vincolata da un warrant; nessun ruling la attiva.
Che un push sia vincolato. L’ingest dei push si limita a registrare; gli eventi di pull request, check, workflow e merge queue sono quelli che applicano.
Dettagli
Note di sviluppo
Prima di costruire
Cosa viene pubblicato
Con un’App GitHub associata il verdetto è un check run chiamato intramedial/acp, con il commit status come riserva. Un GITHUB_PAT pubblica solo il commit status.
Il legame con lo sha
Una scrittura permessa registra l’attore rispetto a repo, azione e sha. Un evento successivo per quello sha può allora coniare un token per lo stesso attore senza una seconda persona.
Eventi webhook
Gli eventi di pull request, check suite, check run, workflow run e merge group ammettono l’head come write e pubblicano uno stato in sospeso finché non arriva un token.
Permessi
revoke richiede policies.approve e un warrant di dual-control o giudicato. enforce, ingest e status non hanno un ruolo proprio.
Limiti e misurazione
Il check run e lo status sono pubblicati solo quando è associata una credenziale PAT o App; altrimenti entrambi i campi sono null.
status restituisce gli ultimi 50 elementi ingeriti, filtrati per repo o sha se indicati.
revoke senza warrant restituisce 403 perché le route vincolate da warrant sono chiuse per default.
namespace accetta actorDid e branch; senza un attore restituisce 400.
Accesso
API e MCP
REST e MCP
Autenticati con una chiave API del workspace come token Bearer. L’URL di base è https://api.intramedial.com.
Endpoint REST
POST/api/v1/acp/github/enforceAmmetti un’azione su un repository e pubblica il verdetto su GitHub.
POST/api/v1/acp/github/ingestRegistra un webhook GitHub e applica gli eventi che lo richiedono.
GET/api/v1/acp/github/statusLeggi gli elementi di audit recenti, l’ultimo head e chi tiene il legame.
POST/api/v1/acp/github/revokeScarta il legame con lo sha tenuto dall’attore e pubblica un fallimento.
Azioni MCP
MCPcoordination.github.enforceAmmetti un’azione su un repository da un agente.
MCPcoordination.github.ingestRegistra il corpo di un webhook da un agente.
MCPcoordination.github.statusLeggi gli elementi di audit GitHub recenti da un agente.