Decision Gate Docs

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

Asset Core docs

Glossari de Decision Gate

Definicions curtes i canòniques per als termes de Decision Gate.

Condició

Un node full en un arbre de Requisits que fa referència a un condition_id definit en el ScenarioSpec. Quan s’avalua, busca el ConditionSpec, consulta el proveïdor d’evidències, aplica el comparador i retorna un resultat de tres estats. Els IDs de condició haurien de ser estables i descriptius (per exemple, ‘env_is_prod’, ‘after_freeze’).

ConditionSpec

Assigna un condition_id a una consulta d’evidència, un comparador i un valor esperat. El condition_id és referenciat per les fulles de Requirement. Quan s’avalua, el runtime consulta el proveïdor utilitzant EvidenceQuery (provider_id + check_id + params), aplica el comparador a l’evidència i retorna true/false/unknown. La manca d’esperat (excepte per exists/not_exists) dóna com a resultat unknown.

EvidenceAnchor

Metadades que vinculen l’evidència a la seva font per a la verificació fora de línia. Conté anchor_type i anchor_value establerts pel proveïdor (per exemple, ‘receipt_id’, ‘log_offset’). Els ancoratges permeten rutes d’auditoria: donat un ancoratge, podeu tornar a consultar el proveïdor (si encara està disponible) o verificar contra instantànies arxivades. Els ancoratges s’inclouen en runpacks.

EvidenceContext

Context de temps passat als proveïdors d’evidències durant les consultes. Inclou tenant_id, run_id, scenario_id, stage_id, trigger_id, trigger_time, i un optional correlation_id per a la correlació d’auditoria. El context és només metadades i no canvia la lògica de condicions.

EvidenceQuery

La sol·licitud enviada a un proveïdor d’evidències. Conté provider_id (quin proveïdor preguntar), check_id (quin control del proveïdor executar) i params (arguments específics del proveïdor). La consulta és determinista: la mateixa consulta sempre retorna el mateix resultat donat el mateix estat extern. Les consultes es registren per a auditoria.

EvidenceRef

Una referència URI opaca que apunta a contingut d’evidència emmagatzemat fora del temps d’execució. El temps d’execució registra la referència però no la recupera ni la resol; els auditors externs poden utilitzar la URI per recuperar l’evidència segons sigui necessari.

EvidenceResult

La resposta d’un proveïdor d’evidències. Conté el valor de l’evidència (o el seu hash si la divulgació en brut està bloquejada), el evidence_hash per a la integritat, un enllaç a l’ancora que connecta amb la font, i metadades de signatura opcionals. Els comparadors avaluen contra el camp de valor. Els resultats es capturen en runpacks per a la reproducció.

EvidenceValue

La càrrega de proves real retornada per un proveïdor. Pot ser JSON (objectes, arrays, cadenes, nombres, booleans, null) o bytes en brut. El comparador interpreta el tipus de valor: les comparacions numèriques requereixen nombres, in_set requereix que l’esperat sigui un array. Les incompatibilitats de tipus donen resultats desconeguts.

GateOutcome

El resultat de tres estats d’evaluar una porta: vertader, fals o desconegut. Vertader significa que el requisit està satisfet. Fals significa que l’evidència contradiu el requisit. Desconegut significa que falta l’evidència, el comparador no pot avaluar (incompatibilitat de tipus) o el proveïdor ha fallat. La ramificació pot dirigir-se a qualsevol resultat; només el vertader avança etapes lineals/fixes.

GateSpec

Defineix una única porta dins d’una etapa. Cada porta té un gate_id i un arbre de requisits (expressió RET). Una porta passa només quan el seu requisit s’avalua com a veritable sota la lògica tri-estat de Kleene. Les portes fallen tancades: fals o desconegut bloqueja l’avançament. Múltiples portes en una etapa s’avaluen conjuntament.

Proveïdor

Una font d’evidència (servidor MCP integrat o extern) que respon a les comprovacions d’EvidenceQuery. Els proveïdors estan configurats a decision-gate.toml i es descobreixen mitjançant contractes MCP.

RET

Arbre d’Avaluació de Requisits. Una àlgebra booleana sobre resultats de tres estats que composa nodes And, Or, Not, RequireGroup i Condition. Els RET fan que la lògica de portes sigui explícita i auditable.

RequireGroup

Un operador de quòrum N-of-M en un arbre de Requisits. Especifica un nombre mínim (min) de requisits fills que han de passar. Utilitza lògica de tres estats: retorna veritable quan almenys min fills són veritables; retorna fals quan fins i tot tots els desconeguts que esdevenen veritables no poden arribar a min; en cas contrari, retorna desconegut. Utilitzeu-lo per a l’aprovació de múltiples parts, signatures de llindar o comprovacions redundants.

Requisit

Un Arbre d’Avaluació de Requisits (RET) és una àlgebra booleana sobre resultats de tres estats. Composa nodes And, Or, Not, RequireGroup i Condition en un arbre. L’avaluació utilitza la lògica de Kleene forta: fals domina And, veritable domina Or, i desconegut es propaga. Les portes només passen quan l’arrel s’avalua com a veritable. Els RET fan que la lògica de les portes sigui explícita, auditable i reproduïble.

ScenarioSpec

