Decision Gate Docs

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

Asset Core docs

typedprovidersget

Obtenir artefactes del proveïdor escrits + metadades del cicle de vida per a una versió.

Notes clau

  • Requereix els camps de l’abast tenant_id i namespace_id.
  • Retorna el contracte del proveïdor + perfil d’execució per a la versió seleccionada.
  • Pot avaluar la deriva del digest contra els digests de font/perfil observats.
  • Si es omet la versió, es selecciona la versió activa.

Inputs

  • namespace_id (requerit): Identificador de l’espai de noms.
  • observed_profile_digest (opcional): Observació opcional del resum del perfil per a comprovacions de deriva.
  • observed_source_digest (opcional): Observació de digestió de font opcional per a comprovacions de deriva.
  • provider_id (requerit): Identificador del proveïdor tipat.
  • tenant_id (required): Identificador del llogater.
  • versió (opcional): Una de les 2 variants d’esquema.

Input Schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "namespace_id": {
      "description": "Namespace identifier.",
      "minimum": 1,
      "type": "integer"
    },
    "observed_profile_digest": {
      "description": "Optional profile digest observation for drift checks.",
      "oneOf": [
        {
          "type": "null"
        },
        {
          "additionalProperties": false,
          "properties": {
            "algorithm": {
              "enum": [
                "sha256"
              ],
              "type": "string"
            },
            "value": {
              "description": "Lowercase hex digest.",
              "type": "string"
            }
          },
          "required": [
            "algorithm",
            "value"
          ],
          "type": "object"
        }
      ]
    },
    "observed_source_digest": {
      "description": "Optional source digest observation for drift checks.",
      "oneOf": [
        {
          "type": "null"
        },
        {
          "additionalProperties": false,
          "properties": {
            "algorithm": {
              "enum": [
                "sha256"
              ],
              "type": "string"
            },
            "value": {
              "description": "Lowercase hex digest.",
              "type": "string"
            }
          },
          "required": [
            "algorithm",
            "value"
          ],
          "type": "object"
        }
      ]
    },
    "provider_id": {
      "description": "Typed provider identifier.",
      "type": "string"
    },
    "tenant_id": {
      "description": "Tenant identifier.",
      "minimum": 1,
      "type": "integer"
    },
    "version": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Lifecycle version identifier.",
          "type": "string"
        }
      ]
    }
  },
  "required": [
    "tenant_id",
    "namespace_id",
    "provider_id"
  ],
  "type": "object"
}

Sortides

  • active_version (requerit): Una de les 2 variants d’esquema.
  • catalog_version (requerit): Versió del esquema del catàleg del cicle de vida tipat.
  • contracte (requerit): Tipus: objecte.
  • drift_status (requerit): Un dels 2 variants d’esquema.
  • provider_id (requerit): Identificador del proveïdor tipat.
  • registre (requerit): Tipus: objecte.
  • runtime_profile (requerit): Artifact de perfil d’execució tipat.
  • selected_version (requerit): Versió del cicle de vida seleccionada.
  • source (required): Com es van registrar els artefactes escrits.

