OIDA per sviluppatori

Memoria governata per gli agenti, via MCP.

Un server MCP remoto (Streamable HTTP, OAuth 2.1 + PKCE) che risponde a resolve_decision_state con la decisione in vigore, lo scope, le evidenze e lo stato: verified, contested, insufficient_evidence, unknown. Risolutore deterministico, nessun LLM lato server.

Cinque domande che il tuo agente oggi non sa chiudere.

Non sono domande di retrieval. Sono domande di stato: quale ADR è in vigore, per quale ambiente, da quando, e se qualcuno ha deciso. Ecco cosa risponde OIDA.

Esempi illustrativi. Scegli una domanda e confronta risposta e fonti.

Ottieni una demo

assistente · collegato a OIDA

Quale libreria di autenticazione è lo standard per i nuovi servizi?

  1. resolve_decision_stateambito nuovi servizi
  2. Leggo le fonti nel registroADR-042 · Security review, gen 2026
  3. Stato risoltoIn vigore

auth-core v3 è la libreria di autenticazione standard per i nuovi servizi.

In vigore · ambito nuovi servizi · dal 10 feb 2026 · sostituisce ADR-017, Passport

auth-core v3. Fonte: ADR-042, febbraio 2026. ADR-017 (Passport) è superata.

Fonti
  • ADR-042I nuovi servizi usano auth-core v3 per autenticazione e sessioni. ADR-017 (Passport) è superata.Primaria
  • Security review, gen 2026Evidenza

La soluzione

Una memoria condivisa che cresce insieme alla tua azienda, e costruisce la tua intelligenza, per piena sovranità sui tuoi dati.

La ricerca trova ogni versione. OIDA dice quella in vigore.

Una persona chiede all’assistente che già usa. La risposta porta stato, scope ed evidenze.

assistente · collegato a OIDA
Il tuo assistente AI · Modello AICondividi

Quale database è approvato per i nuovi servizi?

oida · resolve_decision_state

Risolvo il tema database, scope nuovi-servizi

Contestata

PostgreSQL è il database approvato per i nuovi servizi.

ADR 024 · scope nuovi-servizi · dal 1 feb 2026 · contestata finché un conflitto resta aperto

PostgreSQL, secondo ADR 024, in vigore dal 1 febbraio 2026 per i nuovi servizi. Un conflitto aperto riguarda questa decisione: un messaggio in chat propone DynamoDB. È registrato, non approvato.

oida · platformApri in OIDA
Registro delle decisionitema database
  1. In vigore
    PostgreSQL è il database approvato per i nuovi servizi.ADR 024 · scope nuovi-servizi · dal 1 feb 2026 · contestata finché il conflitto qui sotto resta aperto
  2. Superata
    MySQL è il database di default.ADR 001 · sostituita da ADR 024 · resta in storia, mai servita come in vigore
  3. Eccezione per ambito
    MongoDB resta approvato per i servizi legacy.ADR 011 · scope legacy · servita solo per quello scope
  4. Conflitto aperto
    “Stiamo spostando i nuovi servizi su DynamoDB.”Chat del team, 14 mar 2026 · non autorevole · registrata, non applicata · in attesa di revisione
  5. Sconosciuto
    Dove archiviamo i dati dell’app mobile?Nessuna decisione approvata · nulla è stato inferito

Tre momenti in cui il registro si legge nei tuoi termini.

  1. 01

    Onboarding su un repo

    Il primo giorno l’agente chiede a OIDA quali ADR sono in vigore per il servizio su cui lavori, quali sono superate e quali eccezioni valgono per quel modulo. Il contesto arriva come stato, con gli estratti che lo sostengono, prima di aprire il primo file.

  2. 02

    Agente che scrive un runbook

    Prima di scrivere, l’agente chiama resolve_decision_state per ogni decisione da cui la bozza dipende. Le eccezioni restano nel loro scope, i conflitti aperti finiscono in una nota per chi revisiona. Nulla viene applicato per il solo fatto di essere l’ultimo messaggio in chat.

  3. 03

    Review di una decisione presa in stand-up

    Uno sviluppatore la registra dal client con ingest: entra come proposta, con fonte ed estratto. Un owner o un admin la approva, la rifiuta o la usa per sostituire una decisione precedente, con una motivazione che resta nella storia.

Stato, decisione, scope, evidenze e conflitti in un solo oggetto.

