Decision Gate MCP Tools

Generated public MCP tool surface.

On this page Current section: Lifecycle quickstart

This document summarizes the MCP tool surface and expected usage. Full schemas are in tooling.json, with supporting schemas under schemas/ and examples under examples/.

Lifecycle quickstart

  • scenario_define validates and registers a monotone-DAG scenario law.
  • scenario_start creates an empty-progress run bound to that exact law.
  • scenario_status and scenario_history read accepted state and records.
  • scenario_open_stage explicitly opens one ready stage.
  • scenario_evaluate_stage records an attempt and may complete that stage.
  • scenario_precheck_stage predicts evaluation without mutation.
  • scenario_submit commits a run-wide or exact stage-scoped artifact.
  • runpack_export and runpack_verify support offline verification.

Artifact references

  • authoring.md: authoring formats and normalization guidance.
  • Docs/generated/decision-gate/examples/scenario.json: hostile RawScenarioSpec example.
  • Docs/generated/decision-gate/examples/scenario.ron: authoring-friendly RawScenarioSpec example.
  • Docs/generated/decision-gate/examples/decision-gate.toml: MCP and bounded local-acquisition config example.
ToolDescription
scenario_defineAdmit hostile monotone-DAG scenario syntax and return exact scenario-law and graph identities.
scenario_startCreate one empty graph-bound run under the accepted-run authority and return its minted RunId.
scenario_statusReturn the exact accepted head, automatic run status, stage classifications, and ready frontier.
scenario_historyReturn bounded accepted records in exact run-head order.
scenario_open_stageExplicitly open one ReadyUnopened stage at an exact accepted head.
scenario_evaluate_stageAcquire evidence and evaluate one OpenIncomplete stage at an exact accepted head.
scenario_precheck_stagePredict one stage RET result from asserted evidence without opening or mutation.
scenario_submitAccept a run-wide or exact stage-open-scoped artifact at one exact run head.
scenario_resolve_creationResolve a potentially indeterminate creation through the accepted creation-receipt authority.
scenario_resolve_mutationResolve a potentially indeterminate mutation through its exact accepted receipt.
runpack_exportPublish a coherent accepted-prefix runpack-v6 subject locally.
runpack_verifyVerify one supplied runpack-v6 subject with a total claim report.
schemas_registerRegister a data shape schema for a namespace.
schemas_listList registered data shapes for a namespace.
schemas_getFetch a specific data shape by identifier and version.
scenarios_listList registered scenarios for a namespace.
decision_gate_docs_searchSearch Decision Gate documentation for runtime guidance.

scenario_define

Admit hostile monotone-DAG scenario syntax and return exact scenario-law and graph identities.

Inputs

  • spec (required): Hostile scenario specification to validate and register.

Outputs

  • graph_identity (required): Canonical DG projection of a sealed Xarxa graph identity.
  • scenario_id (required): Scenario identifier.
  • scenario_law_identity (required): Domain-separated canonical Decision Gate scenario-law identity.

Notes

  • Use before starting runs; scenario_id and scenario_law_identity bind later calls.
  • Validates Xarxa topology, RET proofs, typed conditions, acquisition compatibility, and effective value limits.
  • Canonical law and graph identities are deterministic under raw ordering changes.
  • Fails closed on invalid specs or duplicate registration of the same exact law; distinct immutable revisions remain addressable.

Example

Register the example scenario spec.

Input:

