Pre-execution governance for AI agents. Deterministic PASS/FAIL/REVIEW verdicts, replayable proof.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
This account's plan, key usage, Blueprint counts, and the deployed platform build fingerprint (version, build, deployed).
GeodesicAI API key (gai_...)
This account's plan, key usage, Blueprint counts, and the deployed platform build fingerprint (version, build, deployed).
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
{
"type": "object",
"title": "account_statusArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
}
}
}Explain whether a record fits the usual pattern for records like it, and which fields stand out. No Blueprint required.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Discovery namespace used by discover_patterns |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "analyze_anomalyArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Discovery namespace used by discover_patterns"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Promote a rule discovered by discover_patterns into Blueprint-ready form.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| rule_id* | string | Discovered rule ID from discover_patterns |
| blueprint | string | Blueprint name (workflow_name) to use |
{
"type": "object",
"title": "approve_ruleArguments",
"required": [
"api_key",
"rule_id"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"rule_id": {
"type": "string",
"title": "Rule Id",
"description": "Discovered rule ID from discover_patterns"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
}
}
}Go/no-go for a real-world action (payment, filing, API write): runs full validation, then the Blueprint's execution gate. authorized=true only on PASS; REVIEW means do not proceed automatically. Different from validate: validate asks is this data correct, authorize_execution asks should this action happen.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint* | string | Blueprint name (workflow_name) to use |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "authorize_executionArguments",
"required": [
"api_key",
"structured_data",
"blueprint"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"description": "Blueprint name (workflow_name) to use"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Static pre-deploy analysis of a Blueprint's rule set. Returns a health verdict - healthy, acceptable, fragile, rigid, split, brittle_islands, or unsatisfiable - with advice, including joint conflicts pairwise checks miss.
| Argument | Type | Description |
|---|---|---|
| config | object | Raw blueprint config with derivation_rules and formal_constraints (used when 'blueprint' is not given) |
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
{
"type": "object",
"title": "check_blueprint_healthArguments",
"required": [
"api_key"
],
"properties": {
"config": {
"type": "object",
"title": "Config",
"default": null,
"description": "Raw blueprint config with derivation_rules and formal_constraints (used when 'blueprint' is not given)",
"additionalProperties": true
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "",
"description": "Blueprint name (workflow_name) to use"
}
}
}Check whether recent submissions still match the established pattern for this Blueprint. Returns a stability verdict and observation count.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "check_driftArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Structural realization analysis of a payload against the Blueprint's reference configuration (requires a 'realization' block; otherwise status=skipped). Diagnostics-tier tool; prefer validate or analyze_anomaly for standard checks.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "check_realizationArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Compare two payloads under the dual-hash design: content_hash is content_hash normalizes field order and numeric formatting. Semantic comparison preserves field roles; renaming requires an explicit bijection. With supplied rules, scalar types and whitespace remain significant. Structural similarity alone does not establish decision equivalence.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| rules_a | array | Derivation rules for A |
| rules_b | array | Derivation rules for B |
| payload_a* | object | First structured payload (arbitrary JSON object) |
| payload_b* | object | Second structured payload to compare against payload_a |
| constraints_a | array | Formal constraints for A |
| constraints_b | array | Formal constraints for B |
| field_mapping | object |
Run the same data under two rule sets and compare which future states remain valid - what-if analysis for rule changes.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| rules_b | array | Alternative derivation rules (rule set B) |
| blueprint | string | Blueprint name (workflow_name) to use |
| constraints_b | array | Alternative constraints (rule set B) |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "counterfactualArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"rules_b": {
"type": "array",
"items": {},
"title": "Rules B",
"default": null,
"description": "Alternative derivation rules (rule set B)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"constraints_b": {
"type": "array",
"items": {},
"title": "Constraints B",
"default": null,
"description": "Alternative constraints (rule set B)"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Create a Blueprint - the governance contract validation runs against. A Blueprint defines what correct means for your data: fields, the math that must hold between them, and acceptable ranges. Start from load_rule_pack or discover_patterns if you have no rules yet; invoke the blueprint_guide prompt for the full rule/constraint reference. Returns the new Blueprint's API key.
| Argument | Type | Description |
|---|---|---|
| mode | string | observe: platform checks the agent's work; enforce: platform computes derived fields itself |
| api_key* | string | GeodesicAI API key (gai_...) |
| require_math | boolean | Validate mathematical relationships |
| customer_name* | string | Organization or project name (also used for storage folder naming) |
| workflow_name* | string | Unique Blueprint identifier; the value passed as 'blueprint' in validate |
| derived_fields | array | Field names the platform computes from other fields, e.g. ['subtotal','total'] |
| semantic_checks | array | Domain-specific semantic check objects |
| derivation_rules |
Create a multi-agent sequential chain: stages validate in order against one Blueprint, repairs propagate forward, TTL bounds the run. Siblings: submit_chain_stage advances the chain; handoff_audit verifies a transition between stages. Returns chain_id.
| Argument | Type | Description |
|---|---|---|
| ttl | integer | Chain timeout in seconds; stages cannot advance after expiry |
| stages* | array | Stage definitions, e.g. [{'stage_name':'extract','agent_name':'PDF Agent'}]; minimum 2 |
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint* | string | Blueprint governing all stages of the chain |
{
"type": "object",
"title": "create_chainArguments",
"required": [
"api_key",
"blueprint",
"stages"
],
"properties": {
"ttl": {
"type": "integer",
"title": "Ttl",
"default": 3600,
"description": "Chain timeout in seconds; stages cannot advance after expiry"
},
"stages": {
"type": "array",
"items": {},
"title": "Stages",
"description": "Stage definitions, e.g. [{'stage_name':'extract','agent_name':'PDF Agent'}]; minimum 2"
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"description": "Blueprint governing all stages of the chain"
}
}
}Measure the numeric difference between original and corrected values: how much lies along the supplied linear rule directions (projection) and how much lies outside them (residual), with per-field contributions. Diagnostic only: it does not establish a cause, and neither record is verified. Use with a known-correct version to diff against; use analyze_anomaly when you only have the suspicious payload. Diagnostics-tier tool.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Load rules from this Blueprint instead of passing them inline |
| original_values* | object | Original numeric field values as {field: number} |
| corrected_values* | object | Corrected/expected numeric field values as {field: number} |
| derivation_rules | array | Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt |
| formal_constraints | array | Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt |
Permanently delete one of the caller's API keys. DESTRUCTIVE — agents using the deleted key will receive auth errors immediately. The Blueprint a key was tied to (if any) is NOT affected; only the credential is revoked. To delete a Blueprint and all its keys, use delete_blueprint. The target key can be specified two ways: - As the full key string (gai_...). - As a key_id (SHA-256 hash from list_api_keys).
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| confirm | boolean | Must be true to confirm this irreversible action |
| key_to_delete* | string | The gai_ key to delete |
{
"type": "object",
"title": "delete_api_keyArguments",
"required": [
"api_key",
"key_to_delete"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"confirm": {
"type": "boolean",
"title": "Confirm",
"default": false,
"description": "Must be true to confirm this irreversible action"
},
"key_to_delete": {
"type": "string",
"title": "Key To Delete",
"description": "The gai_ key to delete"
}
}
}Permanently delete a Blueprint and revoke its API keys. Irreversible; requires confirm=true. Account-level keys are unaffected.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| confirm | boolean | Must be true to confirm this irreversible action |
| workflow_name* | string | Blueprint to delete; its API keys are revoked |
{
"type": "object",
"title": "delete_blueprintArguments",
"required": [
"api_key",
"workflow_name"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"confirm": {
"type": "boolean",
"title": "Confirm",
"default": false,
"description": "Must be true to confirm this irreversible action"
},
"workflow_name": {
"type": "string",
"title": "Workflow Name",
"description": "Blueprint to delete; its API keys are revoked"
}
}
}Learn candidate validation rules and structural document types from a batch of your records, deterministically - no Blueprint required. Promote results with approve_rule. Source data is not stored.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| documents* | array | List of structured records (objects) to analyze |
{
"type": "object",
"title": "discover_patternsArguments",
"required": [
"api_key",
"documents"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"documents": {
"type": "array",
"items": {},
"title": "Documents",
"description": "List of structured records (objects) to analyze"
}
}
}Deterministic forward reasoning: from the current data state, generate and rank the valid next states reachable under the Blueprint's rules.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| rank_by | string | Ranking criterion for returned paths |
| blueprint | string | Blueprint name (workflow_name) to use |
| max_depth | integer | Search depth, 1-10 |
| max_branches | integer | Branches per step, 1-10 |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "forecastArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"rank_by": {
"enum": [
"drift",
"confidence",
"shortest",
"risk"
],
"type": "string",
"title": "Rank By",
"default": "drift",
"description": "Ranking criterion for returned paths"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"max_depth": {
"type": "integer",
"title": "Max Depth",
"default": 3,
"description": "Search depth, 1-10"
},
"max_branches": {
"type": "integer",
"title": "Max Branches",
"default": 5,
"description": "Branches per step, 1-10"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Summarize an already-computed state_vector into a confidence level (high/medium/low) with a recommendation. Post-hoc digest - use analyze_anomaly or check_drift for fresh analysis of raw data.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| state_vector* | object | state_vector object from a prior validate or get_execution_trace result |
{
"type": "object",
"title": "geometric_confidenceArguments",
"required": [
"api_key",
"state_vector"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"state_vector": {
"type": "object",
"title": "State Vector",
"description": "state_vector object from a prior validate or get_execution_trace result",
"additionalProperties": true
}
}
}Run validation and return the per-node execution trace (node names, deterministic flags, timing) plus the verdict and determinism hash. Use validate for normal operation; this is for debugging and audit preparation.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "get_execution_traceArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Retrieve the durable audit trail for a governed generation: every recorded decision and its reasons.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint namespace used when recording the trace |
| inference_id* | string | Caller-chosen ID grouping the steps of one generation |
| blueprint_version | string | Optional historical blueprint_version hash returned by govern_inference |
{
"type": "object",
"title": "get_inference_traceArguments",
"required": [
"api_key",
"inference_id"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint namespace used when recording the trace"
},
"inference_id": {
"type": "string",
"title": "Inference Id",
"description": "Caller-chosen ID grouping the steps of one generation"
},
"blueprint_version": {
"type": "string",
"title": "Blueprint Version",
"default": "",
"description": "Optional historical blueprint_version hash returned by govern_inference"
}
}
}Quality-govern an in-progress AI generation step BEFORE its output is used (complements validate, which checks finished documents). Returns an action - STOP, CONTINUE, REPAIR_REGION, REUSE_MOTIF, REVIEW, ESCALATE - with a plain-language explanation. Structural scores do not establish task correctness. Check safe_to_finalize and acceptance coverage. Persistence success is reported; read traces in the same Blueprint namespace.
| Argument | Type | Description |
|---|---|---|
| source | string | Free-form caller label recorded for audit |
| api_key* | string | GeodesicAI API key (gai_...) |
| payload* | object | Task-type payload: generative_text {text,...}; retrieval {query,candidates}; generic {features} |
| blueprint | string | Owned Blueprint namespace for the trace |
| task_type* | string | Kind of generation step being governed |
| step_index | integer | Step number within this generation (0-based) |
| constraints | object | Optional governance constraint config object |
| inference_id* | string |
Audit a handoff between two chain stages: a context capsule of verified facts from the prior stage, and (if proposed_data is given) a compatibility verdict that catches fields mutated in transit. Siblings: create_chain, submit_chain_stage.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| chain_id* | string | Chain identifier returned by create_chain |
| to_stage* | string | Stage about to start (agent B) |
| from_stage* | string | Completed stage name (agent A) |
| proposed_data | object | Data agent B intends to submit; checked for mutation against agent A's verified fields |
{
"type": "object",
"title": "handoff_auditArguments",
"required": [
"api_key",
"chain_id",
"from_stage",
"to_stage"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "Chain identifier returned by create_chain"
},
"to_stage": {
"type": "string",
"title": "To Stage",
"description": "Stage about to start (agent B)"
},
"from_stage": {
"type": "string",
"title": "From Stage",
"description": "Completed stage name (agent A)"
},
"proposed_data": {
"type": "object",
"title": "Proposed Data",
"default": null,
"description": "Data agent B intends to submit; checked for mutation against agent A's verified fields",
"additionalProperties": true
}
}
}List this account's API keys (masked) with their Blueprint bindings.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
{
"type": "object",
"title": "list_api_keysArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
}
}
}List the Blueprints on this account with field/rule/constraint counts and mode. Use the returned workflow_name as 'blueprint' in validate.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
{
"type": "object",
"title": "list_blueprintsArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
}
}
}Load a prebuilt Blueprint template (invoices, timecards, legal, POs, claims). Call without pack_id to list packs; then create_blueprint to save a customized copy.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| pack_id | string | Rule pack ID; omit to list available packs |
{
"type": "object",
"title": "load_rule_packArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"pack_id": {
"type": "string",
"title": "Pack Id",
"default": null,
"description": "Rule pack ID; omit to list available packs"
}
}
}Sweep the Blueprint's numeric constraint bounds and report verdict stability: the stable band, the scales where the verdict first flips, and advice. Use before deploying bound changes.
| Argument | Type | Description |
|---|---|---|
| config | object | Raw blueprint config to profile (used when 'blueprint' is not given) |
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
{
"type": "object",
"title": "profile_blueprint_robustnessArguments",
"required": [
"api_key"
],
"properties": {
"config": {
"type": "object",
"title": "Config",
"default": null,
"description": "Raw blueprint config to profile (used when 'blueprint' is not given)",
"additionalProperties": true
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "",
"description": "Blueprint name (workflow_name) to use"
}
}
}Recent generation-governance decisions in this owner's Blueprint version.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Maximum rows to return |
| action | string | Optional action filter (STOP, CONTINUE, REVIEW, ...) |
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint namespace used when recording the trace |
| blueprint_version | string | Optional historical blueprint_version hash returned by govern_inference |
{
"type": "object",
"title": "recent_inference_decisionsArguments",
"required": [
"api_key"
],
"properties": {
"limit": {
"type": "integer",
"title": "Limit",
"default": 25,
"description": "Maximum rows to return"
},
"action": {
"type": "string",
"title": "Action",
"default": "",
"description": "Optional action filter (STOP, CONTINUE, REVIEW, ...)"
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint namespace used when recording the trace"
},
"blueprint_version": {
"type": "string",
"title": "Blueprint Version",
"default": "",
"description": "Optional historical blueprint_version hash returned by govern_inference"
}
}
}Reject a discovered candidate rule so it will not be promoted into a Blueprint. Pair with approve_rule after discover_patterns.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| rule_id* | string | Discovered rule ID from discover_patterns |
| blueprint | string | Blueprint name (workflow_name) to use |
{
"type": "object",
"title": "reject_ruleArguments",
"required": [
"api_key",
"rule_id"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"rule_id": {
"type": "string",
"title": "Rule Id",
"description": "Discovered rule ID from discover_patterns"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
}
}
}One-shot repair: return corrected values that would make failing data valid under the Blueprint. Use repair_path to see the steps instead.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
| derivation_rules | array | Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt |
| formal_constraints | array | Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt |
{
"type": "object",
"title": "repairArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": null,
"description": "Blueprint name (workflow_name) to use"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
},
"derivation_rules": {
"type": "array",
"items": {},
"title": "Derivation Rules",
"default": null,
"description": "Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt"
},
"formal_constraints": {
"type": "array",
"items": {},
"title": "Formal Constraints",
"default": null,
"description": "Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt"
}
}
}Find the shortest sequence of field changes taking invalid data to a valid state, as an ordered path of intermediate states. Different from repair (one-shot nearest fix): use repair_path to explain or audit the fix, or compare alternative repairs.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| rank_by | string | Ranking criterion for returned paths |
| blueprint | string | Blueprint name (workflow_name) to use |
| max_depth | integer | Search depth, 1-10 |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "repair_pathArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"rank_by": {
"enum": [
"shortest",
"drift",
"confidence",
"risk"
],
"type": "string",
"title": "Rank By",
"default": "shortest",
"description": "Ranking criterion for returned paths"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"max_depth": {
"type": "integer",
"title": "Max Depth",
"default": 4,
"description": "Search depth, 1-10"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Replace an API key with a fresh one. The old key stops working immediately; the new key inherits its bindings.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| key_to_rotate* | string | The gai_ key to rotate; it stops working immediately |
{
"type": "object",
"title": "rotate_api_keyArguments",
"required": [
"api_key",
"key_to_rotate"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"key_to_rotate": {
"type": "string",
"title": "Key To Rotate",
"description": "The gai_ key to rotate; it stops working immediately"
}
}
}Retrieve the document categories a discover_patterns session identified (counts, distinguishing fields, domain hints). Read-only; returns status=no_session if discovery has not run for this namespace.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
{
"type": "object",
"title": "structural_typesArguments",
"required": [
"api_key"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
}
}
}Submit data for the chain's current stage; the platform validates it and advances the chain if it passes. Response includes next-stage info and accumulated repairs.
| Argument | Type | Description |
|---|---|---|
| stage* | string | Stage name to submit for (must be the chain's current stage) |
| api_key* | string | GeodesicAI API key (gai_...) |
| chain_id* | string | Chain identifier returned by create_chain |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "submit_chain_stageArguments",
"required": [
"api_key",
"chain_id",
"stage",
"structured_data"
],
"properties": {
"stage": {
"type": "string",
"title": "Stage",
"description": "Stage name to submit for (must be the chain's current stage)"
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"chain_id": {
"type": "string",
"title": "Chain Id",
"description": "Chain identifier returned by create_chain"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Update an existing Blueprint in place. Only passed fields change; pass [] to clear a list. workflow_name cannot be renamed and existing API keys keep working. Different from create_blueprint: modifies an existing Blueprint, mints no new key.
| Argument | Type | Description |
|---|---|---|
| mode | string | New mode: observe or enforce; omit to keep current |
| api_key* | string | GeodesicAI API key (gai_...) |
| require_math | boolean | Validate mathematical relationships |
| customer_name | string | Organization or project name (also used for storage folder naming) |
| workflow_name* | string | Unique Blueprint identifier; the value passed as 'blueprint' in validate |
| derived_fields | array | Field names the platform computes from other fields, e.g. ['subtotal','total'] |
| semantic_checks | array | Domain-specific semantic check objects |
| derivation_rules | array | Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt |
Validate structured data against a Blueprint's rules BEFORE the result is used. Returns PASS, FAIL, or REVIEW with plain-language findings, repair suggestions, a determinism hash, and a re-verifiable certificate. Same input + same rules = same verdict, every time.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| source_text | any | Optional. The text of the document the fields were extracted from. When the Blueprint has a source check, extracted values are compared against this text. It is used for the check only and is not stored |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "validateArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"source_text": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Source Text",
"default": null,
"description": "Optional. The text of the document the fields were extracted from. When the Blueprint has a source check, extracted values are compared against this text. It is used for the check only and is not stored"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Validate structured data against a Blueprint and, when it fails, include repair suggestions (corrected values with the rule each fix is based on) in the same call. Same verdicts as validate: PASS, FAIL, or REVIEW, with reasons and proof.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| blueprint | string | Blueprint name (workflow_name) to use |
| structured_data* | object | The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked |
{
"type": "object",
"title": "validate_repairArguments",
"required": [
"api_key",
"structured_data"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Blueprint name (workflow_name) to use"
},
"structured_data": {
"type": "object",
"title": "Structured Data",
"description": "The document's extracted fields as key/value pairs. Keys are open by design - your Blueprint's rules define what is checked",
"additionalProperties": true
}
}
}Independently re-verify a validation certificate. Integrity mode checks the hash chain; full mode (certificate + original data) recomputes every attested rule from scratch - trust nothing, recheck everything.
| Argument | Type | Description |
|---|---|---|
| data | object | Original payload for full re-verification; omit for integrity-only mode |
| api_key* | string | GeodesicAI API key (gai_...) |
| certificate* | object | The certificate object from a prior validation response |
| derivation_rules | array | Rule list for independent attestation recomputation (optional) |
| formal_constraints | array | Optional constraints to match against the committed bundle |
{
"type": "object",
"title": "verify_certificateArguments",
"required": [
"api_key",
"certificate"
],
"properties": {
"data": {
"type": "object",
"title": "Data",
"default": null,
"description": "Original payload for full re-verification; omit for integrity-only mode",
"additionalProperties": true
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"certificate": {
"type": "object",
"title": "Certificate",
"description": "The certificate object from a prior validation response",
"additionalProperties": true
},
"derivation_rules": {
"type": "array",
"items": {},
"title": "Derivation Rules",
"default": null,
"description": "Rule list for independent attestation recomputation (optional)"
},
"formal_constraints": {
"type": "array",
"items": {},
"title": "Formal Constraints",
"default": null,
"description": "Optional constraints to match against the committed bundle"
}
}
}Check replay commitment integrity and compare recorded execution components. Version 4 includes reference context and the final result/status. A match compares commitments; this tool does not rerun the workflow or reconstruct historical reference populations, and does not prove factual correctness.
| Argument | Type | Description |
|---|---|---|
| api_key* | string | GeodesicAI API key (gai_...) |
| contract_a* | object | replay_contract object from one execution |
| contract_b* | object | replay_contract object to compare against contract_a |
{
"type": "object",
"title": "verify_replayArguments",
"required": [
"api_key",
"contract_a",
"contract_b"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"contract_a": {
"type": "object",
"title": "Contract A",
"description": "replay_contract object from one execution",
"additionalProperties": true
},
"contract_b": {
"type": "object",
"title": "Contract B",
"description": "replay_contract object to compare against contract_a",
"additionalProperties": true
}
}
}| Explicit one-to-one field renaming from A to B |
{
"type": "object",
"title": "compare_semantic_equivalenceArguments",
"required": [
"api_key",
"payload_a",
"payload_b"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"rules_a": {
"type": "array",
"items": {},
"title": "Rules A",
"default": null,
"description": "Derivation rules for A"
},
"rules_b": {
"type": "array",
"items": {},
"title": "Rules B",
"default": null,
"description": "Derivation rules for B"
},
"payload_a": {
"type": "object",
"title": "Payload A",
"description": "First structured payload (arbitrary JSON object)",
"additionalProperties": true
},
"payload_b": {
"type": "object",
"title": "Payload B",
"description": "Second structured payload to compare against payload_a",
"additionalProperties": true
},
"constraints_a": {
"type": "array",
"items": {},
"title": "Constraints A",
"default": null,
"description": "Formal constraints for A"
},
"constraints_b": {
"type": "array",
"items": {},
"title": "Constraints B",
"default": null,
"description": "Formal constraints for B"
},
"field_mapping": {
"type": "object",
"title": "Field Mapping",
"default": null,
"description": "Explicit one-to-one field renaming from A to B",
"additionalProperties": true
}
}
}| array |
| Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt |
| extracted_fields | array | Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost'] |
| require_coherence | boolean | Check cross-field plausibility |
| formal_constraints | array | Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt |
| require_provenance | boolean | Require extraction source locations for fields |
| require_consistency | boolean | Check internal field consistency |
| enable_drift_tracking | boolean | Track pattern stability across batches |
| require_high_assurance | boolean | Strictest mode: every check must pass |
| enable_anomaly_detection | boolean | Flag records that break no rules but do not fit the reference pattern |
{
"type": "object",
"title": "create_blueprintArguments",
"required": [
"api_key",
"customer_name",
"workflow_name"
],
"properties": {
"mode": {
"enum": [
"observe",
"enforce"
],
"type": "string",
"title": "Mode",
"default": "observe",
"description": "observe: platform checks the agent's work; enforce: platform computes derived fields itself"
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"require_math": {
"type": "boolean",
"title": "Require Math",
"default": true,
"description": "Validate mathematical relationships"
},
"customer_name": {
"type": "string",
"title": "Customer Name",
"description": "Organization or project name (also used for storage folder naming)"
},
"workflow_name": {
"type": "string",
"title": "Workflow Name",
"description": "Unique Blueprint identifier; the value passed as 'blueprint' in validate"
},
"derived_fields": {
"type": "array",
"items": {},
"title": "Derived Fields",
"default": null,
"description": "Field names the platform computes from other fields, e.g. ['subtotal','total']"
},
"semantic_checks": {
"type": "array",
"items": {},
"title": "Semantic Checks",
"default": null,
"description": "Domain-specific semantic check objects"
},
"derivation_rules": {
"type": "array",
"items": {},
"title": "Derivation Rules",
"default": null,
"description": "Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt"
},
"extracted_fields": {
"type": "array",
"items": {},
"title": "Extracted Fields",
"default": null,
"description": "Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']"
},
"require_coherence": {
"type": "boolean",
"title": "Require Coherence",
"default": true,
"description": "Check cross-field plausibility"
},
"formal_constraints": {
"type": "array",
"items": {},
"title": "Formal Constraints",
"default": null,
"description": "Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt"
},
"require_provenance": {
"type": "boolean",
"title": "Require Provenance",
"default": false,
"description": "Require extraction source locations for fields"
},
"require_consistency": {
"type": "boolean",
"title": "Require Consistency",
"default": true,
"description": "Check internal field consistency"
},
"enable_drift_tracking": {
"type": "boolean",
"title": "Enable Drift Tracking",
"default": false,
"description": "Track pattern stability across batches"
},
"require_high_assurance": {
"type": "boolean",
"title": "Require High Assurance",
"default": false,
"description": "Strictest mode: every check must pass"
},
"enable_anomaly_detection": {
"type": "boolean",
"title": "Enable Anomaly Detection",
"default": false,
"description": "Flag records that break no rules but do not fit the reference pattern"
}
}
}{
"type": "object",
"title": "decompose_failureArguments",
"required": [
"api_key",
"original_values",
"corrected_values"
],
"properties": {
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": null,
"description": "Load rules from this Blueprint instead of passing them inline"
},
"original_values": {
"type": "object",
"title": "Original Values",
"description": "Original numeric field values as {field: number}",
"additionalProperties": true
},
"corrected_values": {
"type": "object",
"title": "Corrected Values",
"description": "Corrected/expected numeric field values as {field: number}",
"additionalProperties": true
},
"derivation_rules": {
"type": "array",
"items": {},
"title": "Derivation Rules",
"default": null,
"description": "Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt"
},
"formal_constraints": {
"type": "array",
"items": {},
"title": "Formal Constraints",
"default": null,
"description": "Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt"
}
}
}| Caller-chosen ID grouping the steps of one generation |
{
"type": "object",
"title": "govern_inferenceArguments",
"required": [
"api_key",
"task_type",
"payload",
"inference_id"
],
"properties": {
"source": {
"type": "string",
"title": "Source",
"default": "mcp",
"description": "Free-form caller label recorded for audit"
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"payload": {
"type": "object",
"title": "Payload",
"description": "Task-type payload: generative_text {text,...}; retrieval {query,candidates}; generic {features}",
"additionalProperties": true
},
"blueprint": {
"type": "string",
"title": "Blueprint",
"default": "default",
"description": "Owned Blueprint namespace for the trace"
},
"task_type": {
"enum": [
"generative_text",
"retrieval",
"generic"
],
"type": "string",
"title": "Task Type",
"description": "Kind of generation step being governed"
},
"step_index": {
"type": "integer",
"title": "Step Index",
"default": 0,
"description": "Step number within this generation (0-based)"
},
"constraints": {
"type": "object",
"title": "Constraints",
"default": null,
"description": "Optional governance constraint config object",
"additionalProperties": true
},
"inference_id": {
"type": "string",
"title": "Inference Id",
"description": "Caller-chosen ID grouping the steps of one generation"
}
}
}| extracted_fields | array | Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost'] |
| require_coherence | boolean | Check cross-field plausibility |
| formal_constraints | array | Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt |
| require_provenance | boolean | Require extraction source locations for fields |
| require_consistency | boolean | Check internal field consistency |
| enable_drift_tracking | boolean | Track pattern stability across batches |
| require_high_assurance | boolean | Strictest mode: every check must pass |
| enable_anomaly_detection | boolean | Flag records that break no rules but do not fit the reference pattern |
{
"type": "object",
"title": "update_blueprintArguments",
"required": [
"api_key",
"workflow_name"
],
"properties": {
"mode": {
"type": "string",
"title": "Mode",
"default": null,
"description": "New mode: observe or enforce; omit to keep current"
},
"api_key": {
"type": "string",
"title": "Api Key",
"description": "GeodesicAI API key (gai_...)"
},
"require_math": {
"type": "boolean",
"title": "Require Math",
"default": null,
"description": "Validate mathematical relationships"
},
"customer_name": {
"type": "string",
"title": "Customer Name",
"default": null,
"description": "Organization or project name (also used for storage folder naming)"
},
"workflow_name": {
"type": "string",
"title": "Workflow Name",
"description": "Unique Blueprint identifier; the value passed as 'blueprint' in validate"
},
"derived_fields": {
"type": "array",
"items": {},
"title": "Derived Fields",
"default": null,
"description": "Field names the platform computes from other fields, e.g. ['subtotal','total']"
},
"semantic_checks": {
"type": "array",
"items": {},
"title": "Semantic Checks",
"default": null,
"description": "Domain-specific semantic check objects"
},
"derivation_rules": {
"type": "array",
"items": {},
"title": "Derivation Rules",
"default": null,
"description": "Math rules as objects. Types: add, subtract, multiply, divide, round, copy, sum (multi-operand), items_multiply, items_sum. Each needs 'type' plus its fields; see the blueprint_guide prompt"
},
"extracted_fields": {
"type": "array",
"items": {},
"title": "Extracted Fields",
"default": null,
"description": "Field names the agent extracts from source data, e.g. ['vendor','qty','unit_cost']"
},
"require_coherence": {
"type": "boolean",
"title": "Require Coherence",
"default": null,
"description": "Check cross-field plausibility"
},
"formal_constraints": {
"type": "array",
"items": {},
"title": "Formal Constraints",
"default": null,
"description": "Constraint objects. Types incl. magnitude_anchor {field,min,max}, relative_anchor {field,reference_field,ratio_min,ratio_max}, max_action_threshold {field,threshold,on_violation}, required_fields {fields}, equals, range, in_set, regex_match, items_magnitude_anchor; see the blueprint_guide prompt"
},
"require_provenance": {
"type": "boolean",
"title": "Require Provenance",
"default": null,
"description": "Require extraction source locations for fields"
},
"require_consistency": {
"type": "boolean",
"title": "Require Consistency",
"default": null,
"description": "Check internal field consistency"
},
"enable_drift_tracking": {
"type": "boolean",
"title": "Enable Drift Tracking",
"default": null,
"description": "Track pattern stability across batches"
},
"require_high_assurance": {
"type": "boolean",
"title": "Require High Assurance",
"default": null,
"description": "Strictest mode: every check must pass"
},
"enable_anomaly_detection": {
"type": "boolean",
"title": "Enable Anomaly Detection",
"default": null,
"description": "Flag records that break no rules but do not fit the reference pattern"
}
}
}