La forma reale della risposta di resolve_decision_state, presa dal codice del server (src/tools/resolve-decision-state). I valori sono illustrativi, sul tema database della vetrina. I campi sono quelli veri.

{
  "query": "Quale database è approvato per i nuovi servizi?",
  "topic": "database",
  "status": "contested",
  "decision": {
    "id": "adr-024",
    "content": "PostgreSQL è il database approvato per i nuovi servizi.",
    "value": "PostgreSQL",
    "status": "approved",
    "scope": "new-services",
    "valid_from": "2026-02-01",
    "valid_to": null,
    "confidence": 0.95,
    "authority": 1
  },
  "scope": "new-services",
  "temporal_validity": { "as_of": "2026-09-08", "valid_from": "2026-02-01", "valid_to": null },
  "sources": [
    { "source_id": "adr-024", "title": "ADR 024", "type": "decision-record", "reference": "docs/adr/024.md", "occurred_at": "2026-02-01" },
    { "source_id": "adr-001", "title": "ADR 001", "type": "decision-record", "reference": "docs/adr/001.md", "occurred_at": "2023-05-12" },
    { "source_id": "adr-011", "title": "ADR 011", "type": "decision-record", "reference": "docs/adr/011.md", "occurred_at": "2024-09-03" },
    { "source_id": "team-chat-2026-03-14", "title": "Chat del team", "type": "team-chat", "reference": "#platform", "occurred_at": "2026-03-14" }
  ],
  "evidence": [
    { "source_id": "adr-024", "excerpt": "PostgreSQL è il database approvato per i nuovi servizi dal 1 febbraio 2026.", "verified": true }
  ],
  "superseded_decisions": [
    { "id": "adr-001", "content": "MySQL è il database di default.", "value": "MySQL", "status": "superseded", "scope": "all", "valid_from": "2023-05-12", "valid_to": "2026-02-01", "confidence": 0.9, "authority": 1 }
  ],
  "scope_exceptions": [
    { "id": "adr-011", "content": "MongoDB resta approvato per i servizi legacy.", "value": "MongoDB", "status": "approved", "scope": "legacy", "valid_from": "2024-09-03", "valid_to": null, "confidence": 0.9, "authority": 1 }
  ],
  "conflicts": [
    {
      "conflict_id": "rel-dynamodb-vs-adr-024",
      "item": { "id": "claim-chat-dynamodb", "content": "Stiamo spostando i nuovi servizi su DynamoDB.", "value": "DynamoDB", "status": "proposed", "scope": "new-services", "valid_from": "2026-03-14", "valid_to": null, "confidence": 0.6, "authority": 0.3 },
      "source_ids": ["team-chat-2026-03-14"],
      "rationale": "Incompatible database choice for the same scope.",
      "status": "open"
    }
  ],
  "missing_information": ["At least one incompatible claim remains unresolved."],
  "context_metrics": { "source_characters": 18420, "evidence_characters_returned": 78 },
  "drill_down": {
    "required": false,
    "suggested_tool": null,
    "reason": "Current state, supersessions, scoped exceptions, conflicts, evidence, and sources are already included. Use a drill-down tool only if the user explicitly asks for exhaustive history or conflict remediation."
  }
}
status
Uno di quattro valori: verified, contested, insufficient_evidence, unknown. Qui contested: esiste una decisione in vigore e un claim incompatibile resta aperto nello stesso scope. verified è uno stato applicativo del registro, né una firma né la certezza che la decisione sia giusta.
decision
La decisione selezionata: id, enunciato, valore, scope, periodo di validità, confidenza e autorità. Può essere presente anche con insufficient_evidence: controlla sempre status e missing_information prima di usarla. null quando non è selezionabile una decisione.
scope
Lo scope su cui la domanda è stata risolta. Se non lo passi in input, è quello della decisione trovata.
temporal_validity
as_of seleziona la data di validità, oggi se omessa. Revoche e risoluzioni dei conflitti attuali si applicano anche alle date passate: non ricostruisce ciò che era noto allora.
sources, evidence
sources elenca le fonti della decisione, delle superate, delle eccezioni e dei conflitti. evidence porta gli estratti, con verified true quando l’estratto è stato riscontrato nel testo della fonte. Mai il documento intero.
superseded_decisions
Le decisioni che quella in vigore ha sostituito. Restano nella storia e nella risposta, con il loro valid_to, mai servite come in vigore.
scope_exceptions
Decisioni in vigore su uno scope che non si sovrappone a quello risolto: qui MongoDB per legacy. Il client sa che esistono e dove si applicano.
conflicts, missing_information
I claim incompatibili con la decisione, con l’id della relazione, le fonti e la motivazione. Finché uno resta open, lo stato è contested e missing_information lo dice in chiaro.
context_metrics, drill_down
context_metrics confronta i caratteri delle fonti con quelli degli estratti restituiti. drill_down dice se serve un altro tool (get_decision_history, find_conflicts) o se questa risposta basta.