La especificació completa per a un flux de treball de decisió determinista. Conté una llista ordenada d’etapes, definicions de condicions i polítiques/esquemes opcionals. Un ScenarioSpec és immutable un cop registrat: la seva forma JSON canònica es fa servir per generar el spec_hash. Més del mateix spec + més de la mateixa evidència = les mateixes decisions, sempre.

TimeoutPolicy

Política que controla què passa quan un estadi es queda sense temps. Opcions: ‘fail’ marca l’execució com a fallida amb un motiu de temps esgotat; ‘advance_with_flag’ avança i estableix la bandera de temps esgotat de decisió; ‘alternate_branch’ dirigeix utilitzant resultats desconeguts en les regles de branca. Trieu en funció de la criticitat del flux de treball i les necessitats de direcció.

TriState

Resultat de l’avaluació tri-estat: veritable, fals o desconegut. Utilitzat per comparadors i l’avaluació RET per representar proves mancants o incompatibilitat de tipus sense falsos positius.

advance_to

La política que controla com avança una execució des de l’etapa actual. Quatre modes: ‘linear’ avança a l’etapa següent en ordre; ‘fixed’ salta a una etapa nomenada; ‘branch’ dirigeix en funció dels resultats de les portes (true/false/unknown cadascun mapeja a un next_stage_id); ‘terminal’ acaba l’execució. El mode branch permet fluxos de treball condicionals.

allow_default

Permetre l’espai de noms ‘default’ literal (opció activa). Requereix namespace.default_tenants. Les implementacions en producció haurien d’utilitzar espais de noms explícits per evitar col·lisions entre inquilins.

allow_http

Configuració per proveïdor que permet URLs http:// per al proveïdor d’evidències HTTP. Per defecte és fals (només HTTPS). Habiliteu-ho per a punts finals de salut interns que no tinguin TLS. Preferiu HTTPS per a qualsevol servei accessible a la xarxa.

allowinsecurehttp

Permet URLs http:// (no-TLS) per a proveïdors MCP a nivell global. Desactiveu-ho en producció. Utilitzeu-ho només per al desenvolupament local o xarxes aïllades. El trànsit HTTP no està xifrat i és vulnerable a la interceptació.

allow_logical

Permet marques de temps lògiques en les comprovacions de temps en comptes de requerir unix_millis real. Habilita per a proves i simulacions on es necessita un control de temps determinista. Deshabilita en producció per a restriccions en temps real.

allow_raw

Configuració per proveïdor que permet la divulgació d’evidències en brut. Requereix que allow_raw_values sigui veritable globalment. S’ha d’aplicar als proveïdors la informació dels quals és segura d’exposar (per exemple, caràcters temporals, estat de salut). Ometre per a proveïdors sensibles (secrets, credencials).

allowrawvalues

Configuració global que permet valors d’evidència en brut en els resultats. Quan és fals, els proveïdors retornen hashes en comptes de valors. Habiliteu només quan els sistemes de consum necessitin contingut d’evidència real. Combineu-ho amb require_provider_opt_in per a un control en capes.

allow_yaml

Permet l’anàlisi YAML en el proveïdor d’evidències JSON. YAML és un superconjunt de JSON amb una sintaxi addicional. Habilita quan els fitxers de configuració utilitzin el format YAML. Deshabilita per restringir a JSON pur per a una validació més estricta.

allowed_comparators

Llista d’acceptació de comparadors vàlids per a aquesta sortida de comprovació.

allowed_hosts

Llista blanca d’hostnames per a les sol·licituds sortints del proveïdor HTTP. Només es permeten les URL que coincideixen amb aquests hosts. Prevé SSRF: les consultes a hosts no aprovats fallen amb un error de seguretat. Requerit per a proveïdors http en producció.

allowlist

Llista de claus de variables d’entorn que el proveïdor d’entorn pot llegir. Les consultes per claus que no estan a la llista d’autoritzacions fallen amb un error de política. Utilitzeu llistes d’autoritzacions per limitar l’exposició: només permeteu les variables específiques que necessiten les vostres comprovacions.

tipus_d’ancoratge

Cadenes de tipus d’ancoratge que la comprovació del proveïdor pot emetre.

audit_enabled

Activa el registre d’auditoria MCP estructurat. Quan és fals, els esdeveniments d’auditoria es descarten. El valor per defecte és cert per preservar l’evidència de seguretat i compliment.

audit_path

Ruta del sistema de fitxers per als registres d’auditoria MCP (linies JSON). Quan no està configurat, els esdeveniments d’auditoria es registren a stderr.

bind

Adreça a la qual el servidor MCP s’uneix per a transports HTTP o SSE. Format: ‘host:port’ (per exemple, ‘127.0.0.1:8080’, ‘0.0.0.0:9000’). Requerit quan el transport del servidor és http/sse. Ometre per a stdio.

capabilities_path

Camí del sistema de fitxers a un contracte JSON del proveïdor (contracte de capacitat). El contracte declara les comprovacions suportades, els esquemes de paràmetres i la compatibilitat dels comparadors. El temps d’execució valida les consultes contra el contracte abans de l’enviament. Distribuïu els contractes juntament amb els binaris del proveïdor.

check_id

L’identificador de comprovació del proveïdor per avaluar dins d’un proveïdor. Cada proveïdor exposa comprovacions nomenades (per exemple, ‘get’ per a env, ‘after’ per a time, ‘status’ per a http). El check_id determina què retorna el proveïdor i quins paràmetres accepta. Vegeu providers.json per al catàleg complet de comprovacions per proveïdor.