{
  "spec": {
    "acquisition_bindings": [],
    "completion_requirement": {
      "Condition": "approve"
    },
    "conditions": [
      {
        "condition_id": "environment_is_production",
        "evidence_use_policy": {
          "allowed_channels": [
            "caller_submission"
          ],
          "authorization": "embedding_authority",
          "combination": {
            "combination": "AllQualifyingAgree"
          },
          "freshness": {
            "freshness": "NotRequired"
          },
          "independence": "distinct_acquisition",
          "integrity": "canonical_content_only",
          "replay": "full_semantic",
          "required_assurance": [
            "content_integrity",
            "scope",
            "schema_compatibility"
          ],
          "retention": "retain_canonical_value",
          "scope": "exact_condition"
        },
        "observation_domain": {
          "domain": "String",
          "maximum_bytes": 64,
          "minimum_bytes": 1
        },
        "predicate": {
          "expected": {
            "value": "production",
            "value_type": "String"
          },
          "predicate": "Equals"
        }
      },
      {
        "condition_id": "after_freeze",
        "evidence_use_policy": {
          "allowed_channels": [
            "caller_submission"
          ],
          "authorization": "embedding_authority",
          "combination": {
            "combination": "AllQualifyingAgree"
          },
          "freshness": {
            "freshness": "NotRequired"
          },
          "independence": "distinct_acquisition",
          "integrity": "canonical_content_only",
          "replay": "full_semantic",
          "required_assurance": [
            "content_integrity",
            "scope",
            "schema_compatibility"
          ],
          "retention": "retain_canonical_value",
          "scope": "exact_condition"
        },
        "observation_domain": {
          "domain": "Boolean"
        },
        "predicate": {
          "expected": {
            "value": true,
            "value_type": "Boolean"
          },
          "predicate": "Equals"
        }
      }
    ],
    "namespace_id": 1,
    "policies": [],
    "scenario_id": "example-scenario",
    "schemas": [],
    "spec_version": "dag-v3",
    "stages": [
      {
        "completion_requirement": {
          "Condition": "environment_is_production"
        },
        "entry_packets": [],
        "prerequisite": {
          "kind": "root"
        },
        "stage_id": "inspect"
      },
      {
        "completion_requirement": {
          "Condition": "after_freeze"
        },
        "entry_packets": [],
        "prerequisite": {
          "kind": "requires",
          "requirement": {
            "Condition": "inspect"
          }
        },
        "stage_id": "approve"
      }
    ],
    "value_limits": {
      "selection": "InheritOperator"
    }
  }
}

Output:

{
  "graph_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
  "scenario_id": "example-scenario",
  "scenario_law_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}

scenario_start

Create one empty graph-bound run under the accepted-run authority and return its minted RunId.

Inputs

  • correlation (required): One of: object, object.
  • creation_request_id (required): Stable run-creation request identity.
  • genesis (required): Type: object.
  • namespace_id (required): Type: integer.
  • scenario_id (required): Scenario identifier.
  • scenario_law_identity (required): Domain-separated canonical Decision Gate scenario-law identity.

Outputs

  • outcome (required): One of: object, object, object, object, object, object, object.

Notes

  • Requires namespace_id, exact scenario_law_identity, and a stable 128-bit creation_request_id.
  • RunId and accepted audit time are minted by named authorities; callers supply neither.
  • Start never opens roots or proposes entry intents.
  • Accepted creation replay is receipt-first and returns the exact original result.

Example

Create empty progress and receive an authority-minted RunId.

Input:

{
  "correlation": {
    "kind": "unset"
  },
  "creation_request_id": "10000000000000000000000000000001",
  "genesis": {
    "kind": "empty"
  },
  "namespace_id": 1,
  "scenario_id": "example-scenario",
  "scenario_law_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}

Output:

{
  "outcome": {
    "outcome": "accepted",
    "result": {
      "acceptance_time": {
        "accepted_audit_instant": 0,
        "authority_revision": "dg-local-system-wall-clock-revision-v1",
        "source_material_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
        "time_authority_id": "dg-local-system-wall-clock-v1"
      },
      "admission": {
        "kind": "embedded",
        "profile_id": "dg-embedded-authority-v1",
        "request_provenance_digest": {
          "algorithm": "sha256",
          "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
        }
      },
      "correlation": {
        "kind": "unset"
      },
      "creation_request_id": "10000000000000000000000000000001",
      "genesis": {
        "kind": "empty"
      },
      "head": {
        "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
        "revision": 1
      },
      "invocation_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
      "run_key": {
        "namespace_id": 1,
        "run_id": "00000000000000000000000000000001"
      },
      "scenario_law_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    }
  }
}

scenario_status

Return the exact accepted head, automatic run status, stage classifications, and ready frontier.

Inputs

  • namespace_id (required): Type: integer.
  • run_id (required): Authority-minted run identity.
  • scenario_id (required): Scenario identifier.

Outputs

  • accepted_head (required): Type: object.
  • committed_intent_count (required): Total committed intent count without unbounded identity materialization.
  • ready_frontier (required): Type: array.
  • recent_attempts (required): Type: array.
  • stages (required): Type: array.
  • status (required): Type: string.

Notes

  • Read-only status does not open, evaluate, or mutate a stage.
  • ReadyUnopened and OpenIncomplete are distinct and carry no assignment semantics.

Example

Poll run status without advancing the run.

Input:

{
  "namespace_id": 1,
  "run_id": "00000000000000000000000000000001",
  "scenario_id": "example-scenario"
}

Output:

{
  "accepted_head": {
    "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "revision": 1
  },
  "committed_intent_count": 0,
  "ready_frontier": [
    "inspect"
  ],
  "recent_attempts": [],
  "stages": [
    {
      "classification": "ready_unopened",
      "stage_id": "inspect"
    }
  ],
  "status": "active"
}

scenario_history

Return bounded accepted records in exact run-head order.

Inputs

  • after_revision (optional, nullable): One of: null, integer.
  • limit (optional): Type: integer.
  • namespace_id (required): Type: integer.
  • run_id (required): Authority-minted run identity.
  • scenario_id (required): Scenario identifier.

Outputs

  • next_after_revision (required, nullable): One of: null, integer.
  • records (required): Type: array.

Notes

  • History is an accepted-order coordination and audit surface, not stage ownership.

Example

Read bounded accepted history.

Input:

{
  "after_revision": null,
  "limit": 50,
  "namespace_id": 1,
  "run_id": "00000000000000000000000000000001",
  "scenario_id": "example-scenario"
}

Output:

{
  "next_after_revision": null,
  "records": []
}

scenario_open_stage

Explicitly open one ReadyUnopened stage at an exact accepted head.

Inputs

  • expected_head (required): Type: object.
  • namespace_id (required): Type: integer.
  • operation_id (required): Stable stage-open operation identity.
  • run_id (required): Authority-minted run identity.
  • scenario_id (required): Scenario identifier.
  • stage_id (required): Explicit stage identifier.

Outputs

  • outcome (required): One of: object, object, object, object, object, object, object, object.

Notes

  • Opening records run-level work start and proposes entry intents once; it does not assign or exclude siblings.

Example

Open one ready stage at an exact head.

Input:

{
  "expected_head": {
    "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "revision": 1
  },
  "namespace_id": 1,
  "operation_id": "20000000000000000000000000000001",
  "run_id": "00000000000000000000000000000001",
  "scenario_id": "example-scenario",
  "stage_id": "inspect"
}

Output:

{
  "outcome": {
    "outcome": "stale",
    "result": {
      "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
      "revision": 1
    }
  }
}

scenario_evaluate_stage

Acquire evidence and evaluate one OpenIncomplete stage at an exact accepted head.

Inputs

  • caller_evidence (optional): Type: array.
  • expected_head (required): Type: object.
  • local_acquisition (optional): Type: array.
  • namespace_id (required): Type: integer.
  • operation_id (required): Stable stage-evaluation operation identity.
  • run_id (required): Authority-minted run identity.
  • scenario_id (required): Scenario identifier.
  • stage_id (required): Explicit stage identifier.

Outputs

  • outcome (required): One of: object, object, object, object, object, object, object, object.

Notes

  • False and Unknown append retryable attempts; only True proposes stage completion.
  • Operational acquisition or evaluator failure mints no semantic proposal.

Example

Evaluate one open stage at an exact head.

Input:

{
  "caller_evidence": [
    {
      "condition_id": "environment_is_production",
      "retention": {
        "retention": "RetainCanonicalValue"
      },
      "value": {
        "value": "production",
        "value_type": "String"
      }
    }
  ],
  "expected_head": {
    "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "revision": 1
  },
  "local_acquisition": [],
  "namespace_id": 1,
  "operation_id": "30000000000000000000000000000001",
  "run_id": "00000000000000000000000000000001",
  "scenario_id": "example-scenario",
  "stage_id": "inspect"
}

Output:

{
  "outcome": {
    "outcome": "stale",
    "result": {
      "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
      "revision": 1
    }
  }
}

scenario_precheck_stage

Predict one stage RET result from asserted evidence without opening or mutation.

Inputs

  • caller_evidence (optional): Type: array.
  • local_acquisition (optional): Type: array.
  • namespace_id (required): Type: integer.
  • scenario_id (required): Scenario identifier.
  • scenario_law_identity (required): Domain-separated canonical Decision Gate scenario-law identity.
  • stage_id (required): Stage identifier.

Outputs

  • outcome (required): Type: string.
  • trace (required): Type: array.

Notes

  • Precheck never claims accepted progress or issues entry intents.

Example

Predict one stage result without mutation.

Input:

{
  "caller_evidence": [
    {
      "condition_id": "environment_is_production",
      "retention": {
        "retention": "RetainCanonicalValue"
      },
      "value": {
        "value": "production",
        "value_type": "String"
      }
    }
  ],
  "local_acquisition": [],
  "namespace_id": 1,
  "scenario_id": "example-scenario",
  "scenario_law_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
  "stage_id": "inspect"
}

Output:

{
  "outcome": "true",
  "trace": []
}

scenario_submit

Accept a run-wide or exact stage-open-scoped artifact at one exact run head.

Inputs

  • content_type (required): Submitted content type.
  • expected_head (required): Type: object.
  • namespace_id (required): Type: integer.
  • operation_id (required): Stable run-submission operation identity.
  • payload (required): One of: object, object, object.
  • run_id (required): Authority-minted run identity.
  • scenario_id (required): Scenario identifier.
  • scope (required): One of: object, object.

Outputs

  • outcome (required): One of: object, object, object, object, object, object, object, object.

Notes

  • Payload is canonically hashed and stored as an immutable accepted submission.
  • Payload is persisted in run state/runpack logs; do not send raw secrets.
  • Submission never completes or opens a stage by itself.
  • Stage scope must bind both stage_id and its exact accepted stage_open_record_id.
  • Use for artifacts the model or operator supplies.

Example

Submit a run-wide artifact at an exact accepted head.

Input:

{
  "content_type": "application/json",
  "expected_head": {
    "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "revision": 1
  },
  "namespace_id": 1,
  "operation_id": "40000000000000000000000000000001",
  "payload": {
    "kind": "json",
    "value": {
      "artifact": "attestation",
      "status": "approved"
    }
  },
  "run_id": "00000000000000000000000000000001",
  "scenario_id": "example-scenario",
  "scope": {
    "kind": "run_wide"
  }
}

Output:

{
  "outcome": {
    "outcome": "stale",
    "result": {
      "record_id": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
      "revision": 1
    }
  }
}

scenario_resolve_creation

Resolve a potentially indeterminate creation through the accepted creation-receipt authority.

Inputs

  • creation_request_id (required): Run creation request identity.
  • invocation_identity (required): Canonical invocation identity.
  • namespace_id (required): Type: integer.

Outputs

  • outcome (required): One of: object, object, object, object, object.

Notes

  • Authorization is checked before receipt disclosure.
  • Resolution never creates an accepted run or resamples acceptance time.

Example

Resolve one creation invocation after an indeterminate response.

Input:

{
  "creation_request_id": "10000000000000000000000000000001",
  "invocation_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
  "namespace_id": 1
}

Output:

{
  "outcome": {
    "outcome": "known_unaccepted",
    "result": {
      "reason": "no_accepted_receipt"
    }
  }
}

scenario_resolve_mutation

Resolve a potentially indeterminate mutation through its exact accepted receipt.

Inputs

  • invocation_identity (required): Canonical invocation identity.
  • namespace_id (required): Type: integer.
  • operation_id (required): One of: object, object, object.
  • run_id (required): Authority-minted run identity.

Outputs

  • outcome (required): One of: object, object, object, object, object.

Notes

  • Authorization is checked before receipt disclosure.
  • Resolution is receipt-first and never compares or advances the current head.

Example

Resolve one stage-open invocation after an indeterminate response.

Input:

{
  "invocation_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
  "namespace_id": 1,
  "operation_id": {
    "family": "open_stage",
    "identity": "20000000000000000000000000000001"
  },
  "run_id": "00000000000000000000000000000001"
}

Output:

{
  "outcome": {
    "outcome": "known_unaccepted",
    "result": {
      "reason": "no_accepted_receipt"
    }
  }
}

runpack_export

Publish a coherent accepted-prefix runpack-v6 subject locally.

Inputs

  • namespace_id (required): Namespace identifier.
  • run_id (required): Authority-minted run identity.

Outputs

  • publication (required): One of: object, object, object, object, object, object.

Notes

  • The composition root owns the capability-rooted local immutable repository.
  • The manifest is published last and contains no clock, path, URI, or mutable metadata.
  • Concurrent later acceptance cannot change the exported historical checkpoint.

Example

Publish one coherent accepted prefix to the managed local repository.

Input:

{
  "namespace_id": 1,
  "run_id": "00000000000000000000000000000001"
}

Output:

{
  "publication": {
    "outcome": "published",
    "runpack_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
  }
}

runpack_verify

Verify one supplied runpack-v6 subject with a total claim report.

Inputs

  • budget (optional, nullable): One of: null, object.
  • profile (optional): Type: string.
  • runpack_identity (required): Exact runpack-v6 subject identity.

Outputs

  • report (required): Type: object.

Notes

  • Uses supplied_offline_material_v1 only; no network, provider, clock, or resolver is consulted.
  • Authorization precedes report or claim disclosure.
  • External authenticity, currentness, rollback, effect, and deployment claims remain unavailable without separately qualified evidence.

Example

Verify supplied local material with the exact integrity-only claim profile.

Input:

{
  "profile": "integrity_only_v1",
  "runpack_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
}

Output:

{
  "report": {
    "assumptions": [
      "supplied bytes are the complete material universe for this invocation"
    ],
    "budget": {
      "bytes_read": 1073741824,
      "canonical_work_bytes": 4294967296,
      "hashing_workers": 4,
      "objects": 65536,
      "records": 1000000,
      "tree_nodes": 262144
    },
    "claims": [
      {
        "claim": "structural_format_validity",
        "status": {
          "method": "manifest_constructor_v6",
          "status": "satisfied"
        }
      },
      {
        "claim": "runpack_subject_identity",
        "status": {
          "method": "manifest_constructor_v6",
          "status": "satisfied"
        }
      },
      {
        "claim": "artifact_tree_integrity",
        "status": {
          "method": "object_tree_traversal_v6",
          "status": "satisfied"
        }
      },
      {
        "claim": "scenario_law_construction",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "scenario_graph_binding",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "run_allocation_integrity",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "creation_receipt_integrity",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "accepted_history_continuity",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "exact_head_reconstruction",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "current_state_equivalence",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "operation_receipt_consistency",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "stage_open_consistency",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "evaluation_attempt_consistency",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "submission_consistency",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "intent_consistency",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "evidence_structural_admission",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "evidence_retention_reconstruction",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "evidence_use_policy_satisfaction",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "pure_semantic_replay",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "acquisition_admission_witness_reconstruction",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "attribution_authorization_availability",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "acceptance_time_witness_structure",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "source_authenticity",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "currentness",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "rollback_resistance",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "dispatch_recovery",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "effect_recovery",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "deployment_qualification",
        "status": {
          "status": "not_requested"
        }
      },
      {
        "claim": "verifier_build_procedure_provenance",
        "status": {
          "status": "not_requested"
        }
      }
    ],
    "material_resolution": "supplied_offline_material_v1",
    "profile": "integrity_only_v1",
    "report_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "request_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "runpack_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21",
    "trusted_bases": [
      "sha256",
      "serde_jcs_rfc8785"
    ],
    "verifier_procedure": "decision_gate_offline_verifier_v1"
  }
}

schemas_register

Register a data shape schema for a namespace.

Inputs

  • record (required): Type: object.

Outputs

  • record (required): Type: object.

Notes

  • Schemas are immutable; registering the same version twice fails.
  • Provide created_at to record when the schema was authored.

Example

Register a data shape schema.

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",
    "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",
    "version": "v1"
  }
}

schemas_list

List registered data shapes for a namespace.

Inputs

  • cursor (optional, nullable): One of: null, string.
  • limit (optional): Maximum number of records to return.
  • namespace_id (required): Namespace identifier.

Outputs

  • items (required): Type: array.
  • next_token (required, nullable): One of: null, string.

Notes

  • Requires namespace_id.
  • Supports pagination via cursor + limit.

Example

List data shapes for a namespace.

Input:

{
  "cursor": null,
  "limit": 50,
  "namespace_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",
      "version": "v1"
    }
  ],
  "next_token": null
}