Tieni la documentazione di un repository libera da contraddizioni.

Un plugin per Claude Code che analizza i markdown e i commenti con affermazioni di un repository e mostra dove si contraddicono. Tu revisioni ogni segnalazione su un grafo locale, approvi o scarti, e l’agente applica le correzioni approvate.

  • Trova contraddizioni, sostituzioni e duplicati fra affermazioni di file diversi.
  • Segnala le domande a cui il repository ha già risposto, i documenti orfani e i link a materiale superato.
  • Distingue affermazione vincolante e provvisoria per convenzione, dal percorso e dal nome del file, e data ogni affermazione dal git.
  • Revisione umana su un grafo locale: approvi, mantieni la tensione o scarti, con una nota.
  • Applica solo ciò che approvi, un agente per file, con verifica delle modifiche.
  • Non committa mai. Il diff lo rivedi tu.

Quello che aggiunge non è una migliore individuazione delle contraddizioni, ma uno strato di stato materializzato: quale affermazione è vincolante, quale è stata ritirata e da cosa, quale domanda è ancora aperta, datata per affermazione dal git.

OIDA for Code su GitHub

/plugin marketplace add Project-OIDA/oida-for-code
/plugin install oida-for-code@oida-tools
/oida-for-code:scan [path]
/oida-for-code:structure [path]

Claude Code con supporto ai plugin, git, python3 (solo libreria standard). Licenza MIT.

La ricerca porta ogni versione. OIDA porta lo stato.

Stesso modello, stessa domanda. Cambia ciò che entra nella finestra di contesto prima che il modello risponda.

Con la ricerca

  • I passaggi più simili alla domanda, da ogni versione del documento.
  • L’ADR in vigore e l’ADR superata come testo equivalente.
  • Un’eccezione senza il suo scope: il modello deve indovinare dove si applica.
  • Il messaggio in chat più recente pesa quanto la decisione approvata.
  • Il silenzio del registro è indistinguibile da un documento non trovato.

Con OIDA

  • Uno stato: verified, contested, insufficient_evidence o unknown.
  • La decisione in vigore, con scope e periodo di validità.
  • Le decisioni superate come storia, con la data in cui hanno smesso di valere.
  • Le eccezioni con il loro scope. I conflitti aperti con fonte e motivazione.
  • Gli estratti che sostengono la risposta, mai il documento intero.

Dai pattern ricorrenti a un adattatore che monti tu.

La memoria dice che cosa è in vigore adesso, e cambia quando cambia la decisione. Un adattatore cambia un’altra cosa: la tendenza del modello a rispondere in un certo modo. Non alleni un modello da zero, estrai dal dataset i pattern che contano e li comprimi in pochi pesi.

Il valore non è il volume: serve segnale, contesto, domanda, risposta, ambito, esito e la correzione quando è arrivata. È già la forma in cui la memoria le tiene, per questo non serve un progetto di raccolta a parte.

Esempio illustrativo della stessa domanda, prima e dopo l’adattatore.

Quale architettura scegliamo per questo nuovo servizio?

Solo modello base

Dipende dai requisiti. Potresti usare microservizi, un monolite modulare, serverless o un’architettura a eventi: ognuna ha vantaggi e svantaggi da valutare nel vostro contesto.

  • Struttura diversa a ogni risposta
  • Trade-off elencati, non pesati
  • Nessuna decisione e nessun criterio per prenderla

Modello base + adattatore

Contesto
servizio nuovo, team piccolo, consegna rapida.
Trade-off
oggi la complessità distribuita costa più del valore che porta.
Decisione
monolite modulare, confini di dominio espliciti, percorso di estrazione documentato.
Quando si rivede
alla soglia operativa concordata, non prima.
  • Lo stesso formato ogni volta
  • Gli stessi principi, applicati
  • Chiude con una decisione