checks

Llista de verificacions del proveïdor exposades pel contracte del proveïdor.

comparator

L’operador de comparació aplicat a l’evidència. Comparadors suportats: igual, no_igual, major_que, major_o_igual, menor_que, menor_o_igual, conté, en_conjunt, existeix, no_existeix. Tots els comparadors, excepte existeix/no_existeix, requereixen un valor esperat i retornen desconegut en cas de desajustament de tipus. Els comparadors numèrics retornen desconegut per a no-números. existeix/no_existeix ignoren l’esperat.

condition_id

Identificador estable per a una condició dins d’un ScenarioSpec. Els IDs de condició són referenciats per les fulles de requisit i han de ser descriptius i estables (per exemple, ‘env_is_prod’).

conditions

Llista d’entrades ConditionSpec en un ScenarioSpec. Cada condició vincula una comprovació del proveïdor a regles de comparador i valors esperats per a l’avaluació de la porta.

config_schema

JSON Schema validant les entrades de configuració del proveïdor.

contains

Cert quan l’evidència (array o cadena) conté el valor esperat.

content_hash

Hash de metadades per a qualsevol contingut de càrrega. Inclou l’algorisme de hash i el valor de hash. Permet la verificació de la integritat dels paquets, presentacions i proves sense requerir accés al contingut en brut. S’utilitza a través de runpacks.

content_type

Tipus de contingut MIME associat a un valor d’evidència o a la càrrega útil d’un paquet (per exemple, application/json). S’utilitza per a comprovacions de divulgació i compatibilitat.

tipusdecontingut

Tipus de contingut MIME per a valors d’evidència o comprovacions de regles de política. S’utilitza en contractes de proveïdor i regles de política per restringir els formats de càrrega.

correlation_id

Identificador que vincula sol·licituds i decisions relacionades a través de sistemes. Passa un correlation_id amb desencadenants per traçar fluxos de decisió a través de registres, mètriques i serveis externs. Propagat en EvidenceContext per al registre del proveïdor.

Cerca la documentació de Decision Gate per obtenir orientació i millors pràctiques. Retorna seccions classificades amb encapçalaments, metadades de rol i seguiments suggerits. Utilitza això per respondre preguntes sobre productes o polítiques sense abandonar la sessió MCP.

decision_id

Identificador únic per a una decisió enregistrada. Generat quan una avaluació de desencadenament produeix un resultat i vinculat a la seqüència de decisions, trigger_id i stage_id. Els IDs de decisió permeten rutes d’auditoria i depuració.

deep_equals

Igualtat estructural profunda per a objectes i arrays JSON.

deepnotequals

Desigualtat estructural profunda per a objectes i arrays JSON.

predeterminat

Efecte de política per defecte aplicat quan no coincideixen regles. Per defecte és ‘deny’ per a un comportament de fallada tancada.

default_policy

Política de confiança per defecte per a proveïdors d’evidències. Opcions: ‘audit’ o ‘require_signature’ (amb llista de claus). Els proveïdors individuals poden sobreescriure. Comenceu amb ‘audit’ i endureu per a cada proveïdor segons sigui necessari.

default_tenants

Llista blanca d’ID de llogaters permesos per utilitzar l’espai de noms literal ‘default’. Requerit quan allow_default és cert; la llista buida és rebutjada.

denylist

Llista de claus de variables d’entorn que el proveïdor d’entorn mai no ha de llegir. Les consultes per claus denegades fallen immediatament. Utilitzeu les llistes de denegació per a una defensa en profunditat: bloquegeu claus conegudes com a sensibles (API_KEY, SECRET_*, etc.) fins i tot si es consulten accidentalment.

descripció

Resum breu que descriu el comportament i la intenció del proveïdor.

determinisme

Comprovació de l’estabilitat de la sortida del proveïdor: determinista, dependent del temps o extern.

dispatch_targets

Destinacions on es lliuren els paquets emesos. Configureu els objectius a run_config: agent, sessió, extern o canal. Múltiples objectius permeten la distribució a diferents sistemes.

effect

Regla d’efecte de política: ‘permetre’, ‘denegar’ o ‘error’ (fallar tancat amb un error de política).

motor

Selecció del motor de política de dispatch. Opcions: ‘permit_all’, ‘deny_all’ o ‘static’. Utilitzeu ‘static’ per aplicar l’autorització basada en regles. Els motors addicionals es poden afegir mitjançant adaptadors sense canviar el nucli.

entry_packets

Paquets de divulgació emesos quan una execució entra en una etapa. Utilitzeu entry_packets per alliberar informació en punts específics del flux de treball: per exemple, revelar la configuració després de l’aprovació, emetre esdeveniments d’auditoria o activar sistemes posteriors. Els paquets inclouen càrrega útil, schema_id i visibility_labels per al control d’accés.

equals

Cert quan l’evidència és igual a l’esperada (números, cadenes, booleans o valors JSON).

error_message

Missatge d’error a informar quan l’efecte és ‘error’. Requerit per a les regles d’error.

evidence_anchor

Camp EvidenceResult que conté metadades d’ancoratge (anchor_type + anchor_value) utilitzades per vincular l’evidència a la seva font per a la verificació fora de línia.

evidence_hash