Esquema de sortida

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "properties": {
    "active_version": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Current active lifecycle version.",
          "type": "string"
        }
      ]
    },
    "catalog_version": {
      "description": "Typed lifecycle catalog schema version.",
      "type": "string"
    },
    "contract": {
      "additionalProperties": false,
      "properties": {
        "checks": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "allowed_comparators": {
                "description": "Comparator allow-list for this check.",
                "items": {
                  "description": "Comparator applied to evidence values.",
                  "enum": [
                    "equals",
                    "not_equals",
                    "greater_than",
                    "greater_than_or_equal",
                    "less_than",
                    "less_than_or_equal",
                    "lex_greater_than",
                    "lex_greater_than_or_equal",
                    "lex_less_than",
                    "lex_less_than_or_equal",
                    "contains",
                    "in_set",
                    "deep_equals",
                    "deep_not_equals",
                    "exists",
                    "not_exists"
                  ],
                  "type": "string"
                },
                "type": "array"
              },
              "anchor_types": {
                "description": "Anchor types emitted by this check.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "check_id": {
                "description": "Check identifier.",
                "type": "string"
              },
              "content_types": {
                "description": "Content types for check output.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "description": {
                "description": "Check description.",
                "type": "string"
              },
              "determinism": {
                "description": "Determinism classification for provider checks.",
                "enum": [
                  "deterministic",
                  "time_dependent",
                  "external"
                ],
                "type": "string"
              },
              "examples": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "description": {
                      "description": "Short example description.",
                      "type": "string"
                    },
                    "params": {
                      "description": "Example params payload.",
                      "type": [
                        "null",
                        "boolean",
                        "number",
                        "string",
                        "array",
                        "object"
                      ]
                    },
                    "result": {
                      "description": "Example result value.",
                      "type": [
                        "null",
                        "boolean",
                        "number",
                        "string",
                        "array",
                        "object"
                      ]
                    }
                  },
                  "required": [
                    "description",
                    "params",
                    "result"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "params_required": {
                "description": "Whether params are required for this check.",
                "type": "boolean"
              },
              "params_schema": {
                "description": "JSON schema for check params.",
                "type": [
                  "null",
                  "boolean",
                  "number",
                  "string",
                  "array",
                  "object"
                ]
              },
              "result_schema": {
                "description": "JSON schema for check result values.",
                "type": [
                  "null",
                  "boolean",
                  "number",
                  "string",
                  "array",
                  "object"
                ]
              }
            },
            "required": [
              "check_id",
              "description",
              "determinism",
              "params_required",
              "params_schema",
              "result_schema",
              "allowed_comparators",
              "anchor_types",
              "content_types",
              "examples"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "config_schema": {
          "description": "Provider configuration schema.",
          "type": [
            "null",
            "boolean",
            "number",
            "string",
            "array",
            "object"
          ]
        },
        "description": {
          "description": "Provider description.",
          "type": "string"
        },
        "name": {
          "description": "Provider display name.",
          "type": "string"
        },
        "notes": {
          "description": "Provider notes and guidance.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "provider_id": {
          "description": "Provider identifier.",
          "type": "string"
        },
        "transport": {
          "description": "Provider transport kind.",
          "enum": [
            "builtin",
            "mcp",
            "typed"
          ],
          "type": "string"
        }
      },
      "required": [
        "provider_id",
        "name",
        "description",
        "transport",
        "config_schema",
        "checks",
        "notes"
      ],
      "type": "object"
    },
    "drift_status": {
      "oneOf": [
        {
          "type": "null"
        },
        {
          "description": "Digest drift status for observed source/profile tuples.",
          "enum": [
            "in_sync",
            "source_digest_mismatch",
            "profile_digest_mismatch",
            "source_and_profile_digest_mismatch"
          ],
          "type": "string"
        }
      ]
    },
    "provider_id": {
      "description": "Typed provider identifier.",
      "type": "string"
    },
    "record": {
      "additionalProperties": false,
      "properties": {
        "deprecated": {
          "description": "Whether this lifecycle version is deprecated.",
          "type": "boolean"
        },
        "profile_digest": {
          "additionalProperties": false,
          "properties": {
            "algorithm": {
              "enum": [
                "sha256"
              ],
              "type": "string"
            },
            "value": {
              "description": "Lowercase hex digest.",
              "type": "string"
            }
          },
          "required": [
            "algorithm",
            "value"
          ],
          "type": "object"
        },
        "source_digest": {
          "additionalProperties": false,
          "properties": {
            "algorithm": {
              "enum": [
                "sha256"
              ],
              "type": "string"
            },
            "value": {
              "description": "Lowercase hex digest.",
              "type": "string"
            }
          },
          "required": [
            "algorithm",
            "value"
          ],
          "type": "object"
        },
        "version": {
          "description": "Lifecycle version identifier.",
          "type": "string"
        }
      },
      "required": [
        "version",
        "deprecated",
        "source_digest",
        "profile_digest"
      ],
      "type": "object"
    },
    "runtime_profile": {
      "description": "Typed runtime profile artifact.",
      "type": [
        "null",
        "boolean",
        "number",
        "string",
        "array",
        "object"
      ]
    },
    "selected_version": {
      "description": "Selected lifecycle version.",
      "type": "string"
    },
    "source": {
      "description": "How the typed artifacts were registered.",
      "enum": [
        "openapi_import",
        "artifact_register"
      ],
      "type": "string"
    }
  },
  "required": [
    "provider_id",
    "catalog_version",
    "active_version",
    "selected_version",
    "source",
    "record",
    "contract",
    "runtime_profile",
    "drift_status"
  ],
  "type": "object"
}

Exemples

Obteniu artefactes de proveïdor escrits i metadades del cicle de vida.

Input:

{
  "namespace_id": 1,
  "observed_profile_digest": {
    "algorithm": "sha256",
    "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
  },
  "observed_source_digest": {
    "algorithm": "sha256",
    "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
  },
  "provider_id": "asset_api",
  "tenant_id": 1,
  "version": "2026-02-17.1"
}

Output:

{
  "active_version": "2026-02-17.1",
  "catalog_version": "typed-lifecycle-v1",
  "contract": {
    "checks": [],
    "config_schema": {
      "additionalProperties": false,
      "type": "object"
    },
    "description": "Typed API provider",
    "name": "Asset API",
    "notes": [],
    "provider_id": "asset_api",
    "transport": "typed"
  },
  "drift_status": "in_sync",
  "provider_id": "asset_api",
  "record": {
    "deprecated": false,
    "profile_digest": {
      "algorithm": "sha256",
      "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    },
    "source_digest": {
      "algorithm": "sha256",
      "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    },
    "version": "2026-02-17.1"
  },
  "runtime_profile": {
    "anchors": {
      "anchor_type": "typed_request"
    },
    "operations": [
      {
        "allowed_status_codes": [
          200
        ],
        "auth": {
          "alternatives": [
            {
              "kind": "none"
            }
          ]
        },
        "bindings": [],
        "check_id": "listAssets",
        "content_types": [
          "application/json"
        ],
        "extraction": {
          "kind": "json_body"
        },
        "method": "GET",
        "operation_id": "listAssets",
        "target": "https://api.example.com/assets"
      }
    ],
    "profile_digest": {
      "algorithm": "sha256",
      "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    },
    "profile_version": "typed-runtime-v4",
    "protocol": "openapi_http",
    "provider_id": "asset_api",
    "security": {
      "allow_http": false,
      "allow_private_networks": false,
      "allowed_hosts": null,
      "max_response_bytes": 1048576,
      "outbound_max_inflight": 32,
      "retry": {
        "initial_backoff_ms": 100,
        "max_attempts": 3,
        "max_backoff_ms": 2000
      },
      "timeout_ms": 5000
    },
    "source_digest": {
      "algorithm": "sha256",
      "value": "5c3a5b6bce0f4a2c9e22c4fa6a1e6d8d90b0f2dfed1b7f1e9b3d3b3d1f0c9b21"
    }
  },
  "selected_version": "2026-02-17.1",
  "source": "openapi_import"
}