Decision Gate Docs

Avaluació de portes determinista, reproduïble amb decisions auditable.

Asset Core docs

Integració del Proveïdor de Decision Gate + Arquitectura del Registre de Capacitats

Audience: Engineers implementing provider integration or capability Audiència: Enginyers que implementen la integració de proveïdors o la validació de capacitats per a consultes de verificació, condicions i evidències.


Taula de continguts

  1. Visió Executiva
  2. Configuració del Proveïdor
  3. Registre de Capacitats
  4. Contracts de Proveïdors Externs
  5. Federació de Proveïdors d’Evidències
  6. Tool-Level Enforcement
  7. File per Fitxer Referència Creuada

Executive Overview

La Decision Gate admet dos tipus de proveïdors:

  • Proveïdors integrats (compilats en el binari)
  • Proveïdors MCP externs (transport stdio o HTTP)

Els contractes de capacitat del proveïdor són l’esquema autoritatiu per als paràmetres de comprovació, resultats i comparadors permesos. El registre de capacitats valida les especificacions d’escenaris i les consultes d’evidència abans de l’avaluació. La federació d’evidències dirigeix les consultes als proveïdors i aplica les polítiques de confiança. F:crates/decision-gate-config/src/config.rs L1883-L1990 F:crates/decision-gate-mcp/src/capabilities.rs L229-L379 F:crates/decision-gate-mcp/src/evidence.rs L138-L210


Configuració del proveïdor

La configuració del proveïdor es defineix en ProviderConfig:

  • tipus: builtin o mcp
  • command / url: selecció de transport per a proveïdors MCP
  • capabilities_path: ruta JSON del contracte (requerida per a proveïdors MCP)
  • auth.bearer_token: autenticació del proveïdor opcional
  • trust: substitució de confiança per proveïdor
  • allow_raw: opt-in per a la divulgació d’evidències en brut
  • timeouts: temps d’espera per a la connexió i les sol·licituds HTTP

Els controls de descoberta es defineixen a provider_discovery:

  • allowlist / denylist: restringir quins contractes de proveïdor es divulguen
  • max_response_bytes: mida màxima de la resposta de descoberta

La validació imposa:

  • Els proveïdors de MCP han de especificar command o url i capabilities_path.
  • allow_insecure_http és necessari per a URLs http://.
  • Els noms dels proveïdors són únics i es retallen.
  • Els identificadors integrats (time, env, json, http) estan reservats; els proveïdors de MCP no poden utilitzar-los.
  • Built-ins must use a reserved identifier and reject MCP-only fields (command, url, Els identificadors integrats han d’utilitzar un identificador reservat i rebutjar els camps només MCP (command, url, allow_insecure_http, auth, capabilities_path).

F:crates/decision-gate-config/src/config.rs L1883-L1990


Registre de Capacitats

El registre de capacitats carrega contractes de proveïdors i compila esquemes JSON per a comprovar paràmetres i resultats. Valida:

  • Proveïdor i comprovar existència
  • Presència de paràmetres requerits
  • Conformitat amb l’esquema de paràmetres
  • Conformitat amb l’esquema de valor esperat
  • Llistes blanques de comparadors
  • Anchor types declared by provider contracts (e.g., file_path_rooted for the Tipus d’ancoratge declarats pels contractes del proveïdor (per exemple, file_path_rooted per al proveïdor json integrat)

F:crates/decision-gate-mcp/src/capabilities.rs L313-L379 F:crates/decision-gate-mcp/src/capabilities.rs L598-L636

Les consultes del registre de capacitats són utilitzades tant per les eines de definició d’escenaris com per les eines de consulta d’evidències. F:crates/decision-gate-mcp/src/tools.rs L2029-L2050 F:crates/decision-gate-mcp/src/tools.rs L979-L1017


Contracts de Proveïdors Externs

Els proveïdors externs han de subministrar un fitxer JSON de contracte que:

  • Coincideix amb l’identificador del proveïdor configurat
  • Declara transport = "mcp"
  • Define comprovacions amb llistes de comparadors permeses

Els contractes tenen un límit de mida i són validats pel camí; els contractes invàlids fallen tancats. F:crates/decision-gate-mcp/src/capabilities.rs L533-L591


Federació de Proveïdors d’Evidències

La federació d’evidències combina proveïdors integrats i proveïdors MCP:

  • Els integrats es registren a través del registre de proveïdors.
  • Els proveïdors MCP es creen amb transport stdio o HTTP.
  • El registre de proveïdors rebutja registres duplicats per evitar sobrescriptures silencioses.
  • Stdio provider processes are terminated on drop to avoid orphaned provider Els processos del proveïdor Stdio es finalitzen en caiguda per evitar temps d’execució orfes del proveïdor durant l’apagat o la desinstal·lació de proves.
  • Les polítiques del proveïdor (trust + allow_raw) s’apliquen per proveïdor.
  • Evidence results may include structured error metadata (code, message, Els resultats d’evidència poden incloure metadades d’error estructurat (code, message, details) per suportar bucles de recuperació deterministes.
  • HTTP evidence providers enforce timeouts, disallow redirects, apply response Els proveïdors d’evidència HTTP imposen temps d’espera, no permeten redireccions, apliquen límits de mida de resposta i fallen tancats en cossos truncats (desajustament de Content-Length).

F:crates/decision-gate-mcp/src/evidence.rs L138-L210 F:crates/decision-gate-mcp/src/evidence.rs L248-L266 F:crates/decision-gate-providers/src/http.rs L82-L239

La política de confiança (verificació de signatures) s’executa per resposta del proveïdor. F:crates/decision-gate-mcp/src/evidence.rs L636-L677


Tool-Level Enforcement

El comportament de l’eina imposa la política de capacitat i divulgació:

  • scenario_define valida l’especificació contra les capacitats abans de registrar.
  • evidence_query valida les consultes i aplica la política de redacció d’evidències en brut.
  • evidence_query execution is offloaded to a blocking task to isolate evidence_query s’executa en una tasca bloquejant per aïllar proveïdors bloquejants (HTTP) del temps d’execució asíncron de MCP.
  • provider_contract_get / provider_check_schema_get apply disclosure policy and provider_contract_get / provider_check_schema_get s’apliquen a la política de divulgació i retornen contractes de proveïdor canònics o esquemes de comprovació.
  • Comparator allow-lists are enforced from provider contracts; json.path Les llistes blanques de comparadors s’apliquen a partir dels contractes dels proveïdors; json.path exposa tota la superfície del comparador per a proves JSON deterministes.

F:crates/decision-gate-mcp/src/tools.rs L2029-L2050 F:crates/decision-gate-mcp/src/tools.rs L979-L1037 F:crates/decision-gate-mcp/src/tools.rs L1110-L1150 F:crates/decision-gate-mcp/src/tools.rs L2294-L2334


File per Fitxer Referència Creuada

ÀreaFitxerNotes
Configuració del proveïdor + validaciócrates/decision-gate-config/src/config.rsTipus de proveïdor, transport, ruta del contracte, temps d’espera, descoberta permetre/denegar.
Registre de capacitatscrates/decision-gate-mcp/src/capabilities.rsCàrrega de contractes, compilació d’esquemes, validació.
Federació d’evidènciescrates/decision-gate-mcp/src/evidence.rsRegistre de proveïdors + aplicació de confiança.
Integració d’einescrates/decision-gate-mcp/src/tools.rsValidació de especificacions/consultes i política de divulgació.