SHA-256 hash d’un valor d’evidència per a la verificació de la integritat. Calculat sobre la forma canònica d’EvidenceValue. Els hash d’evidència permeten la verificació sense exposar valors en brut: els auditors poden confirmar que l’evidència coincideix amb les expectatives fins i tot quan la divulgació en brut està bloquejada.

evidència_consulta

Consulta un proveïdor d’evidències amb la política de divulgació configurada aplicada. Retorna el EvidenceResult que conté el valor (o hash), metadades d’ancoratge i una signatura opcional. Utilitza això per depurar condicions o construir portes personalitzades fora del flux de l’escenari estàndard.

evidence_ref

Camp EvidenceResult que conté una referència URI externa al contingut de l’evidència emmagatzemat fora del temps d’execució.

exemples

Exemples d’invocacions de comprovació amb paràmetres i resultats.

exists

Cert és veritable quan el valor de l’evidència està present. S’ignora l’esperat.

esperat

El valor objectiu comparat amb la sortida d’evidència. El tipus ha de coincidir amb el tipus d’evidència: valors JSON per equals/in_set, números per greater_than, arrays per in_set (l’evidència coincideix amb qualsevol element). Si falta o no coincideix l’esperat, el comparador retorna desconegut (fail-closed). No és necessari per exists/not_exists.

forbid_labels

Etiquetes de visibilitat que no han d’estar presents perquè la regla coincideixi.

forbidpolicytags

Etiquetes de política que no han d’estar presents perquè la regla coincideixi.

resultat_porta

El resultat de tres estats d’evaluar una porta: vertader, fals o desconegut. Vertader significa que el requisit està satisfet. Fals significa que l’evidència contradiu el requisit. Desconegut significa que falta l’evidència, el comparador no pot avaluar (incompatibilitat de tipus) o el proveïdor ha fallat. La ramificació pot dirigir-se a qualsevol resultat; només el vertader avança etapes lineals/fixes.

gate_id

Identificador d’una porta dins d’una etapa. Ha de ser únic dins de l’etapa. Apareix en registres d’execució, decisions i rutes de ramificació. Utilitzeu noms descriptius que reflecteixin el que comprova la porta: ‘env_gate’, ‘time_gate’, ‘approval_gate’.

gates

La llista de GateSpecs avaluats quan una execució entra en una etapa. Tots els portals es valoren conjuntament (no es curten). La política advance_to de l’etapa determina com els resultats dels portals afecten la progressió. Múltiples portals permeten comprovacions paral·leles: per exemple, verificar tant les restriccions de temps com les aprovacions abans d’avançar.

generated_at

Timestamp enregistrat al manifest de runpack que indica quan es va crear l’exportació. Expressat com a ISO 8601. Útil per a registres d’auditoria i comprovacions de frescor. No afecta el resultat de la verificació.

greater_than

Cert quan l’evidència numèrica és superior a l’esperada.

greaterthanor_equal

Cert és quan l’evidència numèrica és superior o igual a l’esperada.

hash_algorithm

Algorisme utilitzat per a la hash de proves i artefactes de runpack. Actualment SHA-256 exclusivament. Registrat en manifestos per a la compatibilitat futura. No suposeu altres algorismes sense comprovar aquest camp.

in_set

Cert és veritable quan l’evidència es troba a l’array esperat.

include_verification

Indicador que determina si s’ha d’emetre un informe de verificació juntament amb l’exportació de runpack. Quan és cert, runpack_export també realitza la verificació i inclou l’informe. Útil per a la validació immediata després de l’exportació.

issueentrypackets

Flag que controla si scenario_start emet entry_packets per a l’etapa inicial. Estableix a false per ajornar l’emissió de paquets fins al primer desencadenador o al següent. Útil quan les execucions necessiten configuració abans que comencin les divulgacions.

jsonpath

Selector JSONPath utilitzat pel proveïdor JSON per extreure valors dels documents. La sintaxi segueix l’RFC 9535. Exemples: ‘$.version’, ‘$.config.features[*].name’. El valor extret es converteix en l’evidència per a l’avaluació del comparador.

less_than

Cert quan l’evidència numèrica és menor que l’esperada.

lessthanor_equal

Cert quan l’evidència numèrica és menor o igual a l’esperada.

lexgreaterthan

Comparació de cadenes lexicogràfiques: cert quan l’evidència es classifica després de l’esperat.

lexgreaterthanorequal

Comparació de cadenes lexicogràfiques: cert quan l’evidència es classifica després o és igual a l’esperada.

lexlessthan

Comparació de cadenes lexicogràfiques: cert quan l’evidència s’ordena abans del que s’esperava.

lexlessthanorequal

Comparació de cadenes lexicogràfiques: veritable quan l’evidència s’ordena abans o és igual a l’esperada.

logprecheckpayloads

Opt-in explícit per registrar les càrregues de sol·licitud/resposta de precomprovació en brut. Per defecte, fals; l’auditoria només de hash sempre s’emet quan l’auditoria està habilitada.

lògic

Un valor de timestamp lògic utilitzat per a l’ordenació determinista quan el temps de rellotge no està disponible. Els enters proporcionats pel cridant (>= 0) són acceptats només quan allow_logical està habilitat. Útil per a proves i simulacions.

manifest

El manifest de runpack que conté metadades i hashes per a tots els artefactes. Llista cada fitxer en el runpack amb el seu hash SHA-256, a més de la marca de temps de generació i la referència spec_hash. La verificació compara els hashes calculats amb el manifest per detectar manipulacions o fitxers que falten.