schemas_get

Fetch a specific data shape by identifier and version.

Inputs

  • namespace_id (required): Namespace identifier.
  • schema_id (required): Data shape identifier.
  • version (required): Data shape version identifier.

Outputs

  • record (required): Type: object.

Notes

  • Requires namespace_id, schema_id, and version.
  • Fails closed when schema is missing.

Example

Fetch a data shape by identifier and version.

Input:

{
  "namespace_id": 1,
  "schema_id": "asserted_payload",
  "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",
    "version": "v1"
  }
}

scenarios_list

List registered scenarios for a namespace.

Inputs

  • cursor (optional, nullable): One of: null, string.
  • limit (optional): Maximum number of records to return.
  • namespace_id (required): Namespace identifier.

Outputs

  • items (required): Type: array.
  • next_token (required, nullable): One of: null, string.

Notes

  • Requires namespace_id.
  • Returns scenario identifiers and hashes.

Example

List scenarios for a namespace.

Input:

{
  "cursor": null,
  "limit": 50,
  "namespace_id": 1
}

Output:

{
  "items": [
    {
      "namespace_id": 1,
      "scenario_id": "example-scenario",
      "scenario_law_identity": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    }
  ],
  "next_token": null
}

Search Decision Gate documentation for runtime guidance.

Inputs

  • max_sections (optional): Maximum number of sections to return (default 3, hard cap 10).
  • query (required): Search query for documentation sections.

Outputs

  • docs_covered (required): Type: array.
  • sections (required): Type: array.
  • suggested_followups (required): Role-aware follow-up prompts.

Notes

  • Use for quick lookups on typed evidence flow, predicates, and local acquisition.
  • Returns ranked sections with role tags and suggested follow-ups.
  • Search is deterministic and scoped to the configured doc catalog.

Example

Search for evidence admission and pure-evaluation guidance.

Input:

{
  "max_sections": 2,
  "query": "precheck versus live admitted evidence"
}

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 condition-domain or acquisition keywords for targeted guidance."
  ]
}