Eines del Decision Gate MCP
Descarregar: tooling.json (268 KB) Descarregar: openapi/decision-gate.json (343 KB)
Pàgines de detall de l’eina
scenario_define- Registra un ScenarioSpec, valida’l i retorna el hash canònic utilitzat per a les comprovacions d’integritat.scenario_start- Crea un nou estat d’execució per a un escenari i, opcionalment, emet paquets d’entrada.scenario_status- Obteniu una instantània de lectura només i un resum segur sense canviar l’estat.scenario_next- Avaluar les portes en resposta a una sol·licitud següent impulsada per un agent.scenario_submit- Enviar artefactes externs a l’estat d’execució per a auditoria i avaluació posterior.scenario_trigger- Enviar un esdeveniment de desencadenament (programador/external) i avaluar l’execució.evidence_query- Consultar un proveïdor d’evidències amb el context d’execució complet i la política de divulgació.runpack_export- Exporta artefactes de runpack deterministes per a la verificació fora de línia.runpack_verify- Verifica un manifest de runpack i artefactes fora de línia.providers_list- Llista de proveïdors d’evidències registrats i resum de capacitats.provider_contract_get- Obtenir el contracte canònic del proveïdor en format JSON i el seu hash per a un proveïdor.provider_check_schema_get- Obtenir detalls de l’esquema de comprovació (params/resultat/comparadors) per a un proveïdor.schemas_register- Registra un esquema de forma de dades per a un inquilí i un espai de noms.schemas_list- Llista de formes de dades registrades per a un inquilí i un espai de noms.schemas_get- Obtenir una forma de dades específica mitjançant l’identificador i la versió.scenarios_list- Llista de scenarios registrats per a un llogater i un espai de noms.precheck- Avaluar un escenari contra dades afirmades sense mutar l’estat.decision_gate_docs_search- Cerqueu la documentació de Decision Gate per a orientació en temps d’execució.
Aquest document resumeix la superfície de l’eina MCP i l’ús esperat. Els esquemes complets es troben a tooling.json, amb esquemes de suport sota schemas/ i exemples sota examples/.
Inici ràpid del cicle de vida
scenario_defineregistra i valida un ScenarioSpec.scenario_startcrea una execució i opcionalment emet paquets d’entrada.scenario_nextavança una execució impulsada per agents;scenario_triggeravança el temps/activadors externs.scenario_statusconsulta l’estat d’execució sense modificar-lo.scenario_submitafegeix artefactes externs per a auditoria i verificacions posteriors.runpack_exportirunpack_verifysuporten la verificació fora de línia.
Referències d’artefactes
authoring.md: formats d’autoria i orientació sobre normalització.[scenario.json](/downloads/decision-gate/examples/scenario.json): exemple complet de ScenarioSpec.examples/scenario.ron: exemple de ScenarioSpec amigable per a l’autoria.[run-config.json](/downloads/decision-gate/examples/run-config.json): exemple de configuració d’execució per a scenario_start.[decision-gate.toml](/downloads/decision-gate/examples/decision-gate.toml): exemple de configuració MCP per a proveïdors.
| Eina | Descripció |
|---|---|
| scenario_define | Registrar un ScenarioSpec, validar-lo i retornar el hash canònic utilitzat per a les comprovacions d’integritat. |
| scenario_start | Crear un nou estat d’execució per a un escenari i opcionalment emetre paquets d’entrada. |
| scenario_status | Obtenir una instantània d’execució de només lectura i un resum segur sense canviar l’estat. |
| scenario_next | Avaluar portes en resposta a una sol·licitud següent impulsada per un agent. |
| scenario_submit | Presentar artefactes externs a l’estat d’execució per a auditoria i avaluació posterior. |
| scenario_trigger | Presentar un esdeveniment de desencadenament (programador/extern) i avaluar l’execució. |
| evidence_query | Consultar un proveïdor d’evidències amb el context complet de l’execució i la política de divulgació. |
| runpack_export | Exportar artefactes de runpack deterministes per a verificació fora de línia. |
| runpack_verify | Verificar un manifest de runpack i artefactes fora de línia. |
| providers_list | Llistar proveïdors d’evidències registrats i resum de capacitats. |
| provider_contract_get | Obtenir el JSON del contracte canònic del proveïdor i el hash per a un proveïdor. |
| provider_check_schema_get | Obtenir detalls del esquema de comprovació (params/result/comparadors) per a un proveïdor. |
| schemas_register | Registrar un esquema de forma de dades per a un llogater i un espai de noms. |
| schemas_list | Llistar formes de dades registrades per a un llogater i un espai de noms. |
| schemas_get | Obtenir una forma de dades específica per identificador i versió. |
| scenarios_list | Llistar escenaris registrats per a un llogater i un espai de noms. |
| precheck | Avaluar un escenari contra dades afirmades sense mutar l’estat. |
| decision_gate_docs_search | Cercar documentació de Decision Gate per a orientació en temps d’execució. |
escenari_definir
Registra un ScenarioSpec, valida’l i retorna el hash canònic utilitzat per a les comprovacions d’integritat.
Inputs
- spec (requerit): Especificació de l’escenari per registrar.
Sortides
- scenario_id (required): Identificador de l’escenari.
- spec_hash (requerit): Tipus: object.
Notes
- Utilitzeu abans d’iniciar les curses; scenario_id es converteix en el controlador estable per a les crides posteriors.
- Valida els IDs d’etapa/port/condició, arbres RET i referències de condició.
- El hash de l’especificació és determinista; emmagatzema-ho per a l’auditoria i la integritat del paquet.
- Els errors es tanquen en especificacions no vàlides o IDs de scenario duplicats.
Exemple
Registra l’especificació de l’escenari d’exemple.
Input:
{
"spec": {
"conditions": [
{
"comparator": "equals",
"condition_id": "env_is_prod",
"expected": "production",
"policy_tags": [],
"query": {
"check_id": "get",
"params": {
"key": "DEPLOY_ENV"
},
"provider_id": "env"
}
},
{
"comparator": "equals",
"condition_id": "after_freeze",
"expected": true,
"policy_tags": [],
"query": {
"check_id": "after",
"params": {
"timestamp": 1710000000000
},
"provider_id": "time"
}
}
],
"default_tenant_id": null,
"namespace_id": 1,
"policies": [],
"scenario_id": "example-scenario",
"schemas": [],
"spec_version": "v1",
"stages": [
{
"advance_to": {
"kind": "terminal"
},
"entry_packets": [
{
"content_type": "application/json",
"expiry": null,
"packet_id": "packet-hello",
"payload": {
"kind": "json",
"value": {
"message": "hello",
"purpose": "scenario entry packet"
}
},
"policy_tags": [],
"schema_id": "schema-hello",
"visibility_labels": [
"public"
]
}
],
"gates": [
{
"gate_id": "env_gate",
"requirement": {
"Condition": "env_is_prod"
}
},
{
"gate_id": "time_gate",
"requirement": {
"Condition": "after_freeze"
}
}
],
"on_timeout": "fail",
"stage_id": "main",
"timeout": null
}
]
}
}
Output:
{
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
}
escenari_inici
Crea un nou estat d’execució per a un escenari i opcionalment emet paquets d’entrada.
Inputs
- issue_entry_packets (required): Emetre paquets d’entrada immediatament.
- run_config (requerit): Configuració d’execució i objectius de despach.
- scenario_id (required): Identificador de l’escenari.
- started_at (requerit): Timestamp d’inici de la execució proporcionat pel cridant.
Sortides
- current_stage_id (required): Identificador de l’etapa actual.
- decisions (requerit): Tipus: array.
- dispatch_targets (required): Tipus: array.
- gate_evals (requerit): Tipus: array.
- namespace_id (requerit): Identificador de l’espai de noms.
- paquets (requerit): Tipus: array.
- run_id (requerit): Identificador de la execució.
- scenario_id (required): Identificador de l’escenari.
- spec_hash (requerit): Tipus: object.
stage_entered_at(requerit): Un dels: objecte, objecte.- status (requerit): Tipus: string.
- submissions (requerit): Tipus: array.
- tenant_id (required): Identificador del llogater.
- tool_calls (required): Tipus: array.
- triggers (requerit): Tipus: array.
Notes
- Requereix RunConfig (tenant_id, run_id, scenario_id, dispatch_targets).
- Utilitzeu started_at per enregistrar la marca de temps d’inici proporcionada pel que truca.
- Si issue_entry_packets és cert, els paquets d’entrada es revelen immediatament.
- Tanca si run_id ja existeix o scenario_id és desconegut.
Exemple
Inicieu una execució per a l’escenari d’exemple i emeteu paquets d’entrada.
Input:
{
"issue_entry_packets": true,
"run_config": {
"dispatch_targets": [
{
"agent_id": "agent-alpha",
"kind": "agent"
}
],
"namespace_id": 1,
"policy_tags": [],
"run_id": "run-0001",
"scenario_id": "example-scenario",
"tenant_id": 1
},
"scenario_id": "example-scenario",
"started_at": {
"kind": "unix_millis",
"value": 1710000000000
}
}
Output:
{
"current_stage_id": "main",
"decisions": [],
"dispatch_targets": [
{
"agent_id": "agent-alpha",
"kind": "agent"
}
],
"gate_evals": [],
"namespace_id": 1,
"packets": [],
"run_id": "run-0001",
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"stage_entered_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"status": "active",
"submissions": [],
"tenant_id": 1,
"tool_calls": [],
"triggers": []
}
estat_escenari
Obteniu una instantània de lectura només i un resum segur sense canviar l’estat.
Inputs
- request (required): Càrrega útil de la sol·licitud d’estat.
- scenario_id (required): Identificador de l’escenari.
Sortides
- current_stage_id (required): Identificador de l’etapa actual.
- issued_packet_ids (required): Tipus: array.
last_decision(requerit, nullable): Un dels següents: null, objecte.- namespace_id (opcional): Identificador de l’espai de noms.
- run_id (requerit): Identificador de la execució.
safe_summary(requerit, nullable): Un dels següents: null, objecte.- scenario_id (required): Identificador de l’escenari.
- status (requerit): Tipus: string.
Notes
- S’utilitza per a enquestes o estat de la interfície d’usuari; no avalua portes.
- Els resums segurs ometen els valors d’evidència i poden incloure pistes de reintents.
- Retorna els IDs de paquet emesos per ajudar a rastrejar les divulgacions.
Exemple
Estat de l’execució de la consulta sense avançar l’execució.
Input:
{
"request": {
"correlation_id": null,
"namespace_id": 1,
"requested_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"run_id": "run-0001",
"tenant_id": 1
},
"scenario_id": "example-scenario"
}
Output:
{
"current_stage_id": "main",
"issued_packet_ids": [],
"last_decision": null,
"run_id": "run-0001",
"safe_summary": null,
"scenario_id": "example-scenario",
"status": "active"
}
escenari_seguent
Avalua les portes en resposta a una sol·licitud següent impulsada per un agent.
Inputs
feedback(opcional, nul·la): Nivell de retroalimentació opcional per sobreescriure per a scenario_next.- request (required): Proper següent del payload d’una agent.
- scenario_id (required): Identificador de l’escenari.
Sortides
- decisió (requerit): Tipus: objecte.
feedback(opcional, nul·la): Un dels següents: null, objecte.- paquets (requerit): Tipus: array.
- status (requerit): Tipus: string.
Notes
- Idempotent per trigger_id; les trucades repetides retornen la mateixa decisió.
- Registres de decisió, proves i divulgacions de paquets en estat d’execució.
- Requereix una execució activa; les execucions completades o fallides no avancen.
- El comentari opcional pot incloure el rastreig de la porta o proves quan ho permeti la política de comentaris del servidor.
Exemple
Exemple 1: Avaluar el següent pas impulsat per agents per a una execució.
Input:
{
"request": {
"agent_id": "agent-alpha",
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
},
"scenario_id": "example-scenario"
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"packets": [],
"status": "completed"
}
Exemple 2: Avaluar una execució i sol·licitar comentaris sobre el rastreig.
Input:
{
"feedback": "trace",
"request": {
"agent_id": "agent-alpha",
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
},
"scenario_id": "example-scenario"
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"feedback": {
"gate_evaluations": [],
"level": "trace"
},
"packets": [],
"status": "completed"
}
escenari_enviar
Presentar artefactes externs en l’estat d’execució per a auditoria i avaluació posterior.
Inputs
- request (obligatori): Càrrega de la sol·licitud i metadades.
- scenario_id (required): Identificador de l’escenari.
Sortides
- registre (requerit): Tipus: objecte.
Notes
- El payload es fa un hash i es desa com un registre de presentació.
- No avança la carrera per si mateix.
- Utilitzeu per als artefactes el model o operador subministrat.
Exemple
Presenta un artefacte extern per a auditoria i avaluació posterior.
Input:
{
"request": {
"content_type": "application/json",
"correlation_id": null,
"namespace_id": 1,
"payload": {
"kind": "json",
"value": {
"artifact": "attestation",
"status": "approved"
}
},
"run_id": "run-0001",
"submission_id": "submission-0001",
"submitted_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"tenant_id": 1
},
"scenario_id": "example-scenario"
}
Output:
{
"record": {
"content_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"content_type": "application/json",
"correlation_id": null,
"payload": {
"kind": "json",
"value": {
"artifact": "attestation",
"status": "approved"
}
},
"run_id": "run-0001",
"submission_id": "submission-0001",
"submitted_at": {
"kind": "unix_millis",
"value": 1710000000000
}
}
}
escenari_disparador
Envia un esdeveniment de desencadenament (programador/external) i avalua l’execució.
Inputs
- scenario_id (required): Identificador de l’escenari.
- trigger (requerit): Payload de l’esdeveniment de desencadenament.
Sortides
- decisió (requerit): Tipus: objecte.
- paquets (requerit): Tipus: array.
- status (requerit): Tipus: string.
Notes
- El temps d’activació és subministrat pel qui crida; no es fan lectures del rellotge de paret.
- Registra l’esdeveniment de desencadenament i la decisió resultant.
- Utilitzeu per a desencadenants basats en el temps o sistemes externs.
Exemple
Avança una execució des d’un programador o un desencadenant extern.
Input:
{
"scenario_id": "example-scenario",
"trigger": {
"correlation_id": null,
"kind": "tick",
"namespace_id": 1,
"payload": null,
"run_id": "run-0001",
"source_id": "scheduler-01",
"tenant_id": 1,
"time": {
"kind": "unix_millis",
"value": 1710000000000
},
"trigger_id": "trigger-0001"
}
}
Output:
{
"decision": {
"correlation_id": null,
"decided_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"decision_id": "decision-0001",
"outcome": {
"kind": "complete",
"stage_id": "main"
},
"seq": 0,
"stage_id": "main",
"trigger_id": "trigger-0001"
},
"packets": [],
"status": "completed"
}
evidència_consulta
Consulta un proveïdor d’evidències amb el context complet d’execució i la política de divulgació.
Inputs
- context (required): Context de l’evidència utilitzat per a l’avaluació.
- query (required): Càrrega de consulta d’evidències.
Sortides
- result (required): Tipus: object.
Notes
- La política de divulgació pot redactar valors en brut; els hashes/ancres encara es retornen.
- Utilitzeu per a diagnòstics o comprovacions abans del vol; el temps d’execució utilitza la mateixa lògica del proveïdor.
- Requereix provider_id, check_id i EvidenceContext complet.
Exemple
Consulta un proveïdor d’evidències utilitzant el context d’execució.
Input:
{
"context": {
"correlation_id": null,
"namespace_id": 1,
"run_id": "run-0001",
"scenario_id": "example-scenario",
"stage_id": "main",
"tenant_id": 1,
"trigger_id": "trigger-0001",
"trigger_time": {
"kind": "unix_millis",
"value": 1710000000000
}
},
"query": {
"check_id": "get",
"params": {
"key": "DEPLOY_ENV"
},
"provider_id": "env"
}
}
Output:
{
"result": {
"content_type": "text/plain",
"error": null,
"evidence_anchor": {
"anchor_type": "env",
"anchor_value": "DEPLOY_ENV"
},
"evidence_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"evidence_ref": null,
"lane": "verified",
"signature": null,
"value": {
"kind": "json",
"value": "production"
}
}
}
runpack_export
Exporta artefactes de runpack deterministes per a la verificació fora de línia.
Inputs
- generated_at (requerit): Timestamp enregistrat al manifest.
- include_verification (requerit): Generar un artefacte de informe de verificació.
manifest_name(opcional, nul): Substitució opcional per al nom del fitxer manifest.- namespace_id (requerit): Identificador de l’espai de noms.
output_dir(opcional, nul·la): Directori de sortida opcional (requerit per a l’exportació del sistema de fitxers).- run_id (requerit): Identificador de la execució.
- scenario_id (required): Identificador de l’escenari.
- tenant_id (required): Identificador del llogater.
Sortides
- manifest (requerit): Tipus: object.
report(requerit, nullable): Un dels següents: null, objecte.storage_uri(opcional, nul): URI d’emmagatzematge opcional per a backend d’emmagatzematge de runpack gestionats.
Notes
- Escriu el manifest i els registres a output_dir; generated_at es registra al manifest.
- include_verification afegeix un artefacte de informe de verificació.
- Utilitzeu després que les execucions es completin o per a instantànies d’auditoria.
Exemple
Exporta un runpack amb metadades del manifest.
Input:
{
"generated_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"include_verification": false,
"manifest_name": "manifest.json",
"namespace_id": 1,
"output_dir": "/var/lib/decision-gate/runpacks/run-0001",
"run_id": "run-0001",
"scenario_id": "example-scenario",
"tenant_id": 1
}
Output:
{
"manifest": {
"artifacts": [
{
"artifact_id": "decision_log",
"content_type": "application/json",
"hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"kind": "decision_log",
"path": "decision_log.json",
"required": true
}
],
"generated_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"hash_algorithm": "sha256",
"integrity": {
"file_hashes": [
{
"hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"path": "decision_log.json"
}
],
"root_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
},
"manifest_version": "v1",
"namespace_id": 1,
"run_id": "run-0001",
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"tenant_id": 1,
"verifier_mode": "offline_strict"
},
"report": null,
"storage_uri": null
}
runpack_verify
Verifiqueu un manifest de runpack i artefactes fora de línia.
Inputs
- manifest_path (required): Ruta del manifest relativa a la carpeta arrel de runpack.
- runpack_dir (requerit): Directori arrel de Runpack.
Sortides
- informe (requerit): Tipus: objecte.
- estat (requerit): Estat de verificació de Runpack.
Notes
- Valida els hashes, l’arrel d’integritat i l’estructura del registre de decisions.
- Els fallos es tanquen en cas de fitxers perduts o manipulats.
- Utilitzeu en CI o en canals d’auditoria fora de línia.
Exemple
Verifiqueu un manifest de runpack i artefactes fora de línia.
Input:
{
"manifest_path": "manifest.json",
"runpack_dir": "/var/lib/decision-gate/runpacks/run-0001"
}
Output:
{
"report": {
"checked_files": 12,
"errors": [],
"status": "pass"
},
"status": "pass"
}
llista_proveïdors
Llista de proveïdors d’evidències registrades i resum de capacitats.
Inputs
Sortides
- proveïdors (requerit): Tipus: array.
Notes
- Retorna identificadors de proveïdors i metadades de transport.
- Els resultats estan limitats per la política d’autenticació.
Exemple
Llista de proveïdors d’evidència registrats.
Input:
{}
Output:
{
"providers": [
{
"checks": [
"get"
],
"provider_id": "env",
"transport": "builtin"
}
]
}
proveedorcontracteobtenir
Obteniu el JSON del contracte del proveïdor canònic i el hash per a un proveïdor.
Inputs
- provider_id (required): Identificador del proveïdor.
Sortides
- contracte (requerit): Tipus: objecte.
- contract_hash (requerit): Tipus: object.
- provider_id (required): Identificador del proveïdor.
- source (required): Origen de la font del contracte.
versió(requerida, nullable): Etiqueta de versió de contracte opcional.
Notes
- Retorna el contracte del proveïdor tal com ha estat carregat pel servidor MCP.
- Inclou un hash canònic per a l’auditoria i la reproductibilitat.
- Sota la política de divulgació del proveïdor i l’autorització.
Exemple
Obteniu el JSON del contracte per a un proveïdor.
Input:
{
"provider_id": "json"
}
Output:
{
"contract": {
"checks": [],
"config_schema": {
"additionalProperties": false,
"type": "object"
},
"description": "Reads JSON or YAML files and evaluates JSONPath.",
"name": "JSON Provider",
"notes": [],
"provider_id": "json",
"transport": "builtin"
},
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"provider_id": "json",
"source": "builtin",
"version": null
}
proveidorcomprovaresquema_obtenir
Obteniu detalls de l’esquema de comprovació (paràmetres/resultat/comparadors) per a un proveïdor.
Inputs
- check_id (required): Identificador de comprovació del proveïdor.
- provider_id (required): Identificador del proveïdor.
Sortides
- allowed_comparators (requerit): Llista blanca de comparadors per a aquesta comprovació.
- anchor_types (required): Tipus d’ancora emesos per aquesta comprovació.
- check_id (required): Identificador de comprovació.
- content_types (required): Tipus de contingut per a la sortida de comprovació.
- contract_hash (requerit): Tipus: object.
- determinisme (requerit): Classificació del determinisme per a les comprovacions del proveïdor.
- exemples (requerit): Tipus: array.
- params_required (required): Si es requereixen paràmetres per a aquesta comprovació.
- params_schema (required): esquema JSON per a comprovar els paràmetres.
- provider_id (required): Identificador del proveïdor.
- result_schema (requerit): esquema JSON per al valor del resultat de la comprovació.
Notes
- Retorna metadades de l’esquema compilades per a una única comprovació.
- Inclou llistes d’allow-list de comparadors i exemples de comprovació.
- Sota la política de divulgació del proveïdor i l’autorització.
Exemple
Obteniu detalls de l’esquema de verificació per a un proveïdor.
Input:
{
"check_id": "path",
"provider_id": "json"
}
Output:
{
"allowed_comparators": [
"equals",
"in_set",
"exists",
"not_exists"
],
"anchor_types": [],
"check_id": "path",
"content_types": [
"application/json"
],
"contract_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
},
"determinism": "external",
"examples": [],
"params_required": true,
"params_schema": {
"properties": {
"file": {
"type": "string"
},
"jsonpath": {
"type": "string"
}
},
"required": [
"file"
],
"type": "object"
},
"provider_id": "json",
"result_schema": {
"type": [
"null",
"string",
"number",
"boolean",
"array",
"object"
]
}
}
esquemes_registre
Registreu un esquema de forma de dades per a un llogater i un espai de noms.
Inputs
- registre (requerit): Tipus: objecte.
Sortides
- registre (requerit): Tipus: objecte.
Notes
- Els esquemes són immutables; registrar la mateixa versió dues vegades falla.
- Proporciona created_at per enregistrar quan es va redactar l’esquema.
Exemple
Registra un esquema de forma de dades.
Input:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
Output:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
esquemes_llista
Llista de formes de dades registrades per a un llogater i un espai de noms.
Inputs
- cursor (opcional, nul·la): Un dels: null, string.
- limit (opcional): Nombre màxim de registres a retornar.
- namespace_id (requerit): Identificador de l’espai de noms.
- tenant_id (required): Identificador del llogater.
Sortides
- elements (requerit): Tipus: array.
- next_token (requerit, nullable): Un d’aquests: null, string.
Notes
- Requereix tenant_id i namespace_id.
- Admet la paginació mitjançant cursor + límit.
Exemple
Llista de formes de dades per a un espai de noms.
Input:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
],
"next_token": null
}
schemas_obtenir
Obteniu una forma de dades específica per identificador i versió.
Inputs
- namespace_id (requerit): Identificador de l’espai de noms.
- schema_id (requerit): Identificador de la forma de dades.
- tenant_id (required): Identificador del llogater.
- versió (requerida): Identificador de versió de la forma de dades.
Sortides
- registre (requerit): Tipus: objecte.
Notes
- Requereix tenant_id, namespace_id, schema_id i version.
- Falla tancada quan falta l’esquema.
Exemple
Obteniu una forma de dades per identificador i versió.
Input:
{
"namespace_id": 1,
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
Output:
{
"record": {
"created_at": {
"kind": "unix_millis",
"value": 1710000000000
},
"description": "Asserted payload schema.",
"namespace_id": 1,
"schema": {
"additionalProperties": false,
"properties": {
"deploy_env": {
"type": "string"
}
},
"required": [
"deploy_env"
],
"type": "object"
},
"schema_id": "asserted_payload",
"tenant_id": 1,
"version": "v1"
}
}
escenaris_llista
Llista d’escenaris registrats per a un llogater i un espai de noms.
Inputs
- cursor (opcional, nul·la): Un dels: null, string.
- limit (opcional): Nombre màxim de registres a retornar.
- namespace_id (requerit): Identificador de l’espai de noms.
- tenant_id (required): Identificador del llogater.
Sortides
- elements (requerit): Tipus: array.
- next_token (requerit, nullable): Un d’aquests: null, string.
Notes
- Requereix tenant_id i namespace_id.
- Retorna identificadors de scenario i hashes.
Exemple
Llista d’escenaris per a un espai de noms.
Input:
{
"cursor": null,
"limit": 50,
"namespace_id": 1,
"tenant_id": 1
}
Output:
{
"items": [
{
"namespace_id": 1,
"scenario_id": "example-scenario",
"spec_hash": {
"algorithm": "sha256",
"value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}
}
],
"next_token": null
}
precomprovació
Avaluar un escenari contra dades afirmades sense mutar l’estat.
Inputs
- data_shape (requerit): Tipus: object.
- namespace_id (requerit): Identificador de l’espai de noms.
- payload (requerit): Dades de càrrega afirmades.
scenario_id(opcional, nul·la): Un dels següents: null, cadena.spec(opcional, nul·la): Un dels següents: null, ref decision-gate://contract/schemas/scenario.schema.json.stage_id(opcional, nul·la): Un dels següents: nul, cadena.- tenant_id (required): Identificador del llogater.
Sortides
decisió(requerit): Un dels: objecte, objecte, objecte, objecte, objecte.- gate_evaluations (requerit): Tipus: array.
Notes
- Valida les dades afirmades contra una forma registrada.
- No muta l’estat d’execució; destinat a la simulació.
Exemple
Precomprovar un escenari amb dades afirmades.
Input:
{
"data_shape": {
"schema_id": "asserted_payload",
"version": "v1"
},
"namespace_id": 1,
"payload": {
"deploy_env": "production"
},
"scenario_id": "example-scenario",
"spec": null,
"stage_id": null,
"tenant_id": 1
}
Output:
{
"decision": {
"kind": "hold",
"summary": {
"policy_tags": [],
"retry_hint": "await_evidence",
"status": "hold",
"unmet_gates": [
"ready"
]
}
},
"gate_evaluations": []
}
decisiongatedocs_search
Cerca la documentació de Decision Gate per a orientació en temps d’execució.
Inputs
- max_sections (opcional): Nombre màxim de seccions a retornar (per defecte 3, límit màxim 10).
- query (required): Consulta de cerca per a seccions de documentació.
Sortides
- docs_covered (requerit): Tipus: array.
- seccions (requerit): Tipus: array.
- suggested_followups (required): Suggeriments de seguiment conscients del rol.
Notes
- Utilitzeu per a consultes ràpides sobre el flux d’evidències, comparadors i semàntica dels proveïdors.
- Retorna seccions classificades amb etiquetes de rol i suggeriments de seguiment.
- La cerca és determinista i està limitada al catàleg de documents configurat.
Exemple
Cerca evidències del flux i orientació del carril de confiança.
Input:
{
"max_sections": 2,
"query": "precheck vs live run trust lanes"
}
Output:
{
"docs_covered": [
{
"doc_id": "evidence_flow_and_execution_model",
"doc_role": "reasoning",
"doc_title": "Evidence Flow + Execution Model"
}
],
"sections": [
{
"content": "...",
"doc_id": "evidence_flow_and_execution_model",
"doc_role": "reasoning",
"doc_title": "Evidence Flow + Execution Model",
"heading": "Core Data Flow",
"rank": 0
}
],
"suggested_followups": [
"Refine the query with comparator or provider keywords for targeted guidance."
]
}