manifest_name

Substitueix el nom del fitxer per al manifest de runpack. Per defecte és ‘manifest.json’. Personalitza’l quan exportis múltiples runpacks al mateix directori o quan integri’s amb sistemes que esperen noms de fitxer específics.

manifest_path

Camí al fitxer de manifest dins del directori runpack. Utilitzat per runpack_verify per localitzar el manifest. Normalment ‘manifest.json’ a l’arrel de runpack. El verificador llegeix aquest fitxer primer per descobrir tots els altres artefactes.

maxbodybytes

Mida màxima del cos de la sol·licitud en bytes per a sol·licituds JSON-RPC. Impedeix que les càrregues excessives esgotin els recursos del servidor. Les sol·licituds que superin aquesta mida es rebutgen abans del processament. Configureu-lo en funció de les mides de càrrega esperades.

max_bytes

Mida màxima del fitxer en bytes que llegirà el proveïdor JSON. Prevé l’exhauriment de recursos a causa de fitxers massa grans. Les consultes per fitxers que superin aquest límit fallen amb un error de validació. Mida adequadament per als teus fitxers de configuració.

maxkeybytes

Longitud màxima en bytes per a les claus de variables d’entorn consultades pel proveïdor d’entorn. Prevé l’exhauriment de recursos a causa de noms de claus patològics. Per defecte, s’estableix un límit raonable. Les consultes que superin aquest límit fallen amb un error de validació.

maxresponsebytes

Mida màxima de la mida del cos de resposta HTTP que llegirà el proveïdor HTTP. Prevé l’exhauriment de memòria per respostes il·limitades. Les respostes que superen això són truncades o rebutjades. Mida per a comprovacions de salut típiques o respostes d’API.

maxvaluebytes

Longitud màxima en bytes per als valors de les variables d’entorn retornades pel proveïdor d’entorn. Prevé que els valors massa grans inflin els resultats de les proves. Els valors que superen aquesta longitud es truncaran o es rebutjaran segons la configuració del proveïdor.

mode

Mode d’operació del servidor: ‘estricte’ (per defecte) o llegat ‘dev_permissive’. Preferiu l’alternança explícita dev.permissive. Dev-permissive relaxa només les proves afirmades i no permet automàticament l’espai de noms per defecte.

name

Nom del proveïdor llegible per humans que apareix en la documentació i les interfícies d’usuari.

not_equals

Cert quan l’evidència no és igual a l’esperada.

not_exists

Cert quan falta el valor de l’evidència. S’ignora l’esperat.

notes

Notes opcionals sobre el comportament del proveïdor o el determinisme.

on_timeout

Política de temps d’espera (TimeoutPolicy). Sempre present a StageSpec i utilitzada només quan el temps d’espera està establert; ignorada quan el temps d’espera és nul. Suporta comportaments ‘fail’, ‘advance_with_flag’ o ‘alternate_branch’.

output_dir

Directori on runpack_export escriu el paquet d’auditoria per a l’emmagatzematge del sistema de fitxers. Opcional quan s’ha configurat l’emmagatzematge gestionat de runpack. Assegureu-vos que hi hagi permisos d’escriptura i suficient espai al disc. Els fitxers existents poden ser sobreescrits.

substitucions

Mapa d’override determinista per a valors d’entorn durant les proves. Les claus en overrides substitueixen les cerques reals de l’entorn, assegurant proves reproductibles. Utilitzeu-ho per a CI/CD on l’entorn varia entre executors.

packet_id

Identificador per a un paquet de divulgació. Ha de ser únic dins l’escenari. S’utilitza per fer un seguiment de les emissions, filtrar per tipus de paquet i correlacionar amb dispatch_targets. Es fa referència en entry_packets i diaris de divulgació.

packet_ids

Identificadors de paquet permesos per la norma.

params

Paràmetres específics del proveïdor passats a una comprovació. L’estructura varia segons el proveïdor: env.get necessita {key}, time.after necessita {timestamp}, http.status necessita {url}. Paràmetres requerits invàlids o que falten fan que el proveïdor falli, resultant en un resultat desconegut.

params_required

Si s’han de proporcionar EvidenceQuery.params per a aquesta comprovació.

params_schema

JSON Schema per a la càrrega de paràmetres de comprovació del proveïdor.

payload

El cos de contingut d’un paquet, presentació o càrrega de desencadenament. Codificat com a PacketPayload: json, bytes o content_ref extern (uri + content_hash, xifratge opcional). Les càrregues es xifren per a la integritat i poden ser validades segons l’esquema abans de l’emissió.

permissiu

Commutador explícit només per a desenvolupadors per permetre evidències afirmades. Utilitzeu només en desenvolupament local o en entorns de prova controlats; emet advertències i metadades d’auditoria.

permissiveexemptproviders

IDs de proveïdors exempts de relaxacions de permisos de desenvolupament (per exemple, proveïdors d’Asset Core).

permissive_scope

Selector d’abast permissiu. Actualment fixat a asserted_evidence_only per a v1.

permissivettldays

TTL opcional (dies) per a advertències de permís de desenvolupament. Utilitza la configuració mtime per emetre advertències d’expiració quan es supera el TTL.

permissive_warn

Emet advertències i esdeveniments d’auditoria de seguretat quan dev-permissive està habilitat o ha caducat.