Le regole in vigore le porta la memoria. La forma della risposta la porta l’adattatore. Servono entrambe: stato corrente più comportamento appreso.

Oggi OIDA Cloud conserva e non addestra. La pipeline OIDA Intelligence è implementata e testata in un codice separato, non è collegata a Cloud ed è spenta per default. Se la tua organizzazione la usasse, si partirebbe solo da un dataset ammesso da un owner con le regole registrate, e un candidato verrebbe confrontato con una baseline prima che un owner decida la promozione.

Leggi la documentazione

Il tempo perso ha un costo. Misura cosa cambia nel tuo team.

Oltre 6 volte su 10

quando il documento che l’AI recupera contiene un dato sbagliato, l’AI lo ripete come vero: anche se conosceva la risposta giusta

ClashEval, 2024–2025: sei modelli a confronto su oltre 1.200 domande in sei ambiti

50 ore al mese

dedicate a ricostruire decisioni, se dieci persone impiegano un quarto d’ora al giorno

Fare meno errori, gestire l’ontologia e la memoria aziendale al fine di costruire una propria AI proprietaria significa risparmiare denaro.

Ritrova la decisione

Chiedi quale regola vale oggi e leggi la fonte insieme alla risposta.

Il tuo assistente AI

DomandaQuale database usiamo per un nuovo servizio?

Strumentoresolve_decision_state

OIDAuna risposta, con la sua fonte
In vigore

PostgreSQL è il database approvato per i nuovi servizi.

ADR 024 · ambito nuovi-servizi · dal 1 feb 2026

  • ADR 024 · Scelta del databaseI nuovi servizi usano PostgreSQL.primaria

Architettura e sovranità

Le decisioni restano tue, anche quando cambi AI.

Le decisioni restano in un registro separato dal modello AI. Nel servizio Cloud i dati stanno nel database che gestiamo noi e ogni organizzazione ha il proprio spazio di lavoro, chiamato workspace. Per un’integrazione enterprise parliamo direttamente con il tuo reparto IT e conserviamo i dati nella tua infrastruttura, con le tue policy.

I tuoi assistenti AIcompatibili, via MCP

Le tue personeweb app

Chi interrogale tue persone e i tuoi strumenti

OIDAil livello delle decisioni
  • stati risolti con regole esplicite
  • fonti ed evidenze verificabili
  • autorità e ambito registrati
  • Nessuna copia dei documentiOIDA conserva il testo delle fonti che invii, decisioni ed evidenze. Le risposte MCP riportano estratti e riferimenti.

  • Nessun addestramentoOIDA non addestra modelli sui dati del registro. Il dataset resta tuo: ogni uso parte da una tua decisione.

Il tuo databasedove restano le decisioni

Cloudun workspace per organizzazione, dati separati, Francoforte

Integrazione enterprisela tua infrastruttura e le tue policy, concordate con il tuo reparto IT

I tuoi dati restano dove decidi tuGli originali restano nei loro sistemi; OIDA conserva le fonti inviate.

Il modello è l’inquilino. La struttura è tua.

La sovranità dei dati parte da dove sono conservati e da chi può accedervi: per il pilota definiamo questi confini insieme. La sovranità dell’AI parte da una memoria separata dal modello, interrogabile tramite MCP, il protocollo che collega gli assistenti a strumenti esterni. Puoi cambiare assistente compatibile mantenendo lo stesso registro.

95 %e oltre degli intervistati considera importante l’AI privata e sovrana. Il 29 % dà priorità concreta all’AI sovrana nel breve termine
NTT DATA, 2026 Global AI Report, circa 5.000 decisori in oltre 30 mercati
  • Perimetro. Dove vive il registro e chi può leggerlo lo scegli tu, prima che il pilota parta.

  • Modelli. Gli assistenti autorizzati interrogano lo stesso registro, separato dai modelli.

  • Permessi. Accesso per workspace, azioni per ruolo. Un ambito di applicazione non è un permesso di lettura.

  • Efficienza. La risposta porta estratti, stato e riferimenti. Misura nel pilota quanto contesto serve al tuo agente.

Accelerata a Torino, con un advisor scientifico del MIT.

OIDA è accelerata all’interno di Kakashi Venture Accelerator, venture studio AI-native con sede a Torino, e ha come senior scientific advisor Pierfrancesco Beneventano, ricercatore in teoria dell’apprendimento automatico al Massachusetts Institute of Technology. Il metodo è descritto in una pubblicazione con corpora di valutazione pubblici.