policy_tags

Etiquetes aplicades a les execucions, condicions o divulgacions per al encaminament de polítiques. Les etiquetes permeten un comportament condicional: diferents regles de divulgació per a cada entorn, límits de taxa específics per a l’inquilí o categories d’auditoria. Defineix etiquetes en el ScenarioSpec i aplica-les a les execucions, condicions, paquets o temps d’espera segons sigui necessari.

precomprovació

Avalua un escenari contra dades afirmades sense mutar l’estat d’execució. Valida les dades afirmades contra una forma registrada i retorna el resultat de decisió per a la simulació. Utilitza això com el bucle d’iteració ràpida per als agents abans d’executar l’escenari auditat scenario_next.

proveidorcomprovaresquema_obtenir

Recupera detalls de l’esquema a nivell de comprovació per a un proveïdor (esquema de paràmetres, esquema de resultats, llistes d’acceptació de comparadors i exemples). Utilitza això per redactar formularis o orientació LLM sense carregar el contracte complet del proveïdor.

proveedorcontracteobtenir

Recupera el JSON del contracte del proveïdor canònic i el seu hash per a un proveïdor. Utilitza això per descobrir esquemes de comprovació, llistes d’acceptació de comparadors i exemples. La divulgació està controlada per l’autorització i la política de visibilitat del contracte del proveïdor.

provider_id

Identificador per a un proveïdor d’evidències registrat en decision-gate.toml. Els proveïdors subministren comprovacions: ‘time’ per a caràcters de temps, ‘env’ per a variables d’entorn, ‘http’ per a comprovacions de salut, ‘json’ per a consultes de fitxers. Es poden registrar proveïdors personalitzats mitjançant la configuració de MCP.

llista_proveïdors

Llistes de proveïdors d’evidències registrades i resum de les seves capacitats. Retorna identificadors de proveïdors, metadades de transport i visibilitat amb abast de política. Utilitzeu això per descobrir proveïdors disponibles i comprovacions suportades.

registre

Wrapper per a les respostes de presentació. Conté submission_id, run_id, payload, content_type, content_hash, submitted_at i correlation_id. Registra proves que els artefactes han estat presentats i hashats per a auditoria.

request

Wrapper per a les càrregues útils de sol·licitud d’eina. S’utilitza en missatges del protocol MCP. Conté el nom de l’eina, paràmetres i metadades de la sol·licitud. Estructura interna; la majoria dels usuaris interactuen a través d’eines de nivell superior scenario_*.

require_labels

Etiquetes de visibilitat que han d’estar presents perquè la regla coincideixi.

requirepolicytags

Etiquetes de política que han de ser presents perquè la regla coincideixi.

requireprovideropt_in

Requereix que els proveïdors optin explícitament per la divulgació en brut mitjançant allow_raw a la seva configuració. Encara que allow_raw_values sigui cert globalment, els proveïdors sense opt-in retornen hashes. Defensa en profunditat per a proves sensibles.

requirement

L’expressió RET que ha de satisfer una porta. Aquest camp conté l’arrel d’un arbre de Requisits (And/Or/Not/RequireGroup/Condition). La porta passa només quan tot l’arbre s’avalua com a veritable. Dissenyeu requisits per gestionar resultats desconeguts de manera explícita mitjançant ramificacions o llindars de RequireGroup.

result

Exemple de valor de sortida per a una invocació de comprovació.

result_schema

JSON Schema per als valors de sortida de la comprovació del proveïdor.

root

Directori base per a la resolució de fitxers del proveïdor JSON. Els camins dels fitxers en les consultes es resolen relatius a l’arrel. Prevé el recorregut de directoris: els camins que escapen l’arrel fallen amb un error de seguretat. Establiu-lo al directori de configuració o a una carpeta de dades dedicada.

regles

Llista ordenada de regles de política. La primera regla que coincideixi amb la sol·licitud d’enviament guanya.

run_config

Configuració proporcionada en iniciar una execució mitjançant scenario_start. Inclou tenant_id, run_id, scenario_id, dispatch_targets i policy_tags. La configuració de l’execució és immutable després d’iniciar-se i es registra en runpacks per a la reproductibilitat.

run_id

Identificador únic que delimita una única execució d’un escenari. Generat a scenario_start i utilitzat per a totes les operacions posteriors. Els IDs d’execució apareixen en runpacks, decisions i registres d’auditoria. Mantingueu els run_ids per a la correlació i la resposta a incidents.

runstatestore

Configuració del backend per a la persistència de l’estat d’execució. Les opcions inclouen en memòria (per a proves) o SQLite. La botiga conté el progrés de l’execució, la història de decisions i els desencadenants pendents. Configureu la durabilitat i la retenció en funció de les necessitats de compliment.

runpack_dir

Directori arrel d’un runpack per a la verificació. runpack_verify llegeix el manifest des d’aquesta ubicació i comprova tots els artefactes referenciats. Apunteu al directori que conté manifest.json.

runpack_export

Exporta un paquet d’auditoria determinista (runpack) que conté l’especificació de l’escenari, tots els desencadenants, les avaluacions de portes, les decisions i els paquets de divulgació. El manifest inclou hashes SHA-256 de cada artefacte. Els runpacks permeten la verificació offline: qualsevol pot reproduir la lògica de decisió i confirmar els mateixos resultats.

runpack_verify

Verifica el manifest i els artefactes d’un runpack fora de línia. Comprova que tots els hashes coincideixin, que la seqüència de decisions sigui internament coherent i que no falti cap artefacte ni hagi estat manipulat. Retorna un informe de verificació. Utilitza això per a auditories de compliment, revisió d’incidents o validació de portes CI/CD.

escenari_definir

Registra un ScenarioSpec amb el runtime i retorna el seu spec_hash canònic. El runtime valida l’estructura de l’especificació, comprova que totes les condicions i proveïdors referenciats existeixin, i calcula un hash SHA-256 de la forma JSON canònica. Emmagatzema el spec_hash per a l’auditoria: prova quina especificació exacta va governar una execució.

scenario_id

Identificador estable per a un escenari al llarg del seu cicle de vida: registre, execucions i auditories. Trieu identificadors descriptius i versionats (per exemple, ‘deployment-gate-v2’). L’scenario_id més spec_hash identifiquen exactament quina definició de flux de treball s’ha utilitzat.

scenario_ids

Identificadors de scenario permesos per la regla.

escenari_seguent

Avalua les portes per a l’etapa actual i avança o manté l’execució. Aquest és el principal motor per als fluxos de treball controlats per agents. Totes les portes han de ser certes per avançar; d’altra manera, l’execució es manté. Les etapes de ramificació utilitzen els resultats de les portes per seleccionar el next_stage_id un cop les portes han passat. Les polítiques de temps d’espera poden sintetitzar resultats per al encaminament d’branches alternatius. Retorna la decisió i la nova etapa, amb nivells de retroalimentació opcionals (resum, traç, evidència) quan ho permet la política de retroalimentació del servidor.

escenari_inici

Crea un nou estat d’execució per a un escenari registrat. Inicialitza l’execució a la primera etapa i opcionalment emet entry_packets com a divulgacions. Retorna un run_id que abasta totes les operacions posteriors. L’execució comença en l’estat actiu amb stage_entered_at establert a partir de started_at.

estat_escenari

Obté una instantània de només lectura d’una execució sense modificar-la. Retorna current_stage_id, status, last_decision, issued_packet_ids i un resum opcional safe_summary per a les visualitzacions de la interfície d’usuari. Utilitza això per a taulers de control, enquestes i depuració. La resposta omet els valors d’evidència en brut.

escenari_enviar

Submet artefactes externs a la pista d’auditoria d’una execució per a una revisió posterior. Utilitzeu això per adjuntar documents, signatures o rebuts per a l’auditoria i l’exportació de runpack. Les càrregues es xifren en content_hash i es registren al registre de presentacions. Les presentacions són idempotents per submission_id; les càrregues en conflicte retornen un error de conflicte.

escenari_disparador

Submet un esdeveniment de desencadenament amb una marca de temps explícita i avalua l’execució. A diferència de scenario_next, els desencadenants porten metadades de tipus, source_id i un payload opcional per a verificacions basades en el temps i auditoria. El trigger_id assegura un processament idempotent: les trucades repetides amb el mateix trigger_id retornen la decisió emmagatzemada.

escenaris_llista

Llistes de scenarios registrats per a un llogater i un espai de noms. Retorna identificadors de scenarios i hashes de especificacions per donar suport a l’inventari i l’auditoria.

schema_id

Identificador per a un esquema adjunt a paquets. Els esquemes validen l’estructura de la càrrega útil abans de l’emissió. Registreu esquemes a l’array d’esquemes de ScenarioSpec. Els paquets fan referència als esquemes mitjançant schema_id per a la seguretat de tipus i la documentació.

schema_ids

Identificadors d’esquema permesos per la regla.

schemas_obtenir

Recupera una forma de dades específica mitjançant schema_id i versió per a un inquilí i un espai de noms. Fallarà tancat quan el esquema falti.

esquemes_llista

Llistes de formes de dades registrades per a un inquilí i un espai de noms. Suporta la paginació mitjançant cursor i límit. Utilitzeu això per descobrir les versions de esquema disponibles.

esquemes_registre

Registra un esquema de forma de dades per a un inquilí i un espai de noms. Els esquemes són immutables; tornar a registrar la mateixa versió falla. Inclou created_at per capturar quan es va redactar l’esquema.

signatura

Metadades de la signatura criptogràfica adjuntes a l’evidència. Conté l’esquema de signatura (per exemple, ed25519), l’identificador de la clau pública i els bytes de la signatura. Permet als proveïdors demostrar l’autenticitat de l’evidència. Els verificadors poden comprovar les signatures fora de línia utilitzant la referència de la clau ancorada.

spec_hash

Un hash SHA-256 canònic del ScenarioSpec en forma JSON determinista. Dos specs amb contingut idèntic sempre produeixen el mateix hash independentment de l’ordre dels camps. Emmagatzema el spec_hash quan comences una execució: prova exactament quina versió del spec va governar les decisions. Essencial per a l’auditoria i el compliment.

stageenteredat

Timestamp enregistrat quan la execució va entrar a l’etapa actual. S’utilitza per avaluar els temps d’espera de les etapes i per a la reproducció d’auditories. S’estableix a scenario_start i s’actualitza en els avanços.

stage_id