Pubblichiamo quello che impariamo.

Tutte le pubblicazioni

Funziona con i client che hai già.

Collega un client compatibile e autorizza l’accesso al workspace. Il tuo agente può interrogare decisioni, fonti e stati tramite MCP. Anche un altro AI autorizzato può consultare lo stesso registro.

Collega il tuo AI

  • ChatGPTin developer mode
  • Claudeweb, desktop e mobile
  • Claude Code
  • Cursor
  • CodexCLI ed estensione IDE
  • GitHub Copilotin VS Code
  • Qualsiasi client MCP

Per iniziare con metodo.

  1. 01

    Documentazione

    Come si collega un client, cosa contiene una risposta, chi approva cosa, dove stanno i dati.

    Leggi la documentazione
  2. 02

    Ricerca

    Il metodo dietro OIDA e le altre pubblicazioni, con corpora di valutazione pubblici.

    Tutte le pubblicazioni
  3. 03

    Guida all’installazione

    Passi e indirizzo del workspace per ogni client compatibile, dentro la web app.

    Apri la guida

Domande frequenti.

Come iniziare, chi approva, chi può leggere e cosa funziona oggi.

Posso usarlo in locale?

Sì. OIDA Local è un processo TypeScript, un file SQLite e un server MCP su STDIO, per un singolo operatore sulla propria macchina. Non è un deployment multi-utente: per un team servono OIDA Cloud o il servizio di integrazione sul vostro database.

Quali client sono testati?

Claude Code, Cursor e Codex hanno completato un’esecuzione reale end to end. ChatGPT in developer mode, le app Claude e GitHub Copilot in VS Code sono documentati e seguono il percorso di configurazione pubblicato dal vendor. Qualsiasi client con Streamable HTTP e OAuth 2.1 può connettersi. I client che inviano solo un header statico no.

È open source?

OIDA for Code è open source con licenza MIT su GitHub. Il codice di OIDA Cloud è rilasciato con licenza MIT, ma il repository non è ancora pubblico.

OIDA è un assistente o una chat?

OIDA è il registro delle decisioni che il tuo assistente AI può interrogare. Continui a lavorare nel client compatibile che usi già. Registri le fonti rilevanti: OIDA non ascolta automaticamente call e conversazioni.

Chi approva una decisione?

Nella modalità predefinita approvano owner e admin. I contributi dei member restano proposte. Un owner può abilitare la governance tra pari, che permette anche ai member di approvare decisioni. Le inferenze dalla prosa restano proposte. Le modifiche all’ontologia richiedono sempre un’approvazione separata di owner o admin.

OIDA addestra modelli sui nostri dati?

OIDA Cloud conserva decisioni, evidenze e storia e non addestra modelli. OIDA Intelligence è una pipeline separata, non collegata a Cloud e disattivata per default. Un suo eventuale uso richiede un dataset ammesso da un owner, regole registrate e una valutazione prima di approvare un modello candidato.

Quali client funzionano oggi?

Claude Code, Cursor e Codex hanno completato un’esecuzione reale end to end. ChatGPT in developer mode, le app Claude e GitHub Copilot in VS Code seguono il percorso pubblicato dal vendor. Qualsiasi client con Streamable HTTP e OAuth 2.1 può connettersi. I client che inviano solo un header statico non possono.

Quanto costa?

OIDA Cloud è in fase pilota. Richiedi una demo per concordare il caso d’uso, l’accesso e le condizioni del pilota.

Parti da una decisione. Verifica cosa risponde la tua AI.

Scegli una decisione cambiata di recente: un’offerta, una procedura o una policy. Porta la fonte precedente e quella approvata.

  1. 01

    Crea il tuo spazio di lavoro

    Registrati con email e nome dell’organizzazione. Conferma l’email quando richiesto e accedi al tuo spazio di lavoro.

  2. 02

    Collega il tuo assistente

    Segui la guida all’installazione: copia l’indirizzo di OIDA nelle impostazioni di un assistente compatibile e autorizza l’accesso.

  3. 03

    Registra, approva, verifica

    Fai proporre al tuo assistente la mappa di temi e ambiti e approvala. Registra la decisione con la fonte, approvala e chiedi cosa vale ora.