Identificador per a una etapa dins d’un escenari. Ha de ser únic dins del ScenarioSpec. Referenciat per les polítiques advance_to i els objectius de branca. Els IDs d’etapa apareixen en l’estat d’execució, les decisions i les emissions de l’entry_packet. Utilitzeu noms descriptius: ‘aproval’, ‘verificació’, ‘llibertat’.

stage_ids

Identificadors d’etapa permesos per la norma.

etapes

Una llista ordenada de fases de decisió en un ScenarioSpec. Cada etapa conté portes per avaluar i una política advance_to. Les execucions progressen a través de les etapes de manera seqüencial, llevat que les ramificacions les redirigeixin. Les etapes aïllen les preocupacions: les etapes inicials poden comprovar els requisits previs, les etapes intermèdies verifiquen les condicions, i les etapes finals autoritzen les accions.

started_at

Timestamp proporcionat pel cridant que marca quan va començar l’execució. Requerit a scenario_start i utilitzat per a càlculs de temps, stage_entered_at i registres d’auditoria. Es prefereixen timestamps explícits per a la reproducció determinista.

estàtic

Configuració de la política de dispatch estàtic. S’aplica quan policy.engine = ‘static’.

estat

Indicador de l’estat actual per a una execució o verificació. Estats d’execució: ‘actiu’, ‘completat’, ‘fallat’. Estats de verificació: ‘aprovat’, ‘no aprovat’. Comproveu l’estat per determinar les pròximes accions o detectar problemes.

storage_uri

Ubicació d’emmagatzematge opcional retornada pels backends d’emmagatzematge runpack gestionats (per exemple, s3://bucket/tenant/namespace/run/runpack.tar). Present només quan el servidor està configurat per exportar runpacks a l’emmagatzematge d’objectes.

submission_id

Identificador per a un artefacte extern presentat a través de scenario_submit. Ha de ser únic dins de l’execució. Permet presentacions idempotents: les trucades repetides amb la mateixa càrrega tornen el registre existent, mentre que les càrregues en conflicte tornen un error.

system

Nom del sistema extern per a objectius de despach.

target

Identificador de destinació extern per a objectius d’enviament.

target_id

Identificador de destinació per a selectors d’agent/sessió/canal.

target_kind

Target kind per a un selector explícit. Opcions: ‘agent’, ‘sessió’, ‘extern’, ‘canal’.

target_kinds

Tipus de destinació permesos per la regla. Opcions: ‘agent’, ‘sessió’, ‘extern’, ‘canal’.

targets

Selectors de destinació explícits per a l’autorització de dispatch.

tenant_id

Identificador per a l’aïllament de llogaters en desplegaments multi-llogater. Àmbits d’execució, emmagatzematges d’estat i polítiques. Les dades de cada llogater estan lògicament separades. Per defecte, s’estableix a un sol llogater si no s’especifica. Requerit per a patrons SaaS i d’infraestructura compartida.

timeout

Configuració del temps d’espera de l’etapa. Establiu un TimeoutSpec que contingui timeout_ms i policy_tags, o null per a no tenir temps d’espera. Els temps d’espera eviten que les execucions es quedin aturades indefinidament i són gestionats per on_timeout.

timeout_ms

Temps d’espera en mil·lisegons. S’utilitza per a temps d’espera de les etapes (TimeoutSpec) i per a sol·licituds del proveïdor HTTP. Les operacions que superen aquesta durada fallen per política.

transport

Protocol de transport MCP per a la comunicació amb proveïdors: ‘stdio’ per a tubs de subprocessos, ‘http’ per a JSON-RPC sobre HTTP, ‘sse’ per a esdeveniments enviats pel servidor. Trieu en funció del desplegament: stdio per a proveïdors locals, http/sse per a serveis remots. Configureu a decision-gate.toml [[providers]].

trigger

Payload de l’esdeveniment enviat a través de scenario_trigger per avançar una execució. Conté trigger_id, run_id, kind, time, source_id, payload opcional i correlation_id. Els triggers es registren per a la reproducció d’auditoria.

trigger_id

Identificador que assegura el processament idempotent dels desencadenants. Les trucades repetides amb el mateix trigger_id retornen la decisió emmagatzemada sense reavaluació. Utilitzeu UUIDs o IDs derivats d’esdeveniments. Crític per a reintents segurs en sistemes distribuïts.

trigger_time

Timestamp proporcionat pel cridant de l’esdeveniment desencadenant utilitzat per les comprovacions de temps i EvidenceContext. Utilitza el tipus Timestamp (unix_millis o lògic quan es permet) per evitar lectures del rellotge. Els auditors poden reproduir les execucions amb el trigger_time enregistrat.

unix_millis

Timestamp Unix expressat en mil·lisegons des de l’epoch (1970-01-01 UTC). Format estàndard per a trigger_time i comprovacions de temps. La precisió en mil·lisegons permet la programació sub-segons. Converteix des d’ISO 8601: analitza a Date, crida a getTime().

user_agent

Cadena d’encapçalament User-Agent per a les sol·licituds del proveïdor HTTP. Per defecte, s’utilitza un identificador de Decision Gate. Personalitzeu per a requisits d’API, identificació de límits de taxa o depuració. Apareix als registres de serveis externs.

visibility_labels

Etiquetes de control d’accés adjuntes als paquets emesos. Les etiquetes estan disponibles per als decisors de polítiques i els consumidors posteriors per implementar regles de divulgació. S’utilitza per a la divulgació graduada: alguns sistemes veuen resums, altres veuen detalls complets.