The API reference is in English.

Current source preview reference

API schemas

Request and response schemas for the CodeSecurity API, with field types, required properties and links to the OpenAPI specification.

0.1.0 · source bccff29 · Immutable snapshot · Download OpenAPI specification

All 116 control schema definitions exported from the pinned route models. Fields, bounds and enum values come from source. Cross-field validators and stateful checks are described in the guides and source.

AdvisorDisclosureConfirmationOut
{
  "additionalProperties": false,
  "properties": {
    "authorization_id": {
      "pattern": "^[0-9a-f]{32}$",
      "title": "Authorization Id",
      "type": "string"
    },
    "confirmation_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Confirmation Digest",
      "type": "string"
    },
    "consent_approved_at": {
      "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d{1,6})?Z$",
      "title": "Consent Approved At",
      "type": "string"
    },
    "destination": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Destination",
      "type": "string"
    },
    "disclosure_mode": {
      "const": "finding_evidence",
      "title": "Disclosure Mode",
      "type": "string"
    },
    "finding_id": {
      "minimum": 1,
      "title": "Finding Id",
      "type": "integer"
    },
    "finding_revision": {
      "minimum": 1,
      "title": "Finding Revision",
      "type": "integer"
    },
    "model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Model",
      "type": "string"
    },
    "model_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Model Digest",
      "type": "string"
    },
    "payload_categories": {
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "minItems": 5,
      "title": "Payload Categories",
      "type": "array"
    },
    "prompt_sha256": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Prompt Sha256",
      "type": "string"
    },
    "provider_config_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Provider Config Digest",
      "type": "string"
    },
    "provider_config_revision": {
      "minimum": 1,
      "title": "Provider Config Revision",
      "type": "integer"
    },
    "provider_id": {
      "pattern": "^[a-z][a-z0-9-]{0,39}$",
      "title": "Provider Id",
      "type": "string"
    },
    "schema": {
      "const": "lomo-advisor-run-confirmation/v1",
      "title": "Schema",
      "type": "string"
    },
    "transport": {
      "enum": [
        "direct",
        "ssh"
      ],
      "title": "Transport",
      "type": "string"
    }
  },
  "required": [
    "schema",
    "authorization_id",
    "provider_id",
    "provider_config_revision",
    "provider_config_digest",
    "transport",
    "destination",
    "disclosure_mode",
    "payload_categories",
    "model",
    "model_digest",
    "consent_approved_at",
    "finding_id",
    "finding_revision",
    "prompt_sha256",
    "confirmation_digest"
  ],
  "title": "AdvisorDisclosureConfirmationOut",
  "type": "object"
}
AdvisorDisclosurePacketEvidenceOut
{
  "additionalProperties": false,
  "properties": {
    "code_snippet": {
      "anyOf": [
        {
          "maxLength": 20000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Code Snippet"
    },
    "metadata": {
      "additionalProperties": true,
      "title": "Metadata",
      "type": "object"
    }
  },
  "required": [
    "metadata"
  ],
  "title": "AdvisorDisclosurePacketEvidenceOut",
  "type": "object"
}
AdvisorDisclosurePacketFindingOut
{
  "additionalProperties": false,
  "properties": {
    "display_id": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Display Id",
      "type": "string"
    },
    "fingerprint": {
      "maxLength": 128,
      "title": "Fingerprint",
      "type": "string"
    },
    "id": {
      "minimum": 1,
      "title": "Id",
      "type": "integer"
    },
    "message": {
      "maxLength": 4000,
      "title": "Message",
      "type": "string"
    },
    "rule_id": {
      "maxLength": 160,
      "title": "Rule Id",
      "type": "string"
    },
    "scanner": {
      "maxLength": 80,
      "title": "Scanner",
      "type": "string"
    },
    "severity": {
      "maxLength": 30,
      "title": "Severity",
      "type": "string"
    }
  },
  "required": [
    "id",
    "display_id",
    "scanner",
    "rule_id",
    "severity",
    "message",
    "fingerprint"
  ],
  "title": "AdvisorDisclosurePacketFindingOut",
  "type": "object"
}
AdvisorDisclosurePacketLocationOut
{
  "additionalProperties": false,
  "properties": {
    "end_column": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Column"
    },
    "end_line": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Line"
    },
    "file_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "File Path",
      "type": "string"
    },
    "start_column": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Column"
    },
    "start_line": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Line"
    }
  },
  "required": [
    "file_path"
  ],
  "title": "AdvisorDisclosurePacketLocationOut",
  "type": "object"
}
AdvisorDisclosurePacketOut
{
  "additionalProperties": false,
  "properties": {
    "finding": {
      "$ref": "#/components/schemas/AdvisorDisclosurePacketFindingOut"
    },
    "location": {
      "$ref": "#/components/schemas/AdvisorDisclosurePacketLocationOut"
    },
    "repo_context": {
      "$ref": "#/components/schemas/AdvisorDisclosurePacketRepoContextOut"
    },
    "scanner_evidence": {
      "$ref": "#/components/schemas/AdvisorDisclosurePacketEvidenceOut"
    },
    "schema_version": {
      "const": 1,
      "title": "Schema Version",
      "type": "integer"
    }
  },
  "required": [
    "schema_version",
    "finding",
    "location",
    "repo_context",
    "scanner_evidence"
  ],
  "title": "AdvisorDisclosurePacketOut",
  "type": "object"
}
AdvisorDisclosurePacketRepoContextOut
{
  "additionalProperties": false,
  "properties": {
    "base_ref": {
      "anyOf": [
        {
          "maxLength": 160,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Base Ref"
    },
    "head_ref": {
      "anyOf": [
        {
          "maxLength": 160,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Head Ref"
    },
    "mode": {
      "maxLength": 40,
      "title": "Mode",
      "type": "string"
    },
    "project": {
      "maxLength": 120,
      "title": "Project",
      "type": "string"
    },
    "remote_url": {
      "anyOf": [
        {
          "maxLength": 4096,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Remote Url"
    },
    "repo_path": {
      "maxLength": 4096,
      "title": "Repo Path",
      "type": "string"
    },
    "scan_id": {
      "minimum": 1,
      "title": "Scan Id",
      "type": "integer"
    }
  },
  "required": [
    "project",
    "repo_path",
    "scan_id",
    "mode"
  ],
  "title": "AdvisorDisclosurePacketRepoContextOut",
  "type": "object"
}
AdvisorDisclosurePreviewOut
{
  "additionalProperties": false,
  "properties": {
    "confirmation": {
      "$ref": "#/components/schemas/AdvisorDisclosureConfirmationOut"
    },
    "packet": {
      "$ref": "#/components/schemas/AdvisorDisclosurePacketOut"
    },
    "packet_utf8_bytes": {
      "maximum": 262144,
      "minimum": 2,
      "title": "Packet Utf8 Bytes",
      "type": "integer"
    }
  },
  "required": [
    "confirmation",
    "packet",
    "packet_utf8_bytes"
  ],
  "title": "AdvisorDisclosurePreviewOut",
  "type": "object"
}
AdvisorDisclosurePreviewRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "provider_id": {
      "anyOf": [
        {
          "pattern": "^[a-z][a-z0-9-]{0,39}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Provider Id"
    }
  },
  "required": [
    "expected_revision"
  ],
  "title": "AdvisorDisclosurePreviewRequest",
  "type": "object"
}
AdvisorLocalCatalogOut
{
  "additionalProperties": false,
  "properties": {
    "models": {
      "items": {
        "$ref": "#/components/schemas/AdvisorLocalModelOut"
      },
      "maxItems": 200,
      "title": "Models",
      "type": "array"
    },
    "recommended_model": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Recommended Model"
    },
    "schema": {
      "const": "lomo-advisor-local-catalog/v1",
      "title": "Schema",
      "type": "string"
    },
    "source": {
      "const": "dedicated_local_connector",
      "title": "Source",
      "type": "string"
    }
  },
  "required": [
    "schema",
    "source",
    "models"
  ],
  "title": "AdvisorLocalCatalogOut",
  "type": "object"
}
AdvisorLocalModelOut
{
  "additionalProperties": false,
  "properties": {
    "digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Digest",
      "type": "string"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "size_bytes": {
      "maximum": 9007199254740991,
      "minimum": 0,
      "title": "Size Bytes",
      "type": "integer"
    },
    "storage": {
      "enum": [
        "local_weights",
        "cloud_stub"
      ],
      "title": "Storage",
      "type": "string"
    }
  },
  "required": [
    "name",
    "digest",
    "size_bytes",
    "storage"
  ],
  "title": "AdvisorLocalModelOut",
  "type": "object"
}
AdvisorProviderActivationApproval
{
  "additionalProperties": false,
  "properties": {
    "destination": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Destination",
      "type": "string"
    },
    "disclosure_mode": {
      "const": "finding_evidence",
      "title": "Disclosure Mode",
      "type": "string"
    },
    "model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Model",
      "type": "string"
    },
    "model_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Model Digest",
      "type": "string"
    },
    "payload_categories": {
      "items": {
        "type": "string"
      },
      "maxItems": 5,
      "minItems": 5,
      "title": "Payload Categories",
      "type": "array"
    },
    "provider_config_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Provider Config Digest",
      "type": "string"
    },
    "provider_config_revision": {
      "minimum": 1,
      "title": "Provider Config Revision",
      "type": "integer"
    },
    "provider_id": {
      "pattern": "^[a-z][a-z0-9-]{0,39}$",
      "title": "Provider Id",
      "type": "string"
    },
    "schema": {
      "const": "lomo-advisor-activation-approval/v1",
      "title": "Schema",
      "type": "string"
    },
    "transport": {
      "enum": [
        "direct",
        "ssh"
      ],
      "title": "Transport",
      "type": "string"
    }
  },
  "required": [
    "schema",
    "provider_id",
    "provider_config_revision",
    "provider_config_digest",
    "transport",
    "destination",
    "disclosure_mode",
    "payload_categories",
    "model",
    "model_digest"
  ],
  "title": "AdvisorProviderActivationApproval",
  "type": "object"
}
AdvisorProviderCollectionOut
{
  "additionalProperties": false,
  "properties": {
    "active_provider_id": {
      "anyOf": [
        {
          "maxLength": 40,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Active Provider Id"
    },
    "providers": {
      "items": {
        "$ref": "#/components/schemas/AdvisorProviderOut"
      },
      "maxItems": 8,
      "title": "Providers",
      "type": "array"
    },
    "resolution": {
      "$ref": "#/components/schemas/AdvisorProviderResolutionOut"
    },
    "revision": {
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    }
  },
  "required": [
    "revision",
    "providers",
    "resolution"
  ],
  "title": "AdvisorProviderCollectionOut",
  "type": "object"
}
AdvisorProviderCommandRequest
{
  "additionalProperties": false,
  "properties": {
    "acknowledge_source_disclosure": {
      "default": false,
      "title": "Acknowledge Source Disclosure",
      "type": "boolean"
    },
    "action": {
      "enum": [
        "test",
        "activate",
        "disconnect"
      ],
      "title": "Action",
      "type": "string"
    },
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "source_disclosure_approval": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/AdvisorProviderActivationApproval"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "expected_revision",
    "action"
  ],
  "title": "AdvisorProviderCommandRequest",
  "type": "object"
}
AdvisorProviderDeleteRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "expected_revision"
  ],
  "title": "AdvisorProviderDeleteRequest",
  "type": "object"
}
AdvisorProviderInput
{
  "additionalProperties": false,
  "properties": {
    "base_url": {
      "anyOf": [
        {
          "maxLength": 500,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Base Url"
    },
    "enabled": {
      "title": "Enabled",
      "type": "boolean"
    },
    "id": {
      "maxLength": 40,
      "minLength": 1,
      "pattern": "^[a-z][a-z0-9-]{0,39}$",
      "title": "Id",
      "type": "string"
    },
    "model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Model",
      "type": "string"
    },
    "model_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Model Digest",
      "type": "string"
    },
    "name": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "priority": {
      "maximum": 7,
      "minimum": 0,
      "title": "Priority",
      "type": "integer"
    },
    "ssh_host": {
      "anyOf": [
        {
          "maxLength": 253,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ssh Host"
    },
    "ssh_port": {
      "anyOf": [
        {
          "const": 22,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ssh Port"
    },
    "ssh_user": {
      "anyOf": [
        {
          "maxLength": 64,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ssh User"
    },
    "transport": {
      "enum": [
        "local",
        "direct",
        "ssh"
      ],
      "title": "Transport",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "transport",
    "priority",
    "enabled",
    "model",
    "model_digest"
  ],
  "title": "AdvisorProviderInput",
  "type": "object"
}
AdvisorProviderOut
{
  "additionalProperties": false,
  "properties": {
    "authorization": {
      "enum": [
        "not_required",
        "required",
        "authorized"
      ],
      "title": "Authorization",
      "type": "string"
    },
    "base_url": {
      "anyOf": [
        {
          "maxLength": 500,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Base Url"
    },
    "config_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Config Digest",
      "type": "string"
    },
    "config_revision": {
      "minimum": 1,
      "title": "Config Revision",
      "type": "integer"
    },
    "content_disclosure_approved": {
      "title": "Content Disclosure Approved",
      "type": "boolean"
    },
    "eligible": {
      "title": "Eligible",
      "type": "boolean"
    },
    "enabled": {
      "title": "Enabled",
      "type": "boolean"
    },
    "id": {
      "maxLength": 40,
      "minLength": 1,
      "pattern": "^[a-z][a-z0-9-]{0,39}$",
      "title": "Id",
      "type": "string"
    },
    "last_activity_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Last Activity At"
    },
    "model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Model",
      "type": "string"
    },
    "model_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Model Digest",
      "type": "string"
    },
    "name": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "priority": {
      "maximum": 7,
      "minimum": 0,
      "title": "Priority",
      "type": "integer"
    },
    "reason": {
      "anyOf": [
        {
          "maxLength": 240,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason"
    },
    "reason_code": {
      "anyOf": [
        {
          "maxLength": 80,
          "pattern": "^[a-z][a-z0-9_]{0,79}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason Code"
    },
    "remediation": {
      "enum": [
        "none",
        "authorize",
        "test",
        "activate",
        "retry",
        "refresh"
      ],
      "title": "Remediation",
      "type": "string"
    },
    "ssh_host": {
      "anyOf": [
        {
          "maxLength": 253,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ssh Host"
    },
    "ssh_port": {
      "anyOf": [
        {
          "const": 22,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ssh Port"
    },
    "ssh_user": {
      "anyOf": [
        {
          "maxLength": 64,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ssh User"
    },
    "status": {
      "enum": [
        "idle",
        "testing",
        "available",
        "unavailable",
        "active",
        "disconnected"
      ],
      "title": "Status",
      "type": "string"
    },
    "transport": {
      "enum": [
        "local",
        "direct",
        "ssh"
      ],
      "title": "Transport",
      "type": "string"
    }
  },
  "required": [
    "id",
    "name",
    "transport",
    "priority",
    "enabled",
    "model",
    "model_digest",
    "authorization",
    "status",
    "remediation",
    "content_disclosure_approved",
    "config_revision",
    "config_digest",
    "eligible"
  ],
  "title": "AdvisorProviderOut",
  "type": "object"
}
AdvisorProviderReceiptOut
{
  "additionalProperties": false,
  "properties": {
    "kind": {
      "enum": [
        "local",
        "direct",
        "ssh"
      ],
      "title": "Kind",
      "type": "string"
    },
    "model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Model",
      "type": "string"
    },
    "model_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Model Digest",
      "type": "string"
    },
    "provider_id": {
      "pattern": "^[a-z][a-z0-9-]{0,39}$",
      "title": "Provider Id",
      "type": "string"
    },
    "revision": {
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "route": {
      "enum": [
        "local",
        "direct",
        "ssh"
      ],
      "title": "Route",
      "type": "string"
    },
    "schema": {
      "const": "lomo-advisor-provider-receipt/v1",
      "title": "Schema",
      "type": "string"
    },
    "status": {
      "const": "ready",
      "title": "Status",
      "type": "string"
    },
    "tested_at": {
      "format": "date-time",
      "title": "Tested At",
      "type": "string"
    }
  },
  "required": [
    "schema",
    "provider_id",
    "kind",
    "route",
    "model",
    "model_digest",
    "status",
    "tested_at",
    "revision"
  ],
  "title": "AdvisorProviderReceiptOut",
  "type": "object"
}
AdvisorProviderResolutionOut
{
  "additionalProperties": false,
  "properties": {
    "eligible_provider_ids": {
      "items": {
        "type": "string"
      },
      "maxItems": 8,
      "title": "Eligible Provider Ids",
      "type": "array"
    },
    "provider_id": {
      "anyOf": [
        {
          "maxLength": 40,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Provider Id"
    },
    "reason": {
      "anyOf": [
        {
          "maxLength": 240,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason"
    },
    "transport": {
      "enum": [
        "local",
        "direct",
        "ssh",
        "unavailable"
      ],
      "title": "Transport",
      "type": "string"
    }
  },
  "required": [
    "transport",
    "eligible_provider_ids"
  ],
  "title": "AdvisorProviderResolutionOut",
  "type": "object"
}
AdvisorProviderWriteRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "provider": {
      "$ref": "#/components/schemas/AdvisorProviderInput"
    }
  },
  "required": [
    "expected_revision",
    "provider"
  ],
  "title": "AdvisorProviderWriteRequest",
  "type": "object"
}
AdvisorTriageProviderPin
{
  "additionalProperties": false,
  "properties": {
    "model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Model",
      "type": "string"
    },
    "model_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Model Digest",
      "type": "string"
    },
    "provider_collection_revision": {
      "minimum": 1,
      "title": "Provider Collection Revision",
      "type": "integer"
    },
    "provider_config_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Provider Config Digest",
      "type": "string"
    },
    "provider_config_revision": {
      "minimum": 1,
      "title": "Provider Config Revision",
      "type": "integer"
    },
    "provider_id": {
      "pattern": "^[a-z][a-z0-9-]{0,39}$",
      "title": "Provider Id",
      "type": "string"
    },
    "transport": {
      "enum": [
        "local",
        "direct",
        "ssh"
      ],
      "title": "Transport",
      "type": "string"
    }
  },
  "required": [
    "provider_collection_revision",
    "provider_id",
    "transport",
    "provider_config_revision",
    "provider_config_digest",
    "model",
    "model_digest"
  ],
  "title": "AdvisorTriageProviderPin",
  "type": "object"
}
BootstrapRequest
{
  "additionalProperties": false,
  "properties": {
    "bootstrap_token": {
      "maxLength": 256,
      "minLength": 1,
      "title": "Bootstrap Token",
      "type": "string"
    }
  },
  "required": [
    "bootstrap_token"
  ],
  "title": "BootstrapRequest",
  "type": "object"
}
BrowserMemberResponse
{
  "additionalProperties": false,
  "properties": {
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "current": {
      "title": "Current",
      "type": "boolean"
    },
    "id": {
      "pattern": "^kbm1_[A-Za-z0-9_-]{32}$",
      "title": "Id",
      "type": "string"
    },
    "last_seen_at": {
      "format": "date-time",
      "title": "Last Seen At",
      "type": "string"
    },
    "member_kind": {
      "enum": [
        "owner",
        "browser",
        "ide_dashboard"
      ],
      "title": "Member Kind",
      "type": "string"
    },
    "member_name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Member Name",
      "type": "string"
    }
  },
  "required": [
    "id",
    "member_name",
    "member_kind",
    "created_at",
    "last_seen_at",
    "current"
  ],
  "title": "BrowserMemberResponse",
  "type": "object"
}
BrowserMemberRevocationRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_created_at": {
      "format": "date-time",
      "title": "Expected Created At",
      "type": "string"
    }
  },
  "required": [
    "expected_created_at"
  ],
  "title": "BrowserMemberRevocationRequest",
  "type": "object"
}
BrowserPairingTokenIssueResponse
{
  "properties": {
    "bootstrap_token": {
      "title": "Bootstrap Token",
      "type": "string"
    },
    "expires_at": {
      "format": "date-time",
      "title": "Expires At",
      "type": "string"
    },
    "expires_in": {
      "title": "Expires In",
      "type": "integer"
    },
    "issued_at": {
      "format": "date-time",
      "title": "Issued At",
      "type": "string"
    }
  },
  "required": [
    "bootstrap_token",
    "issued_at",
    "expires_at",
    "expires_in"
  ],
  "title": "BrowserPairingTokenIssueResponse",
  "type": "object"
}
CapabilityActivationResponse
{
  "properties": {
    "client_slot": {
      "title": "Client Slot",
      "type": "string"
    },
    "generation": {
      "title": "Generation",
      "type": "integer"
    },
    "scopes": {
      "items": {
        "type": "string"
      },
      "title": "Scopes",
      "type": "array"
    }
  },
  "required": [
    "client_slot",
    "generation",
    "scopes"
  ],
  "title": "CapabilityActivationResponse",
  "type": "object"
}
CapabilityRevocationRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_active_generation": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Expected Active Generation"
    },
    "expected_latest_generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Latest Generation",
      "type": "integer"
    },
    "expected_pending_generation": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Expected Pending Generation"
    }
  },
  "required": [
    "expected_latest_generation",
    "expected_active_generation",
    "expected_pending_generation"
  ],
  "title": "CapabilityRevocationRequest",
  "type": "object"
}
CommitTree
{
  "additionalProperties": false,
  "properties": {
    "commit_oid": {
      "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
      "title": "Commit Oid",
      "type": "string"
    },
    "tree_oid": {
      "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
      "title": "Tree Oid",
      "type": "string"
    }
  },
  "required": [
    "commit_oid",
    "tree_oid"
  ],
  "title": "CommitTree",
  "type": "object"
}
FindingBulkAction
{
  "additionalProperties": false,
  "properties": {
    "action": {
      "enum": [
        "triage",
        "delete",
        "open",
        "needs_review",
        "gate_exempt",
        "accepted_risk",
        "ignore",
        "false_positive",
        "fixed"
      ],
      "title": "Action",
      "type": "string"
    },
    "advisor_provider_pin": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/AdvisorTriageProviderPin"
        },
        {
          "type": "null"
        }
      ]
    },
    "expected_revisions": {
      "anyOf": [
        {
          "additionalProperties": {
            "type": "integer"
          },
          "maxProperties": 200,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "title": "Expected Revisions"
    },
    "finding_ids": {
      "items": {
        "type": "integer"
      },
      "maxItems": 200,
      "minItems": 1,
      "title": "Finding Ids",
      "type": "array"
    },
    "model": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model"
    },
    "reason": {
      "anyOf": [
        {
          "maxLength": 500,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason"
    }
  },
  "required": [
    "finding_ids",
    "action"
  ],
  "title": "FindingBulkAction",
  "type": "object"
}
FindingDetailOut
{
  "description": "Exact finding evidence bound to its authoritative collection revision.",
  "properties": {
    "ai_confidence": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Confidence"
    },
    "ai_fix": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Fix"
    },
    "ai_reasoning": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Reasoning"
    },
    "ai_verdict": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Verdict"
    },
    "code_snippet": {
      "anyOf": [
        {
          "maxLength": 20000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Code Snippet"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "display_id": {
      "title": "Display Id",
      "type": "string"
    },
    "end_column": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Column"
    },
    "end_line": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Line"
    },
    "file_path": {
      "maxLength": 4096,
      "title": "File Path",
      "type": "string"
    },
    "findings_revision": {
      "minimum": 1,
      "title": "Findings Revision",
      "type": "integer"
    },
    "fingerprint": {
      "title": "Fingerprint",
      "type": "string"
    },
    "first_seen_display_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "First Seen Display Id"
    },
    "first_seen_scan_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "First Seen Scan Id"
    },
    "gate_effect": {
      "enum": [
        "blocking",
        "non_blocking",
        "excluded"
      ],
      "title": "Gate Effect",
      "type": "string"
    },
    "gate_exempt": {
      "default": false,
      "title": "Gate Exempt",
      "type": "boolean"
    },
    "gate_exempt_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Gate Exempt Reason"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "is_repeat": {
      "default": false,
      "title": "Is Repeat",
      "type": "boolean"
    },
    "lifecycle_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Lifecycle Reason"
    },
    "lifecycle_status": {
      "default": "open",
      "title": "Lifecycle Status",
      "type": "string"
    },
    "lifecycle_updated_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Lifecycle Updated At"
    },
    "message": {
      "maxLength": 4000,
      "title": "Message",
      "type": "string"
    },
    "metadata_json": {
      "additionalProperties": true,
      "title": "Metadata Json",
      "type": "object"
    },
    "occurrence_count": {
      "default": 1,
      "title": "Occurrence Count",
      "type": "integer"
    },
    "revision": {
      "default": 1,
      "title": "Revision",
      "type": "integer"
    },
    "rule_id": {
      "title": "Rule Id",
      "type": "string"
    },
    "scan_finding_number": {
      "title": "Scan Finding Number",
      "type": "integer"
    },
    "scan_id": {
      "title": "Scan Id",
      "type": "integer"
    },
    "scanner": {
      "title": "Scanner",
      "type": "string"
    },
    "severity": {
      "title": "Severity",
      "type": "string"
    },
    "start_column": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Column"
    },
    "start_line": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Line"
    },
    "suppressed": {
      "title": "Suppressed",
      "type": "boolean"
    },
    "suppression_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Suppression Reason"
    }
  },
  "required": [
    "id",
    "scan_id",
    "scan_finding_number",
    "display_id",
    "scanner",
    "rule_id",
    "severity",
    "file_path",
    "start_line",
    "start_column",
    "end_line",
    "end_column",
    "message",
    "code_snippet",
    "fingerprint",
    "metadata_json",
    "ai_verdict",
    "ai_confidence",
    "ai_reasoning",
    "ai_fix",
    "suppressed",
    "suppression_reason",
    "gate_effect",
    "created_at",
    "findings_revision"
  ],
  "title": "FindingDetailOut",
  "type": "object"
}
FindingDiagnosticOut
{
  "additionalProperties": false,
  "properties": {
    "display_id": {
      "maxLength": 64,
      "minLength": 1,
      "title": "Display Id",
      "type": "string"
    },
    "end_column": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Column"
    },
    "end_line": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Line"
    },
    "file_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "File Path",
      "type": "string"
    },
    "id": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Id",
      "type": "integer"
    },
    "message": {
      "maxLength": 4000,
      "title": "Message",
      "type": "string"
    },
    "revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scan_finding_number": {
      "maximum": 50000,
      "minimum": 1,
      "title": "Scan Finding Number",
      "type": "integer"
    },
    "scanner": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Scanner",
      "type": "string"
    },
    "severity": {
      "enum": [
        "critical",
        "high",
        "medium",
        "low",
        "info"
      ],
      "title": "Severity",
      "type": "string"
    },
    "start_column": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Column"
    },
    "start_line": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Line"
    }
  },
  "required": [
    "id",
    "scan_finding_number",
    "display_id",
    "scanner",
    "severity",
    "file_path",
    "start_line",
    "start_column",
    "end_line",
    "end_column",
    "message",
    "revision"
  ],
  "title": "FindingDiagnosticOut",
  "type": "object"
}
FindingDiagnosticPageOut
{
  "additionalProperties": false,
  "properties": {
    "items": {
      "items": {
        "$ref": "#/components/schemas/FindingDiagnosticOut"
      },
      "maxItems": 200,
      "title": "Items",
      "type": "array"
    },
    "next_cursor": {
      "anyOf": [
        {
          "maxLength": 512,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Next Cursor"
    },
    "revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scan_id": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Scan Id",
      "type": "integer"
    },
    "total": {
      "maximum": 50000,
      "minimum": 0,
      "title": "Total",
      "type": "integer"
    },
    "truncated": {
      "title": "Truncated",
      "type": "boolean"
    }
  },
  "required": [
    "scan_id",
    "items",
    "total",
    "truncated",
    "next_cursor",
    "revision"
  ],
  "title": "FindingDiagnosticPageOut",
  "type": "object"
}
FindingFileAggregateOut
{
  "additionalProperties": false,
  "properties": {
    "active": {
      "minimum": 0,
      "title": "Active",
      "type": "integer"
    },
    "blocking": {
      "minimum": 0,
      "title": "Blocking",
      "type": "integer"
    },
    "file_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "File Path",
      "type": "string"
    },
    "first_scan_finding_number": {
      "maximum": 50000,
      "minimum": 1,
      "title": "First Scan Finding Number",
      "type": "integer"
    },
    "gate_exempt": {
      "minimum": 0,
      "title": "Gate Exempt",
      "type": "integer"
    },
    "lifecycle_counts": {
      "$ref": "#/components/schemas/FindingLifecycleCountsOut"
    },
    "severity_counts": {
      "$ref": "#/components/schemas/FindingSeverityCountsOut"
    },
    "suppressed": {
      "minimum": 0,
      "title": "Suppressed",
      "type": "integer"
    },
    "total": {
      "minimum": 1,
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "file_path",
    "first_scan_finding_number",
    "total",
    "active",
    "suppressed",
    "gate_exempt",
    "blocking",
    "severity_counts",
    "lifecycle_counts"
  ],
  "title": "FindingFileAggregateOut",
  "type": "object"
}
FindingFileManifestPageOut
{
  "additionalProperties": false,
  "properties": {
    "items": {
      "items": {
        "$ref": "#/components/schemas/FindingFileAggregateOut"
      },
      "maxItems": 200,
      "title": "Items",
      "type": "array"
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Next Cursor"
    },
    "scan": {
      "$ref": "#/components/schemas/FindingFileManifestScanOut"
    },
    "total_files": {
      "minimum": 0,
      "title": "Total Files",
      "type": "integer"
    },
    "total_findings": {
      "minimum": 0,
      "title": "Total Findings",
      "type": "integer"
    },
    "truncated": {
      "title": "Truncated",
      "type": "boolean"
    }
  },
  "required": [
    "scan",
    "total_findings",
    "total_files",
    "items",
    "truncated",
    "next_cursor"
  ],
  "title": "FindingFileManifestPageOut",
  "type": "object"
}
FindingFileManifestScanOut
{
  "additionalProperties": false,
  "properties": {
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error"
    },
    "findings_revision": {
      "minimum": 1,
      "title": "Findings Revision",
      "type": "integer"
    },
    "gate_decision": {
      "anyOf": [
        {
          "maxLength": 40,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Gate Decision"
    },
    "gate_reasons": {
      "items": {
        "type": "string"
      },
      "title": "Gate Reasons",
      "type": "array"
    },
    "id": {
      "minimum": 1,
      "title": "Id",
      "type": "integer"
    },
    "project_id": {
      "minimum": 1,
      "title": "Project Id",
      "type": "integer"
    },
    "revision": {
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "status": {
      "maxLength": 40,
      "minLength": 1,
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "id",
    "project_id",
    "status",
    "gate_reasons",
    "error",
    "revision",
    "findings_revision"
  ],
  "title": "FindingFileManifestScanOut",
  "type": "object"
}
FindingLifecycleCountsOut
{
  "additionalProperties": false,
  "properties": {
    "accepted_risk": {
      "minimum": 0,
      "title": "Accepted Risk",
      "type": "integer"
    },
    "false_positive": {
      "minimum": 0,
      "title": "False Positive",
      "type": "integer"
    },
    "fixed": {
      "minimum": 0,
      "title": "Fixed",
      "type": "integer"
    },
    "gate_exempt": {
      "minimum": 0,
      "title": "Gate Exempt",
      "type": "integer"
    },
    "ignore": {
      "minimum": 0,
      "title": "Ignore",
      "type": "integer"
    },
    "needs_review": {
      "minimum": 0,
      "title": "Needs Review",
      "type": "integer"
    },
    "open": {
      "minimum": 0,
      "title": "Open",
      "type": "integer"
    }
  },
  "required": [
    "open",
    "needs_review",
    "gate_exempt",
    "accepted_risk",
    "ignore",
    "false_positive",
    "fixed"
  ],
  "title": "FindingLifecycleCountsOut",
  "type": "object"
}
FindingLifecycleUpdate
{
  "properties": {
    "action": {
      "enum": [
        "open",
        "needs_review",
        "gate_exempt",
        "accepted_risk",
        "ignore",
        "false_positive",
        "fixed"
      ],
      "title": "Action",
      "type": "string"
    },
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "reason": {
      "anyOf": [
        {
          "maxLength": 500,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason"
    }
  },
  "required": [
    "action",
    "expected_revision"
  ],
  "title": "FindingLifecycleUpdate",
  "type": "object"
}
FindingListItemOut
{
  "properties": {
    "advisor_confidence": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Advisor Confidence"
    },
    "advisor_verdict": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Advisor Verdict"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "display_id": {
      "title": "Display Id",
      "type": "string"
    },
    "end_column": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Column"
    },
    "end_line": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Line"
    },
    "file_path": {
      "maxLength": 4096,
      "title": "File Path",
      "type": "string"
    },
    "fingerprint": {
      "title": "Fingerprint",
      "type": "string"
    },
    "first_seen_display_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "First Seen Display Id"
    },
    "first_seen_scan_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "First Seen Scan Id"
    },
    "gate_effect": {
      "enum": [
        "blocking",
        "non_blocking",
        "excluded"
      ],
      "title": "Gate Effect",
      "type": "string"
    },
    "gate_exempt": {
      "title": "Gate Exempt",
      "type": "boolean"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "is_repeat": {
      "title": "Is Repeat",
      "type": "boolean"
    },
    "lifecycle_status": {
      "title": "Lifecycle Status",
      "type": "string"
    },
    "message": {
      "maxLength": 4000,
      "title": "Message",
      "type": "string"
    },
    "occurrence_count": {
      "title": "Occurrence Count",
      "type": "integer"
    },
    "revision": {
      "title": "Revision",
      "type": "integer"
    },
    "rule_id": {
      "title": "Rule Id",
      "type": "string"
    },
    "scan_finding_number": {
      "title": "Scan Finding Number",
      "type": "integer"
    },
    "scan_id": {
      "title": "Scan Id",
      "type": "integer"
    },
    "scanner": {
      "title": "Scanner",
      "type": "string"
    },
    "severity": {
      "title": "Severity",
      "type": "string"
    },
    "start_column": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Column"
    },
    "start_line": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Line"
    },
    "suppressed": {
      "title": "Suppressed",
      "type": "boolean"
    }
  },
  "required": [
    "id",
    "scan_id",
    "scan_finding_number",
    "display_id",
    "scanner",
    "rule_id",
    "severity",
    "file_path",
    "start_line",
    "start_column",
    "end_line",
    "end_column",
    "message",
    "fingerprint",
    "suppressed",
    "lifecycle_status",
    "gate_exempt",
    "occurrence_count",
    "is_repeat",
    "gate_effect",
    "revision",
    "created_at"
  ],
  "title": "FindingListItemOut",
  "type": "object"
}
FindingOut
{
  "properties": {
    "ai_confidence": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Confidence"
    },
    "ai_fix": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Fix"
    },
    "ai_reasoning": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Reasoning"
    },
    "ai_verdict": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ai Verdict"
    },
    "code_snippet": {
      "anyOf": [
        {
          "maxLength": 20000,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Code Snippet"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "display_id": {
      "title": "Display Id",
      "type": "string"
    },
    "end_column": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Column"
    },
    "end_line": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "End Line"
    },
    "file_path": {
      "maxLength": 4096,
      "title": "File Path",
      "type": "string"
    },
    "fingerprint": {
      "title": "Fingerprint",
      "type": "string"
    },
    "first_seen_display_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "First Seen Display Id"
    },
    "first_seen_scan_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "First Seen Scan Id"
    },
    "gate_effect": {
      "enum": [
        "blocking",
        "non_blocking",
        "excluded"
      ],
      "title": "Gate Effect",
      "type": "string"
    },
    "gate_exempt": {
      "default": false,
      "title": "Gate Exempt",
      "type": "boolean"
    },
    "gate_exempt_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Gate Exempt Reason"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "is_repeat": {
      "default": false,
      "title": "Is Repeat",
      "type": "boolean"
    },
    "lifecycle_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Lifecycle Reason"
    },
    "lifecycle_status": {
      "default": "open",
      "title": "Lifecycle Status",
      "type": "string"
    },
    "lifecycle_updated_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Lifecycle Updated At"
    },
    "message": {
      "maxLength": 4000,
      "title": "Message",
      "type": "string"
    },
    "metadata_json": {
      "additionalProperties": true,
      "title": "Metadata Json",
      "type": "object"
    },
    "occurrence_count": {
      "default": 1,
      "title": "Occurrence Count",
      "type": "integer"
    },
    "revision": {
      "default": 1,
      "title": "Revision",
      "type": "integer"
    },
    "rule_id": {
      "title": "Rule Id",
      "type": "string"
    },
    "scan_finding_number": {
      "title": "Scan Finding Number",
      "type": "integer"
    },
    "scan_id": {
      "title": "Scan Id",
      "type": "integer"
    },
    "scanner": {
      "title": "Scanner",
      "type": "string"
    },
    "severity": {
      "title": "Severity",
      "type": "string"
    },
    "start_column": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Column"
    },
    "start_line": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Start Line"
    },
    "suppressed": {
      "title": "Suppressed",
      "type": "boolean"
    },
    "suppression_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Suppression Reason"
    }
  },
  "required": [
    "id",
    "scan_id",
    "scan_finding_number",
    "display_id",
    "scanner",
    "rule_id",
    "severity",
    "file_path",
    "start_line",
    "start_column",
    "end_line",
    "end_column",
    "message",
    "code_snippet",
    "fingerprint",
    "metadata_json",
    "ai_verdict",
    "ai_confidence",
    "ai_reasoning",
    "ai_fix",
    "suppressed",
    "suppression_reason",
    "gate_effect",
    "created_at"
  ],
  "title": "FindingOut",
  "type": "object"
}
FindingPageOut
{
  "properties": {
    "items": {
      "items": {
        "$ref": "#/components/schemas/FindingListItemOut"
      },
      "title": "Items",
      "type": "array"
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Next Cursor"
    },
    "revision": {
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "total": {
      "minimum": 0,
      "title": "Total",
      "type": "integer"
    },
    "truncated": {
      "title": "Truncated",
      "type": "boolean"
    }
  },
  "required": [
    "items",
    "total",
    "truncated",
    "next_cursor",
    "revision"
  ],
  "title": "FindingPageOut",
  "type": "object"
}
FindingSeverityCountsOut
{
  "additionalProperties": false,
  "properties": {
    "critical": {
      "minimum": 0,
      "title": "Critical",
      "type": "integer"
    },
    "high": {
      "minimum": 0,
      "title": "High",
      "type": "integer"
    },
    "info": {
      "minimum": 0,
      "title": "Info",
      "type": "integer"
    },
    "low": {
      "minimum": 0,
      "title": "Low",
      "type": "integer"
    },
    "medium": {
      "minimum": 0,
      "title": "Medium",
      "type": "integer"
    }
  },
  "required": [
    "critical",
    "high",
    "medium",
    "low",
    "info"
  ],
  "title": "FindingSeverityCountsOut",
  "type": "object"
}
GatePolicyUpdate
{
  "additionalProperties": false,
  "properties": {
    "active": {
      "default": true,
      "title": "Active",
      "type": "boolean"
    },
    "block_secrets": {
      "default": true,
      "title": "Block Secrets",
      "type": "boolean"
    },
    "expected_policy": {
      "$ref": "#/components/schemas/GatePolicyValues"
    },
    "max_critical": {
      "default": 0,
      "maximum": 999,
      "minimum": -1,
      "title": "Max Critical",
      "type": "integer"
    },
    "max_high": {
      "default": -1,
      "maximum": 999,
      "minimum": -1,
      "title": "Max High",
      "type": "integer"
    }
  },
  "required": [
    "expected_policy"
  ],
  "title": "GatePolicyUpdate",
  "type": "object"
}
GatePolicyValues
{
  "additionalProperties": false,
  "properties": {
    "active": {
      "default": true,
      "title": "Active",
      "type": "boolean"
    },
    "block_secrets": {
      "default": true,
      "title": "Block Secrets",
      "type": "boolean"
    },
    "max_critical": {
      "default": 0,
      "maximum": 999,
      "minimum": -1,
      "title": "Max Critical",
      "type": "integer"
    },
    "max_high": {
      "default": -1,
      "maximum": 999,
      "minimum": -1,
      "title": "Max High",
      "type": "integer"
    }
  },
  "title": "GatePolicyValues",
  "type": "object"
}
GitTreeFile
{
  "additionalProperties": false,
  "properties": {
    "content_base64": {
      "maxLength": 11184812,
      "minLength": 0,
      "title": "Content Base64",
      "type": "string"
    },
    "mode": {
      "enum": [
        "100644",
        "100755"
      ],
      "title": "Mode",
      "type": "string"
    },
    "oid": {
      "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
      "title": "Oid",
      "type": "string"
    },
    "path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Path",
      "type": "string"
    },
    "sha256": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Sha256",
      "type": "string"
    },
    "size_bytes": {
      "maximum": 8388608,
      "minimum": 0,
      "title": "Size Bytes",
      "type": "integer"
    }
  },
  "required": [
    "path",
    "content_base64",
    "sha256",
    "size_bytes",
    "mode",
    "oid"
  ],
  "title": "GitTreeFile",
  "type": "object"
}
GitTreeUpload
{
  "additionalProperties": false,
  "properties": {
    "files": {
      "items": {
        "$ref": "#/components/schemas/GitTreeFile"
      },
      "maxItems": 5000,
      "title": "Files",
      "type": "array"
    },
    "object_format": {
      "enum": [
        "sha1",
        "sha256"
      ],
      "title": "Object Format",
      "type": "string"
    },
    "tree_oid": {
      "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
      "title": "Tree Oid",
      "type": "string"
    }
  },
  "required": [
    "object_format",
    "tree_oid",
    "files"
  ],
  "title": "GitTreeUpload",
  "type": "object"
}
HTTPValidationError
{
  "properties": {
    "detail": {
      "items": {
        "$ref": "#/components/schemas/ValidationError"
      },
      "title": "Detail",
      "type": "array"
    }
  },
  "title": "HTTPValidationError",
  "type": "object"
}
IdeBrowserInvitationActiveResponse
{
  "additionalProperties": false,
  "properties": {
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "invitation_id": {
      "pattern": "^[A-Za-z0-9_-]{24}$",
      "title": "Invitation Id",
      "type": "string"
    },
    "member_id": {
      "pattern": "^kbm1_[A-Za-z0-9_-]{32}$",
      "title": "Member Id",
      "type": "string"
    },
    "purpose": {
      "enum": [
        "integrated_dashboard",
        "extra_browser"
      ],
      "title": "Purpose",
      "type": "string"
    },
    "status": {
      "const": "active",
      "default": "active",
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "invitation_id",
    "purpose",
    "member_id",
    "created_at"
  ],
  "title": "IdeBrowserInvitationActiveResponse",
  "type": "object"
}
IdeBrowserInvitationMissingResponse
{
  "additionalProperties": false,
  "properties": {
    "invitation_id": {
      "pattern": "^[A-Za-z0-9_-]{24}$",
      "title": "Invitation Id",
      "type": "string"
    },
    "status": {
      "const": "missing_or_revoked",
      "default": "missing_or_revoked",
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "invitation_id"
  ],
  "title": "IdeBrowserInvitationMissingResponse",
  "type": "object"
}
IdeBrowserInvitationPendingResponse
{
  "additionalProperties": false,
  "properties": {
    "expires_at": {
      "format": "date-time",
      "title": "Expires At",
      "type": "string"
    },
    "invitation_id": {
      "pattern": "^[A-Za-z0-9_-]{24}$",
      "title": "Invitation Id",
      "type": "string"
    },
    "purpose": {
      "enum": [
        "integrated_dashboard",
        "extra_browser"
      ],
      "title": "Purpose",
      "type": "string"
    },
    "status": {
      "const": "pending",
      "default": "pending",
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "invitation_id",
    "purpose",
    "expires_at"
  ],
  "title": "IdeBrowserInvitationPendingResponse",
  "type": "object"
}
IdeBrowserInvitationRequest
{
  "additionalProperties": false,
  "properties": {
    "purpose": {
      "enum": [
        "integrated_dashboard",
        "extra_browser"
      ],
      "title": "Purpose",
      "type": "string"
    }
  },
  "required": [
    "purpose"
  ],
  "title": "IdeBrowserInvitationRequest",
  "type": "object"
}
IdeBrowserInvitationResponse
{
  "additionalProperties": false,
  "properties": {
    "bootstrap_token": {
      "pattern": "^kbi1\\.[A-Za-z0-9_-]{24}\\.[A-Za-z0-9_-]{43}$",
      "title": "Bootstrap Token",
      "type": "string"
    },
    "expires_at": {
      "format": "date-time",
      "title": "Expires At",
      "type": "string"
    },
    "expires_in": {
      "const": 600,
      "default": 600,
      "title": "Expires In",
      "type": "integer"
    },
    "invitation_id": {
      "pattern": "^[A-Za-z0-9_-]{24}$",
      "title": "Invitation Id",
      "type": "string"
    },
    "issued_at": {
      "format": "date-time",
      "title": "Issued At",
      "type": "string"
    },
    "purpose": {
      "enum": [
        "integrated_dashboard",
        "extra_browser"
      ],
      "title": "Purpose",
      "type": "string"
    }
  },
  "required": [
    "bootstrap_token",
    "invitation_id",
    "purpose",
    "issued_at",
    "expires_at"
  ],
  "title": "IdeBrowserInvitationResponse",
  "type": "object"
}
IdeCapabilityResponse
{
  "additionalProperties": false,
  "properties": {
    "active": {
      "title": "Active",
      "type": "boolean"
    },
    "active_generation": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Active Generation"
    },
    "client_name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Client Name",
      "type": "string"
    },
    "connected": {
      "title": "Connected",
      "type": "boolean"
    },
    "created_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Created At"
    },
    "id": {
      "pattern": "^ks1_[A-Za-z0-9_-]{43}$",
      "title": "Id",
      "type": "string"
    },
    "invalid_recovery_token": {
      "title": "Invalid Recovery Token",
      "type": "null"
    },
    "latest_generation": {
      "maximum": 2147483647,
      "minimum": 0,
      "title": "Latest Generation",
      "type": "integer"
    },
    "pending_activation": {
      "title": "Pending Activation",
      "type": "boolean"
    },
    "pending_activation_expires_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pending Activation Expires At"
    },
    "pending_client_name": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pending Client Name"
    },
    "pending_generation": {
      "anyOf": [
        {
          "maximum": 2147483647,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pending Generation"
    },
    "revoked": {
      "title": "Revoked",
      "type": "boolean"
    },
    "scopes": {
      "items": {
        "type": "string"
      },
      "title": "Scopes",
      "type": "array"
    },
    "source_open_available": {
      "title": "Source Open Available",
      "type": "boolean"
    },
    "source_open_disabled_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Source Open Disabled Reason"
    },
    "state": {
      "const": "valid",
      "default": "valid",
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "id",
    "client_name",
    "scopes",
    "created_at",
    "revoked",
    "active",
    "connected",
    "active_generation",
    "latest_generation",
    "pending_activation",
    "pending_generation",
    "pending_activation_expires_at",
    "source_open_available",
    "source_open_disabled_reason"
  ],
  "title": "IdeCapabilityResponse",
  "type": "object"
}
IdeEnrollmentBrowserResponse
{
  "additionalProperties": false,
  "properties": {
    "activation_expires_at": {
      "format": "date-time",
      "title": "Activation Expires At",
      "type": "string"
    },
    "client_name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Client Name",
      "type": "string"
    },
    "client_slot": {
      "pattern": "^ks1_[A-Za-z0-9_-]{43}$",
      "title": "Client Slot",
      "type": "string"
    },
    "generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Generation",
      "type": "integer"
    },
    "request_id": {
      "pattern": "^ker1_[A-Za-z0-9_-]{24}$",
      "title": "Request Id",
      "type": "string"
    },
    "requested_at": {
      "format": "date-time",
      "title": "Requested At",
      "type": "string"
    },
    "revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scopes": {
      "items": {
        "type": "string"
      },
      "title": "Scopes",
      "type": "array"
    },
    "state": {
      "const": "awaiting_approval",
      "default": "awaiting_approval",
      "title": "State",
      "type": "string"
    },
    "verification_code": {
      "pattern": "^[A-HJ-NP-Z2-9]{4}-[A-HJ-NP-Z2-9]{4}$",
      "title": "Verification Code",
      "type": "string"
    }
  },
  "required": [
    "request_id",
    "revision",
    "verification_code",
    "scopes",
    "client_slot",
    "client_name",
    "generation",
    "requested_at",
    "activation_expires_at"
  ],
  "title": "IdeEnrollmentBrowserResponse",
  "type": "object"
}
IdeEnrollmentDecisionRequest
{
  "additionalProperties": false,
  "properties": {
    "decision": {
      "enum": [
        "approved",
        "rejected"
      ],
      "title": "Decision",
      "type": "string"
    },
    "expected_generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Generation",
      "type": "integer"
    },
    "expected_revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "decision",
    "expected_revision",
    "expected_generation"
  ],
  "title": "IdeEnrollmentDecisionRequest",
  "type": "object"
}
IdeEnrollmentRequest
{
  "additionalProperties": false,
  "properties": {
    "client_name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Client Name",
      "type": "string"
    },
    "client_slot": {
      "pattern": "^ks1_[A-Za-z0-9_-]{43}$",
      "title": "Client Slot",
      "type": "string"
    },
    "expected_active_generation": {
      "maximum": 2147483647,
      "minimum": 0,
      "title": "Expected Active Generation",
      "type": "integer"
    }
  },
  "required": [
    "client_name",
    "client_slot",
    "expected_active_generation"
  ],
  "title": "IdeEnrollmentRequest",
  "type": "object"
}
IdeEnrollmentResponse
{
  "additionalProperties": false,
  "properties": {
    "activation_expires_at": {
      "format": "date-time",
      "title": "Activation Expires At",
      "type": "string"
    },
    "capability": {
      "title": "Capability",
      "type": "string"
    },
    "client_slot": {
      "title": "Client Slot",
      "type": "string"
    },
    "generation": {
      "title": "Generation",
      "type": "integer"
    },
    "request_id": {
      "pattern": "^ker1_[A-Za-z0-9_-]{24}$",
      "title": "Request Id",
      "type": "string"
    },
    "requested_at": {
      "format": "date-time",
      "title": "Requested At",
      "type": "string"
    },
    "revision": {
      "const": 1,
      "default": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scopes": {
      "items": {
        "type": "string"
      },
      "title": "Scopes",
      "type": "array"
    },
    "state": {
      "const": "awaiting_approval",
      "default": "awaiting_approval",
      "title": "State",
      "type": "string"
    },
    "verification_code": {
      "pattern": "^[A-HJ-NP-Z2-9]{4}-[A-HJ-NP-Z2-9]{4}$",
      "title": "Verification Code",
      "type": "string"
    }
  },
  "required": [
    "request_id",
    "verification_code",
    "capability",
    "scopes",
    "client_slot",
    "generation",
    "requested_at",
    "activation_expires_at"
  ],
  "title": "IdeEnrollmentResponse",
  "type": "object"
}
IdeEnrollmentStatusResponse
{
  "additionalProperties": false,
  "properties": {
    "activation_expires_at": {
      "format": "date-time",
      "title": "Activation Expires At",
      "type": "string"
    },
    "decision_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Decision At"
    },
    "request_id": {
      "pattern": "^ker1_[A-Za-z0-9_-]{24}$",
      "title": "Request Id",
      "type": "string"
    },
    "revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "state": {
      "enum": [
        "awaiting_approval",
        "approved",
        "rejected",
        "expired"
      ],
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "request_id",
    "state",
    "revision",
    "decision_at",
    "activation_expires_at"
  ],
  "title": "IdeEnrollmentStatusResponse",
  "type": "object"
}
IdeFirstOwnerClaimRequest
{
  "additionalProperties": false,
  "properties": {
    "bootstrap_token": {
      "maxLength": 256,
      "minLength": 1,
      "title": "Bootstrap Token",
      "type": "string"
    },
    "expected_generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Generation",
      "type": "integer"
    },
    "expected_request_id": {
      "pattern": "^ker1_[A-Za-z0-9_-]{24}$",
      "title": "Expected Request Id",
      "type": "string"
    },
    "expected_revision": {
      "const": 1,
      "default": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "bootstrap_token",
    "expected_request_id",
    "expected_generation"
  ],
  "title": "IdeFirstOwnerClaimRequest",
  "type": "object"
}
InvalidCapabilityRecoveryRequest
{
  "additionalProperties": false,
  "properties": {
    "recovery_token": {
      "pattern": "^kir1_[0-9a-f]{64}$",
      "title": "Recovery Token",
      "type": "string"
    }
  },
  "required": [
    "recovery_token"
  ],
  "title": "InvalidCapabilityRecoveryRequest",
  "type": "object"
}
InvalidCapabilityRecoveryResponse
{
  "properties": {
    "recovered": {
      "const": true,
      "default": true,
      "title": "Recovered",
      "type": "boolean"
    }
  },
  "title": "InvalidCapabilityRecoveryResponse",
  "type": "object"
}
InvalidIdeCapabilityResponse
{
  "additionalProperties": false,
  "description": "Redacted invalid slot state with only its stable ID and exact CAS token.",
  "properties": {
    "active": {
      "const": false,
      "default": false,
      "title": "Active",
      "type": "boolean"
    },
    "active_generation": {
      "title": "Active Generation",
      "type": "null"
    },
    "client_name": {
      "const": "Invalid IDE client record",
      "default": "Invalid IDE client record",
      "title": "Client Name",
      "type": "string"
    },
    "connected": {
      "const": false,
      "default": false,
      "title": "Connected",
      "type": "boolean"
    },
    "created_at": {
      "title": "Created At",
      "type": "null"
    },
    "id": {
      "pattern": "^ks1_[A-Za-z0-9_-]{43}$",
      "title": "Id",
      "type": "string"
    },
    "invalid_recovery_token": {
      "pattern": "^kir1_[0-9a-f]{64}$",
      "title": "Invalid Recovery Token",
      "type": "string"
    },
    "latest_generation": {
      "title": "Latest Generation",
      "type": "null"
    },
    "pending_activation": {
      "const": false,
      "default": false,
      "title": "Pending Activation",
      "type": "boolean"
    },
    "pending_activation_expires_at": {
      "title": "Pending Activation Expires At",
      "type": "null"
    },
    "pending_client_name": {
      "title": "Pending Client Name",
      "type": "null"
    },
    "pending_generation": {
      "title": "Pending Generation",
      "type": "null"
    },
    "revoked": {
      "const": false,
      "default": false,
      "title": "Revoked",
      "type": "boolean"
    },
    "scopes": {
      "items": {
        "type": "string"
      },
      "maxItems": 0,
      "title": "Scopes",
      "type": "array"
    },
    "source_open_available": {
      "const": false,
      "default": false,
      "title": "Source Open Available",
      "type": "boolean"
    },
    "source_open_disabled_reason": {
      "const": "This IDE client record is invalid or not active.",
      "default": "This IDE client record is invalid or not active.",
      "title": "Source Open Disabled Reason",
      "type": "string"
    },
    "state": {
      "const": "invalid",
      "default": "invalid",
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "id",
    "invalid_recovery_token"
  ],
  "title": "InvalidIdeCapabilityResponse",
  "type": "object"
}
JobActivityOut
{
  "properties": {
    "bytes_completed": {
      "anyOf": [
        {
          "maximum": 4294967296,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Bytes Completed"
    },
    "bytes_total": {
      "anyOf": [
        {
          "maximum": 4294967296,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Bytes Total"
    },
    "component_id": {
      "anyOf": [
        {
          "maxLength": 80,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Component Id"
    },
    "component_index": {
      "anyOf": [
        {
          "maximum": 32,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Component Index"
    },
    "component_total": {
      "anyOf": [
        {
          "maximum": 32,
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Component Total"
    },
    "updated_at": {
      "format": "date-time",
      "title": "Updated At",
      "type": "string"
    }
  },
  "required": [
    "updated_at"
  ],
  "title": "JobActivityOut",
  "type": "object"
}
JobOut
{
  "properties": {
    "activity": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/JobActivityOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "attempt": {
      "default": 0,
      "title": "Attempt",
      "type": "integer"
    },
    "can_cancel": {
      "default": false,
      "title": "Can Cancel",
      "type": "boolean"
    },
    "can_reconcile_cache": {
      "default": false,
      "title": "Can Reconcile Cache",
      "type": "boolean"
    },
    "can_retry": {
      "default": false,
      "title": "Can Retry",
      "type": "boolean"
    },
    "cancel_requested_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cancel Requested At"
    },
    "completed_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Completed At"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "detail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Detail"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error Code"
    },
    "error_detail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error Detail"
    },
    "finding_display_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Finding Display Id"
    },
    "finding_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Finding Id"
    },
    "finding_rule_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Finding Rule Id"
    },
    "finding_scan_number": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Finding Scan Number"
    },
    "heartbeat_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Heartbeat At"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "kind": {
      "title": "Kind",
      "type": "string"
    },
    "max_attempts": {
      "default": 1,
      "title": "Max Attempts",
      "type": "integer"
    },
    "original_job_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Original Job Id"
    },
    "progress": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Progress"
    },
    "retry_blocked_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Retry Blocked Reason"
    },
    "revision": {
      "default": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scan_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Scan Id"
    },
    "stage": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Stage"
    },
    "started_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Started At"
    },
    "status": {
      "title": "Status",
      "type": "string"
    },
    "title": {
      "title": "Title",
      "type": "string"
    },
    "updated_at": {
      "format": "date-time",
      "title": "Updated At",
      "type": "string"
    }
  },
  "required": [
    "id",
    "kind",
    "title",
    "status",
    "stage",
    "detail",
    "progress",
    "scan_id",
    "finding_id",
    "error",
    "created_at",
    "started_at",
    "completed_at",
    "updated_at"
  ],
  "title": "JobOut",
  "type": "object"
}
JobReconcileRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "expected_revision"
  ],
  "title": "JobReconcileRequest",
  "type": "object"
}
JobRetryRequest
{
  "properties": {
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "expected_revision"
  ],
  "title": "JobRetryRequest",
  "type": "object"
}
PendingCancellationRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_pending_generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Pending Generation",
      "type": "integer"
    }
  },
  "required": [
    "expected_pending_generation"
  ],
  "title": "PendingCancellationRequest",
  "type": "object"
}
ProjectCreate
{
  "properties": {
    "default_branch": {
      "default": "main",
      "title": "Default Branch",
      "type": "string"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "remote_url": {
      "anyOf": [
        {
          "maxLength": 4096,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Remote Url"
    },
    "repo_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Repo Path",
      "type": "string"
    }
  },
  "required": [
    "name",
    "repo_path"
  ],
  "title": "ProjectCreate",
  "type": "object"
}
ProjectOut
{
  "properties": {
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "default_branch": {
      "title": "Default Branch",
      "type": "string"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "name": {
      "title": "Name",
      "type": "string"
    },
    "remote_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Remote Url"
    },
    "repo_path": {
      "title": "Repo Path",
      "type": "string"
    },
    "revision": {
      "default": 1,
      "title": "Revision",
      "type": "integer"
    }
  },
  "required": [
    "id",
    "name",
    "repo_path",
    "remote_url",
    "default_branch",
    "created_at"
  ],
  "title": "ProjectOut",
  "type": "object"
}
ProjectResolve
{
  "properties": {
    "repo_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Repo Path",
      "type": "string"
    }
  },
  "required": [
    "repo_path"
  ],
  "title": "ProjectResolve",
  "type": "object"
}
PushHookObservation
{
  "additionalProperties": false,
  "properties": {
    "expected_revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "hook_digest": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Hook Digest"
    },
    "state": {
      "enum": [
        "installed",
        "needs_repair"
      ],
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "expected_revision",
    "state"
  ],
  "title": "PushHookObservation",
  "type": "object"
}
PushMember
{
  "additionalProperties": false,
  "properties": {
    "approved_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Approved At"
    },
    "client_slot": {
      "pattern": "^ks1_[A-Za-z0-9_-]{43}$",
      "title": "Client Slot",
      "type": "string"
    },
    "generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Generation",
      "type": "integer"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "requested_at": {
      "title": "Requested At",
      "type": "string"
    },
    "state": {
      "enum": [
        "requested",
        "approved",
        "revoked"
      ],
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "client_slot",
    "generation",
    "name",
    "state",
    "requested_at"
  ],
  "title": "PushMember",
  "type": "object"
}
PushMemberApproval
{
  "additionalProperties": false,
  "properties": {
    "approve": {
      "title": "Approve",
      "type": "boolean"
    },
    "expected_revision": {
      "maximum": 2147483646,
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "expected_revision",
    "approve"
  ],
  "title": "PushMemberApproval",
  "type": "object"
}
PushPlan
{
  "additionalProperties": false,
  "properties": {
    "advertised_bases": {
      "items": {
        "type": "string"
      },
      "maxItems": 1024,
      "title": "Advertised Bases",
      "type": "array"
    },
    "commits": {
      "items": {
        "$ref": "#/components/schemas/CommitTree"
      },
      "maxItems": 256,
      "title": "Commits",
      "type": "array"
    },
    "destination_digest": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Destination Digest"
    },
    "digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Digest",
      "type": "string"
    },
    "object_format": {
      "enum": [
        "sha1",
        "sha256"
      ],
      "title": "Object Format",
      "type": "string"
    },
    "refs": {
      "items": {
        "$ref": "#/components/schemas/PushRef"
      },
      "maxItems": 64,
      "title": "Refs",
      "type": "array"
    },
    "repository_id": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Repository Id",
      "type": "string"
    },
    "schema": {
      "const": "lomo-git-push-plan/v1",
      "title": "Schema",
      "type": "string"
    },
    "trees": {
      "items": {
        "type": "string"
      },
      "maxItems": 256,
      "title": "Trees",
      "type": "array"
    }
  },
  "required": [
    "schema",
    "repository_id",
    "object_format",
    "destination_digest",
    "advertised_bases",
    "refs",
    "commits",
    "trees",
    "digest"
  ],
  "title": "PushPlan",
  "type": "object"
}
PushPolicy
{
  "additionalProperties": false,
  "properties": {
    "enabled": {
      "default": false,
      "title": "Enabled",
      "type": "boolean"
    },
    "git_directory": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Git Directory",
      "type": "string"
    },
    "hook_digest": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Hook Digest"
    },
    "members": {
      "items": {
        "$ref": "#/components/schemas/PushMember"
      },
      "maxItems": 32,
      "title": "Members",
      "type": "array"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "observed_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Observed At"
    },
    "observed_revision": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Observed Revision"
    },
    "observed_state": {
      "default": "not_installed",
      "enum": [
        "not_installed",
        "installed",
        "needs_repair"
      ],
      "title": "Observed State",
      "type": "string"
    },
    "project_id": {
      "minimum": 1,
      "title": "Project Id",
      "type": "integer"
    },
    "reason_code": {
      "anyOf": [
        {
          "enum": [
            "host_setup_required",
            "hook_missing_or_changed",
            "policy_changed"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": "host_setup_required",
      "title": "Reason Code"
    },
    "repository_id": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Repository Id",
      "type": "string"
    },
    "revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "root_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Root Path",
      "type": "string"
    }
  },
  "required": [
    "repository_id",
    "name",
    "project_id",
    "root_path",
    "git_directory",
    "revision"
  ],
  "title": "PushPolicy",
  "type": "object"
}
PushPolicyCreate
{
  "additionalProperties": false,
  "properties": {
    "git_directory": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Git Directory",
      "type": "string"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "project_id": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Project Id"
    },
    "repository_id": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Repository Id",
      "type": "string"
    },
    "root_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Root Path",
      "type": "string"
    }
  },
  "required": [
    "repository_id",
    "name",
    "root_path",
    "git_directory"
  ],
  "title": "PushPolicyCreate",
  "type": "object"
}
PushPolicyRemoval
{
  "additionalProperties": false,
  "properties": {
    "confirm_removal": {
      "title": "Confirm Removal",
      "type": "boolean"
    },
    "expected_revision": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "hook_digest": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Hook Digest"
    }
  },
  "required": [
    "expected_revision",
    "confirm_removal",
    "hook_digest"
  ],
  "title": "PushPolicyRemoval",
  "type": "object"
}
PushPolicyUpdate
{
  "additionalProperties": false,
  "properties": {
    "confirm_bypass": {
      "default": false,
      "title": "Confirm Bypass",
      "type": "boolean"
    },
    "enabled": {
      "title": "Enabled",
      "type": "boolean"
    },
    "expected_revision": {
      "maximum": 2147483646,
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    }
  },
  "required": [
    "expected_revision",
    "enabled"
  ],
  "title": "PushPolicyUpdate",
  "type": "object"
}
PushRef
{
  "additionalProperties": false,
  "properties": {
    "local_oid": {
      "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
      "title": "Local Oid",
      "type": "string"
    },
    "local_ref": {
      "maxLength": 1024,
      "minLength": 1,
      "title": "Local Ref",
      "type": "string"
    },
    "remote_oid": {
      "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$",
      "title": "Remote Oid",
      "type": "string"
    },
    "remote_ref": {
      "maxLength": 1024,
      "minLength": 6,
      "title": "Remote Ref",
      "type": "string"
    }
  },
  "required": [
    "local_ref",
    "local_oid",
    "remote_ref",
    "remote_oid"
  ],
  "title": "PushRef",
  "type": "object"
}
RuntimeAdvisorConfigUpdate
{
  "additionalProperties": false,
  "properties": {
    "ai_mode": {
      "enum": [
        "auto",
        "on",
        "off"
      ],
      "title": "Ai Mode",
      "type": "string"
    },
    "auto_triage_limit": {
      "maximum": 50,
      "minimum": 0,
      "title": "Auto Triage Limit",
      "type": "integer"
    },
    "ollama_base_url": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Ollama Base Url",
      "type": "string"
    },
    "ollama_model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Ollama Model",
      "type": "string"
    },
    "ollama_thinking": {
      "title": "Ollama Thinking",
      "type": "boolean"
    }
  },
  "required": [
    "ai_mode",
    "ollama_base_url",
    "ollama_model",
    "ollama_thinking",
    "auto_triage_limit"
  ],
  "title": "RuntimeAdvisorConfigUpdate",
  "type": "object"
}
RuntimeComponentOut
{
  "properties": {
    "apply_command": {
      "maxLength": 160,
      "minLength": 1,
      "title": "Apply Command",
      "type": "string"
    },
    "desired_enabled": {
      "title": "Desired Enabled",
      "type": "boolean"
    },
    "desired_state": {
      "enum": [
        "enabled",
        "disabled"
      ],
      "title": "Desired State",
      "type": "string"
    },
    "healthy": {
      "title": "Healthy",
      "type": "boolean"
    },
    "id": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Id",
      "type": "string"
    },
    "message": {
      "maxLength": 240,
      "minLength": 1,
      "title": "Message",
      "type": "string"
    },
    "observed_state": {
      "enum": [
        "running",
        "running_undesired",
        "not_running",
        "not_observed",
        "disabled",
        "unhealthy",
        "unknown"
      ],
      "title": "Observed State",
      "type": "string"
    },
    "profile": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Profile",
      "type": "string"
    },
    "reachable": {
      "title": "Reachable",
      "type": "boolean"
    },
    "reason_code": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Reason Code",
      "type": "string"
    },
    "required": {
      "title": "Required",
      "type": "boolean"
    },
    "url": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Url",
      "type": "string"
    }
  },
  "required": [
    "id",
    "required",
    "desired_enabled",
    "desired_state",
    "observed_state",
    "reachable",
    "healthy",
    "url",
    "profile",
    "apply_command",
    "reason_code",
    "message"
  ],
  "title": "RuntimeComponentOut",
  "type": "object"
}
RuntimeComponentsConfigUpdate
{
  "additionalProperties": false,
  "properties": {
    "component_db_admin_enabled": {
      "title": "Component Db Admin Enabled",
      "type": "boolean"
    },
    "component_git_proxy_enabled": {
      "title": "Component Git Proxy Enabled",
      "type": "boolean"
    },
    "component_monitoring_enabled": {
      "title": "Component Monitoring Enabled",
      "type": "boolean"
    }
  },
  "required": [
    "component_monitoring_enabled",
    "component_git_proxy_enabled",
    "component_db_admin_enabled"
  ],
  "title": "RuntimeComponentsConfigUpdate",
  "type": "object"
}
RuntimeConfigOut
{
  "properties": {
    "ai_mode": {
      "enum": [
        "auto",
        "on",
        "off"
      ],
      "title": "Ai Mode",
      "type": "string"
    },
    "allowed_roots": {
      "items": {
        "type": "string"
      },
      "title": "Allowed Roots",
      "type": "array"
    },
    "auto_triage_limit": {
      "title": "Auto Triage Limit",
      "type": "integer"
    },
    "component_apply_command": {
      "title": "Component Apply Command",
      "type": "string"
    },
    "component_db_admin_enabled": {
      "title": "Component Db Admin Enabled",
      "type": "boolean"
    },
    "component_git_proxy_enabled": {
      "title": "Component Git Proxy Enabled",
      "type": "boolean"
    },
    "component_monitoring_enabled": {
      "title": "Component Monitoring Enabled",
      "type": "boolean"
    },
    "components": {
      "items": {
        "$ref": "#/components/schemas/RuntimeComponentOut"
      },
      "title": "Components",
      "type": "array"
    },
    "gate_active": {
      "title": "Gate Active",
      "type": "boolean"
    },
    "gate_block_secrets": {
      "title": "Gate Block Secrets",
      "type": "boolean"
    },
    "gate_max_critical": {
      "title": "Gate Max Critical",
      "type": "integer"
    },
    "gate_max_high": {
      "title": "Gate Max High",
      "type": "integer"
    },
    "gate_preset": {
      "enum": [
        "observe",
        "baseline",
        "strict",
        "custom"
      ],
      "title": "Gate Preset",
      "type": "string"
    },
    "installation_id": {
      "pattern": "^[a-f0-9]{12}$",
      "title": "Installation Id",
      "type": "string"
    },
    "ollama_available": {
      "title": "Ollama Available",
      "type": "boolean"
    },
    "ollama_base_url": {
      "title": "Ollama Base Url",
      "type": "string"
    },
    "ollama_model": {
      "title": "Ollama Model",
      "type": "string"
    },
    "ollama_models": {
      "items": {
        "type": "string"
      },
      "title": "Ollama Models",
      "type": "array"
    },
    "ollama_reason": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Ollama Reason"
    },
    "ollama_thinking": {
      "title": "Ollama Thinking",
      "type": "boolean"
    },
    "scanner_url": {
      "title": "Scanner Url",
      "type": "string"
    },
    "schema_init": {
      "$ref": "#/components/schemas/SchemaInitStatusOut"
    }
  },
  "required": [
    "installation_id",
    "allowed_roots",
    "scanner_url",
    "ai_mode",
    "ollama_base_url",
    "ollama_available",
    "ollama_model",
    "ollama_thinking",
    "ollama_models",
    "ollama_reason",
    "auto_triage_limit",
    "component_monitoring_enabled",
    "component_git_proxy_enabled",
    "component_db_admin_enabled",
    "gate_preset",
    "gate_active",
    "gate_max_critical",
    "gate_max_high",
    "gate_block_secrets",
    "component_apply_command",
    "components",
    "schema_init"
  ],
  "title": "RuntimeConfigOut",
  "type": "object"
}
RuntimeConfigUpdate
{
  "properties": {
    "ai_mode": {
      "default": "auto",
      "enum": [
        "auto",
        "on",
        "off"
      ],
      "title": "Ai Mode",
      "type": "string"
    },
    "auto_triage_limit": {
      "default": 5,
      "maximum": 50,
      "minimum": 0,
      "title": "Auto Triage Limit",
      "type": "integer"
    },
    "component_db_admin_enabled": {
      "default": false,
      "title": "Component Db Admin Enabled",
      "type": "boolean"
    },
    "component_git_proxy_enabled": {
      "default": false,
      "title": "Component Git Proxy Enabled",
      "type": "boolean"
    },
    "component_monitoring_enabled": {
      "default": false,
      "title": "Component Monitoring Enabled",
      "type": "boolean"
    },
    "gate_active": {
      "default": true,
      "title": "Gate Active",
      "type": "boolean"
    },
    "gate_apply_to_existing": {
      "default": false,
      "title": "Gate Apply To Existing",
      "type": "boolean"
    },
    "gate_block_secrets": {
      "default": true,
      "title": "Gate Block Secrets",
      "type": "boolean"
    },
    "gate_max_critical": {
      "default": 0,
      "maximum": 999,
      "minimum": -1,
      "title": "Gate Max Critical",
      "type": "integer"
    },
    "gate_max_high": {
      "default": -1,
      "maximum": 999,
      "minimum": -1,
      "title": "Gate Max High",
      "type": "integer"
    },
    "gate_preset": {
      "default": "baseline",
      "enum": [
        "observe",
        "baseline",
        "strict",
        "custom"
      ],
      "title": "Gate Preset",
      "type": "string"
    },
    "ollama_base_url": {
      "maxLength": 500,
      "minLength": 1,
      "title": "Ollama Base Url",
      "type": "string"
    },
    "ollama_model": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Ollama Model",
      "type": "string"
    },
    "ollama_thinking": {
      "default": false,
      "title": "Ollama Thinking",
      "type": "boolean"
    }
  },
  "required": [
    "ollama_base_url",
    "ollama_model"
  ],
  "title": "RuntimeConfigUpdate",
  "type": "object"
}
RuntimeGateConfigUpdate
{
  "additionalProperties": false,
  "properties": {
    "gate_active": {
      "title": "Gate Active",
      "type": "boolean"
    },
    "gate_apply_to_existing": {
      "title": "Gate Apply To Existing",
      "type": "boolean"
    },
    "gate_block_secrets": {
      "title": "Gate Block Secrets",
      "type": "boolean"
    },
    "gate_max_critical": {
      "maximum": 999,
      "minimum": -1,
      "title": "Gate Max Critical",
      "type": "integer"
    },
    "gate_max_high": {
      "maximum": 999,
      "minimum": -1,
      "title": "Gate Max High",
      "type": "integer"
    },
    "gate_preset": {
      "enum": [
        "observe",
        "baseline",
        "strict",
        "custom"
      ],
      "title": "Gate Preset",
      "type": "string"
    }
  },
  "required": [
    "gate_preset",
    "gate_active",
    "gate_max_critical",
    "gate_max_high",
    "gate_block_secrets",
    "gate_apply_to_existing"
  ],
  "title": "RuntimeGateConfigUpdate",
  "type": "object"
}
ScanArtifactOut
{
  "properties": {
    "artifact_type": {
      "title": "Artifact Type",
      "type": "string"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "format": {
      "title": "Format",
      "type": "string"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "path": {
      "title": "Path",
      "type": "string"
    },
    "scan_id": {
      "title": "Scan Id",
      "type": "integer"
    },
    "scanner": {
      "title": "Scanner",
      "type": "string"
    },
    "sha256": {
      "title": "Sha256",
      "type": "string"
    },
    "size_bytes": {
      "title": "Size Bytes",
      "type": "integer"
    }
  },
  "required": [
    "id",
    "scan_id",
    "scanner",
    "artifact_type",
    "format",
    "path",
    "size_bytes",
    "sha256",
    "created_at"
  ],
  "title": "ScanArtifactOut",
  "type": "object"
}
ScanCreate
{
  "properties": {
    "acknowledge_limited_coverage": {
      "default": false,
      "title": "Acknowledge Limited Coverage",
      "type": "boolean"
    },
    "base_ref": {
      "anyOf": [
        {
          "maxLength": 160,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Base Ref"
    },
    "coverage": {
      "default": "complete",
      "enum": [
        "complete",
        "limited"
      ],
      "title": "Coverage",
      "type": "string"
    },
    "head_ref": {
      "anyOf": [
        {
          "maxLength": 160,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Head Ref"
    },
    "mode": {
      "default": "full",
      "enum": [
        "full",
        "incremental_diff"
      ],
      "title": "Mode",
      "type": "string"
    },
    "preflight_revision": {
      "anyOf": [
        {
          "maxLength": 64,
          "minLength": 64,
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Preflight Revision"
    },
    "project_id": {
      "title": "Project Id",
      "type": "integer"
    },
    "source_snapshot_digest": {
      "anyOf": [
        {
          "maxLength": 64,
          "minLength": 64,
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Source Snapshot Digest"
    },
    "target_kind": {
      "anyOf": [
        {
          "enum": [
            "file",
            "directory"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Kind"
    },
    "target_path": {
      "anyOf": [
        {
          "maxLength": 4096,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Path"
    },
    "use_ai": {
      "default": false,
      "title": "Use Ai",
      "type": "boolean"
    }
  },
  "required": [
    "project_id"
  ],
  "title": "ScanCreate",
  "type": "object"
}
ScanFindingCountsOut
{
  "properties": {
    "active": {
      "minimum": 0,
      "title": "Active",
      "type": "integer"
    },
    "gate_exempt": {
      "minimum": 0,
      "title": "Gate Exempt",
      "type": "integer"
    },
    "scanner_counts": {
      "additionalProperties": {
        "type": "integer"
      },
      "title": "Scanner Counts",
      "type": "object"
    },
    "severity_counts": {
      "additionalProperties": {
        "type": "integer"
      },
      "title": "Severity Counts",
      "type": "object"
    },
    "suppressed": {
      "minimum": 0,
      "title": "Suppressed",
      "type": "integer"
    },
    "total": {
      "minimum": 0,
      "title": "Total",
      "type": "integer"
    }
  },
  "required": [
    "total",
    "active",
    "suppressed",
    "gate_exempt",
    "severity_counts",
    "scanner_counts"
  ],
  "title": "ScanFindingCountsOut",
  "type": "object"
}
ScanOut
{
  "properties": {
    "base_ref": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Base Ref"
    },
    "completed_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Completed At"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "duration_ms": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Duration Ms"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error"
    },
    "findings_revision": {
      "default": 1,
      "title": "Findings Revision",
      "type": "integer"
    },
    "gate_decision": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Gate Decision"
    },
    "gate_reasons": {
      "items": {
        "type": "string"
      },
      "title": "Gate Reasons",
      "type": "array"
    },
    "head_ref": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Head Ref"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "job_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Job Id"
    },
    "job_revision": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Job Revision"
    },
    "mode": {
      "title": "Mode",
      "type": "string"
    },
    "project_id": {
      "title": "Project Id",
      "type": "integer"
    },
    "revision": {
      "default": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scanner_summary": {
      "additionalProperties": true,
      "title": "Scanner Summary",
      "type": "object"
    },
    "source_snapshot": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ScanSourceSnapshotOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "started_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Started At"
    },
    "status": {
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "id",
    "project_id",
    "mode",
    "base_ref",
    "head_ref",
    "status",
    "gate_decision",
    "gate_reasons",
    "scanner_summary",
    "error",
    "created_at",
    "started_at",
    "completed_at",
    "duration_ms"
  ],
  "title": "ScanOut",
  "type": "object"
}
ScanSourceSnapshotOut
{
  "additionalProperties": false,
  "description": "Body-free original admission, not a claim about current disk contents.",
  "properties": {
    "directory_scope": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Directory Scope"
    },
    "file_count": {
      "maximum": 5000,
      "minimum": 0,
      "title": "File Count",
      "type": "integer"
    },
    "kind": {
      "default": "native-windows",
      "enum": [
        "native-windows",
        "git-commit"
      ],
      "title": "Kind",
      "type": "string"
    },
    "snapshot_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Snapshot Digest",
      "type": "string"
    },
    "source_id": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Source Id",
      "type": "string"
    },
    "target_kind": {
      "anyOf": [
        {
          "enum": [
            "file",
            "directory"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Kind"
    },
    "target_path": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Path"
    },
    "total_bytes": {
      "maximum": 67108864,
      "minimum": 0,
      "title": "Total Bytes",
      "type": "integer"
    }
  },
  "required": [
    "source_id",
    "snapshot_digest",
    "directory_scope",
    "target_path",
    "target_kind",
    "file_count",
    "total_bytes"
  ],
  "title": "ScanSourceSnapshotOut",
  "type": "object"
}
ScanSummaryOut
{
  "properties": {
    "findings": {
      "$ref": "#/components/schemas/ScanFindingCountsOut"
    },
    "findings_revision": {
      "minimum": 1,
      "title": "Findings Revision",
      "type": "integer"
    },
    "revision": {
      "minimum": 1,
      "title": "Revision",
      "type": "integer"
    },
    "scan": {
      "$ref": "#/components/schemas/ScanSummaryResourceOut"
    }
  },
  "required": [
    "scan",
    "findings",
    "revision",
    "findings_revision"
  ],
  "title": "ScanSummaryOut",
  "type": "object"
}
ScanSummaryResourceOut
{
  "properties": {
    "completed_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Completed At"
    },
    "created_at": {
      "format": "date-time",
      "title": "Created At",
      "type": "string"
    },
    "duration_ms": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Duration Ms"
    },
    "error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error"
    },
    "gate_decision": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Gate Decision"
    },
    "gate_reasons": {
      "items": {
        "type": "string"
      },
      "title": "Gate Reasons",
      "type": "array"
    },
    "id": {
      "title": "Id",
      "type": "integer"
    },
    "mode": {
      "title": "Mode",
      "type": "string"
    },
    "project_id": {
      "title": "Project Id",
      "type": "integer"
    },
    "started_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Started At"
    },
    "status": {
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "id",
    "project_id",
    "mode",
    "status",
    "gate_decision",
    "gate_reasons",
    "error",
    "created_at",
    "started_at",
    "completed_at",
    "duration_ms"
  ],
  "title": "ScanSummaryResourceOut",
  "type": "object"
}
ScanTriageRequest
{
  "additionalProperties": false,
  "properties": {
    "advisor_provider_pin": {
      "$ref": "#/components/schemas/AdvisorTriageProviderPin"
    },
    "include_existing": {
      "default": false,
      "title": "Include Existing",
      "type": "boolean"
    },
    "limit": {
      "default": 100,
      "maximum": 200,
      "minimum": 1,
      "title": "Limit",
      "type": "integer"
    },
    "model": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model"
    }
  },
  "required": [
    "advisor_provider_pin"
  ],
  "title": "ScanTriageRequest",
  "type": "object"
}
ScannerCacheRollbackEligibilityOut
{
  "additionalProperties": false,
  "properties": {
    "eligible": {
      "title": "Eligible",
      "type": "boolean"
    },
    "reason": {
      "maxLength": 256,
      "minLength": 1,
      "title": "Reason",
      "type": "string"
    },
    "reason_code": {
      "enum": [
        "eligible",
        "no_previous_generation",
        "cache_pointer_invalid",
        "previous_generation_invalid",
        "previous_generation_verifying",
        "previous_generation_verification_timeout",
        "previous_generation_verification_failed",
        "different_reviewed_locks",
        "previous_generation_incompatible",
        "scanner_unavailable",
        "scanner_eligibility_invalid",
        "state_mismatch"
      ],
      "title": "Reason Code",
      "type": "string"
    },
    "target_generation": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Target Generation"
    },
    "verification": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ScannerCacheVerificationOut"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "eligible",
    "reason_code",
    "reason"
  ],
  "title": "ScannerCacheRollbackEligibilityOut",
  "type": "object"
}
ScannerCacheUpdateRequest
{
  "additionalProperties": false,
  "properties": {
    "catalog_digest": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Catalog Digest"
    },
    "component_ids": {
      "items": {
        "enum": [
          "trivy-db",
          "trivy-java-db",
          "trivy-checks",
          "opengrep-reviewed-rules",
          "bearer-rules",
          "grype-db"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "minItems": 1,
      "title": "Component Ids",
      "type": "array"
    }
  },
  "required": [
    "component_ids"
  ],
  "title": "ScannerCacheUpdateRequest",
  "type": "object"
}
ScannerCacheVerificationOut
{
  "additionalProperties": false,
  "properties": {
    "bytes_total": {
      "anyOf": [
        {
          "maximum": 8589934592,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Bytes Total"
    },
    "bytes_verified": {
      "anyOf": [
        {
          "maximum": 8589934592,
          "minimum": 0,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Bytes Verified"
    },
    "component_id": {
      "anyOf": [
        {
          "enum": [
            "trivy-db",
            "trivy-java-db",
            "trivy-checks",
            "opengrep-reviewed-rules",
            "bearer-rules",
            "grype-db"
          ],
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Component Id"
    },
    "generation_id": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Generation Id",
      "type": "string"
    },
    "last_activity_at": {
      "maxLength": 32,
      "title": "Last Activity At",
      "type": "string"
    },
    "phase": {
      "enum": [
        "queued",
        "validating",
        "hashing"
      ],
      "title": "Phase",
      "type": "string"
    },
    "started_at": {
      "maxLength": 32,
      "title": "Started At",
      "type": "string"
    },
    "state": {
      "enum": [
        "verifying",
        "timed_out",
        "failed"
      ],
      "title": "State",
      "type": "string"
    },
    "target": {
      "enum": [
        "active",
        "previous_good"
      ],
      "title": "Target",
      "type": "string"
    }
  },
  "required": [
    "state",
    "target",
    "generation_id",
    "phase",
    "component_id",
    "started_at",
    "last_activity_at",
    "bytes_verified",
    "bytes_total"
  ],
  "title": "ScannerCacheVerificationOut",
  "type": "object"
}
ScannerCacheVerificationRetryRequest
{
  "additionalProperties": false,
  "properties": {
    "expected_generation": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Expected Generation",
      "type": "string"
    },
    "target": {
      "enum": [
        "active",
        "previous_good"
      ],
      "title": "Target",
      "type": "string"
    }
  },
  "required": [
    "target",
    "expected_generation"
  ],
  "title": "ScannerCacheVerificationRetryRequest",
  "type": "object"
}
ScannerLifecycleCommandOut
{
  "properties": {
    "job": {
      "$ref": "#/components/schemas/JobOut"
    },
    "lifecycle": {
      "$ref": "#/components/schemas/ScannerLifecycleScopeOut"
    }
  },
  "required": [
    "job",
    "lifecycle"
  ],
  "title": "ScannerLifecycleCommandOut",
  "type": "object"
}
ScannerLifecycleOut
{
  "properties": {
    "cache": {
      "$ref": "#/components/schemas/ScannerLifecycleScopeOut"
    },
    "catalog": {
      "$ref": "#/components/schemas/ScannerLifecycleScopeOut"
    }
  },
  "required": [
    "catalog",
    "cache"
  ],
  "title": "ScannerLifecycleOut",
  "type": "object"
}
ScannerLifecycleScopeOut
{
  "properties": {
    "active_generation": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Active Generation"
    },
    "completed_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Completed At"
    },
    "error_code": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error Code"
    },
    "error_detail": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error Detail"
    },
    "job_id": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Job Id"
    },
    "job_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Job Url"
    },
    "previous_generation": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Previous Generation"
    },
    "receipt": {
      "additionalProperties": true,
      "title": "Receipt",
      "type": "object"
    },
    "revision": {
      "title": "Revision",
      "type": "integer"
    },
    "scope": {
      "enum": [
        "catalog",
        "cache"
      ],
      "title": "Scope",
      "type": "string"
    },
    "started_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Started At"
    },
    "status": {
      "enum": [
        "idle",
        "queued",
        "leased",
        "running",
        "cancelling",
        "completed",
        "failed",
        "cancelled"
      ],
      "title": "Status",
      "type": "string"
    },
    "updated_at": {
      "format": "date-time",
      "title": "Updated At",
      "type": "string"
    }
  },
  "required": [
    "scope",
    "status",
    "revision",
    "job_id",
    "job_url",
    "active_generation",
    "previous_generation",
    "receipt",
    "error_code",
    "error_detail",
    "started_at",
    "completed_at",
    "updated_at"
  ],
  "title": "ScannerLifecycleScopeOut",
  "type": "object"
}
ScannerPreflightBlockedToolOut
{
  "additionalProperties": false,
  "properties": {
    "blocking_reasons": {
      "items": {
        "type": "string"
      },
      "maxItems": 4,
      "minItems": 1,
      "title": "Blocking Reasons",
      "type": "array"
    },
    "id": {
      "maxLength": 80,
      "minLength": 1,
      "title": "Id",
      "type": "string"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "preparation_blocking_reasons": {
      "items": {
        "type": "string"
      },
      "maxItems": 4,
      "title": "Preparation Blocking Reasons",
      "type": "array"
    },
    "required_component_ids": {
      "items": {
        "enum": [
          "trivy-db",
          "trivy-java-db",
          "trivy-checks",
          "opengrep-reviewed-rules",
          "bearer-rules",
          "grype-db"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "title": "Required Component Ids",
      "type": "array"
    }
  },
  "required": [
    "id",
    "name",
    "blocking_reasons",
    "required_component_ids",
    "preparation_blocking_reasons"
  ],
  "title": "ScannerPreflightBlockedToolOut",
  "type": "object"
}
ScannerPreflightOut
{
  "additionalProperties": false,
  "description": "One safe readiness snapshot shared by UI, IDE, CLI, and future CI.",
  "properties": {
    "active_generation": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Active Generation"
    },
    "blocked_tools": {
      "items": {
        "$ref": "#/components/schemas/ScannerPreflightBlockedToolOut"
      },
      "maxItems": 32,
      "title": "Blocked Tools",
      "type": "array"
    },
    "cache_revision": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Cache Revision"
    },
    "cache_rollback": {
      "$ref": "#/components/schemas/ScannerCacheRollbackEligibilityOut"
    },
    "cache_verification": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ScannerCacheVerificationOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "catalog_revision": {
      "anyOf": [
        {
          "minimum": 1,
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "title": "Catalog Revision"
    },
    "enabled_tool_ids": {
      "items": {
        "type": "string"
      },
      "maxItems": 32,
      "title": "Enabled Tool Ids",
      "type": "array"
    },
    "preparation_available": {
      "title": "Preparation Available",
      "type": "boolean"
    },
    "ready": {
      "title": "Ready",
      "type": "boolean"
    },
    "ready_tool_ids": {
      "items": {
        "type": "string"
      },
      "maxItems": 32,
      "title": "Ready Tool Ids",
      "type": "array"
    },
    "recommended_action": {
      "enum": [
        "scan",
        "prepare_scanners",
        "enable_scanner",
        "repair_scanner_runtime",
        "wait_for_scanner_verification",
        "retry_scanner_verification"
      ],
      "title": "Recommended Action",
      "type": "string"
    },
    "required_component_ids": {
      "items": {
        "enum": [
          "trivy-db",
          "trivy-java-db",
          "trivy-checks",
          "opengrep-reviewed-rules",
          "bearer-rules",
          "grype-db"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "title": "Required Component Ids",
      "type": "array"
    },
    "revision": {
      "maxLength": 64,
      "minLength": 64,
      "pattern": "^[0-9a-f]{64}$",
      "title": "Revision",
      "type": "string"
    },
    "schema_version": {
      "const": 1,
      "default": 1,
      "title": "Schema Version",
      "type": "integer"
    }
  },
  "required": [
    "revision",
    "ready",
    "enabled_tool_ids",
    "ready_tool_ids",
    "blocked_tools",
    "required_component_ids",
    "preparation_available",
    "cache_rollback",
    "recommended_action"
  ],
  "title": "ScannerPreflightOut",
  "type": "object"
}
ScannerPreparationCommandOut
{
  "properties": {
    "cache": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ScannerLifecycleCommandOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "catalog": {
      "$ref": "#/components/schemas/ScannerLifecycleCommandOut"
    },
    "required_component_ids": {
      "items": {
        "enum": [
          "trivy-db",
          "trivy-java-db",
          "trivy-checks",
          "opengrep-reviewed-rules",
          "bearer-rules",
          "grype-db"
        ],
        "type": "string"
      },
      "title": "Required Component Ids",
      "type": "array"
    }
  },
  "required": [
    "catalog",
    "cache",
    "required_component_ids"
  ],
  "title": "ScannerPreparationCommandOut",
  "type": "object"
}
ScannerReadinessFacetOut
{
  "additionalProperties": false,
  "properties": {
    "component_ids": {
      "items": {
        "enum": [
          "trivy-db",
          "trivy-java-db",
          "trivy-checks",
          "opengrep-reviewed-rules",
          "bearer-rules",
          "grype-db"
        ],
        "type": "string"
      },
      "maxItems": 6,
      "title": "Component Ids",
      "type": "array"
    },
    "reason": {
      "anyOf": [
        {
          "maxLength": 512,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason"
    },
    "state": {
      "enum": [
        "ready",
        "not_required",
        "unattested",
        "unavailable",
        "stale",
        "invalid",
        "verifying",
        "verification_timeout",
        "verification_failed"
      ],
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "state",
    "component_ids"
  ],
  "title": "ScannerReadinessFacetOut",
  "type": "object"
}
ScannerReconciliationCommandOut
{
  "properties": {
    "job": {
      "$ref": "#/components/schemas/JobOut"
    },
    "lifecycle": {
      "$ref": "#/components/schemas/ScannerLifecycleScopeOut"
    },
    "original_job_id": {
      "title": "Original Job Id",
      "type": "integer"
    }
  },
  "required": [
    "job",
    "lifecycle",
    "original_job_id"
  ],
  "title": "ScannerReconciliationCommandOut",
  "type": "object"
}
ScannerToolOut
{
  "properties": {
    "artifacts_count": {
      "default": 0,
      "title": "Artifacts Count",
      "type": "integer"
    },
    "available": {
      "default": false,
      "title": "Available",
      "type": "boolean"
    },
    "candidate_manifest_sha256": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Candidate Manifest Sha256"
    },
    "candidate_release_id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Candidate Release Id"
    },
    "category": {
      "title": "Category",
      "type": "string"
    },
    "current_version": {
      "title": "Current Version",
      "type": "string"
    },
    "description": {
      "title": "Description",
      "type": "string"
    },
    "enabled": {
      "title": "Enabled",
      "type": "boolean"
    },
    "findings_count": {
      "title": "Findings Count",
      "type": "integer"
    },
    "id": {
      "title": "Id",
      "type": "string"
    },
    "installed_version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Installed Version"
    },
    "last_checked_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Last Checked At"
    },
    "last_error": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Last Error"
    },
    "latest_version": {
      "title": "Latest Version",
      "type": "string"
    },
    "lifecycle": {
      "title": "Lifecycle",
      "type": "string"
    },
    "name": {
      "title": "Name",
      "type": "string"
    },
    "output_format": {
      "title": "Output Format",
      "type": "string"
    },
    "pinned_version": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pinned Version"
    },
    "published_at": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Published At"
    },
    "readiness": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/ScannerToolReadinessOut"
        },
        {
          "type": "null"
        }
      ]
    },
    "runtime_ready": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Runtime Ready"
    },
    "source": {
      "title": "Source",
      "type": "string"
    },
    "status": {
      "title": "Status",
      "type": "string"
    },
    "update_available": {
      "title": "Update Available",
      "type": "boolean"
    },
    "updated_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Updated At"
    }
  },
  "required": [
    "id",
    "name",
    "category",
    "lifecycle",
    "source",
    "output_format",
    "description",
    "enabled",
    "current_version",
    "latest_version",
    "pinned_version",
    "status",
    "update_available",
    "findings_count",
    "last_checked_at",
    "updated_at"
  ],
  "title": "ScannerToolOut",
  "type": "object"
}
ScannerToolPatch
{
  "properties": {
    "enabled": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "title": "Enabled"
    },
    "pinned_version": {
      "anyOf": [
        {
          "maxLength": 80,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Pinned Version"
    }
  },
  "title": "ScannerToolPatch",
  "type": "object"
}
ScannerToolReadinessOut
{
  "additionalProperties": false,
  "properties": {
    "binary": {
      "$ref": "#/components/schemas/ScannerReadinessFacetOut"
    },
    "data": {
      "$ref": "#/components/schemas/ScannerReadinessFacetOut"
    },
    "execution": {
      "$ref": "#/components/schemas/ScannerReadinessFacetOut"
    },
    "rules": {
      "$ref": "#/components/schemas/ScannerReadinessFacetOut"
    }
  },
  "required": [
    "binary",
    "data",
    "rules",
    "execution"
  ],
  "title": "ScannerToolReadinessOut",
  "type": "object"
}
SchemaInitStatusOut
{
  "properties": {
    "evidence": {
      "anyOf": [
        {
          "const": "schema-identity-and-api-startup-verification",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Evidence"
    },
    "id": {
      "const": "schema-init",
      "title": "Id",
      "type": "string"
    },
    "initialized_at": {
      "anyOf": [
        {
          "format": "date-time",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Initialized At"
    },
    "lifecycle": {
      "const": "one-shot",
      "title": "Lifecycle",
      "type": "string"
    },
    "message": {
      "maxLength": 240,
      "minLength": 1,
      "title": "Message",
      "type": "string"
    },
    "schema_fingerprint": {
      "anyOf": [
        {
          "pattern": "^[0-9a-f]{64}$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Schema Fingerprint"
    },
    "schema_id": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Schema Id"
    },
    "startable": {
      "const": false,
      "title": "Startable",
      "type": "boolean"
    },
    "state": {
      "enum": [
        "completed",
        "unverified"
      ],
      "title": "State",
      "type": "string"
    }
  },
  "required": [
    "id",
    "lifecycle",
    "startable",
    "state",
    "message",
    "initialized_at",
    "evidence"
  ],
  "title": "SchemaInitStatusOut",
  "type": "object"
}
SourceOpenAck
{
  "additionalProperties": false,
  "properties": {
    "error_code": {
      "anyOf": [
        {
          "maxLength": 80,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Error Code"
    },
    "status": {
      "enum": [
        "opened",
        "failed"
      ],
      "title": "Status",
      "type": "string"
    }
  },
  "required": [
    "status"
  ],
  "title": "SourceOpenAck",
  "type": "object"
}
SourceOpenCreate
{
  "additionalProperties": false,
  "properties": {
    "expected_finding_revision": {
      "minimum": 1,
      "title": "Expected Finding Revision",
      "type": "integer"
    },
    "expected_findings_revision": {
      "minimum": 1,
      "title": "Expected Findings Revision",
      "type": "integer"
    },
    "expected_target_generation": {
      "maximum": 2147483647,
      "minimum": 1,
      "title": "Expected Target Generation",
      "type": "integer"
    },
    "finding_id": {
      "minimum": 1,
      "title": "Finding Id",
      "type": "integer"
    },
    "target_capability_id": {
      "maxLength": 64,
      "minLength": 1,
      "title": "Target Capability Id",
      "type": "string"
    }
  },
  "required": [
    "finding_id",
    "expected_finding_revision",
    "expected_findings_revision",
    "target_capability_id",
    "expected_target_generation"
  ],
  "title": "SourceOpenCreate",
  "type": "object"
}
SourcePreviewOut
{
  "additionalProperties": false,
  "description": "Configured mount authorization only; scan admission rechecks source safety.",
  "properties": {
    "authorization_mode": {
      "const": "mounted",
      "default": "mounted",
      "title": "Authorization Mode",
      "type": "string"
    },
    "authorized": {
      "title": "Authorized",
      "type": "boolean"
    },
    "configured_roots": {
      "items": {
        "type": "string"
      },
      "maxItems": 32,
      "minItems": 1,
      "title": "Configured Roots",
      "type": "array"
    },
    "installation_id": {
      "pattern": "^[0-9a-f]{12}$",
      "title": "Installation Id",
      "type": "string"
    },
    "reason_code": {
      "anyOf": [
        {
          "const": "source_outside_allowed_root",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Reason Code"
    },
    "repo_path": {
      "title": "Repo Path",
      "type": "string"
    }
  },
  "required": [
    "installation_id",
    "repo_path",
    "authorized",
    "configured_roots",
    "reason_code"
  ],
  "title": "SourcePreviewOut",
  "type": "object"
}
SourcePreviewRequest
{
  "additionalProperties": false,
  "properties": {
    "repo_path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Repo Path",
      "type": "string"
    }
  },
  "required": [
    "repo_path"
  ],
  "title": "SourcePreviewRequest",
  "type": "object"
}
SourceSnapshotCreate
{
  "additionalProperties": false,
  "description": "Explicit bounded source material admitted only by the snapshot route.",
  "properties": {
    "directory_scope": {
      "anyOf": [
        {
          "maxLength": 4096,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Directory Scope"
    },
    "files": {
      "items": {
        "$ref": "#/components/schemas/SourceSnapshotFile"
      },
      "maxItems": 5000,
      "title": "Files",
      "type": "array"
    },
    "name": {
      "maxLength": 120,
      "minLength": 1,
      "title": "Name",
      "type": "string"
    },
    "source_id": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Source Id",
      "type": "string"
    }
  },
  "required": [
    "source_id",
    "name",
    "files"
  ],
  "title": "SourceSnapshotCreate",
  "type": "object"
}
SourceSnapshotFile
{
  "additionalProperties": false,
  "description": "One bounded regular file in a native-Windows local source snapshot.",
  "properties": {
    "content_base64": {
      "maxLength": 11184812,
      "minLength": 0,
      "title": "Content Base64",
      "type": "string"
    },
    "path": {
      "maxLength": 4096,
      "minLength": 1,
      "title": "Path",
      "type": "string"
    },
    "sha256": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Sha256",
      "type": "string"
    },
    "size_bytes": {
      "maximum": 8388608,
      "minimum": 0,
      "title": "Size Bytes",
      "type": "integer"
    }
  },
  "required": [
    "path",
    "content_base64",
    "sha256",
    "size_bytes"
  ],
  "title": "SourceSnapshotFile",
  "type": "object"
}
SourceSnapshotOut
{
  "properties": {
    "directory_scope": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Directory Scope"
    },
    "file_count": {
      "maximum": 5000,
      "minimum": 0,
      "title": "File Count",
      "type": "integer"
    },
    "project": {
      "$ref": "#/components/schemas/ProjectOut"
    },
    "snapshot_digest": {
      "pattern": "^[0-9a-f]{64}$",
      "title": "Snapshot Digest",
      "type": "string"
    },
    "total_bytes": {
      "maximum": 67108864,
      "minimum": 0,
      "title": "Total Bytes",
      "type": "integer"
    }
  },
  "required": [
    "project",
    "snapshot_digest",
    "directory_scope",
    "file_count",
    "total_bytes"
  ],
  "title": "SourceSnapshotOut",
  "type": "object"
}
TriageRequest
{
  "additionalProperties": false,
  "properties": {
    "acknowledge_remote_source_disclosure": {
      "default": false,
      "title": "Acknowledge Remote Source Disclosure",
      "type": "boolean"
    },
    "advisor_provider_pin": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/AdvisorTriageProviderPin"
        },
        {
          "type": "null"
        }
      ]
    },
    "expected_revision": {
      "minimum": 1,
      "title": "Expected Revision",
      "type": "integer"
    },
    "model": {
      "anyOf": [
        {
          "maxLength": 120,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Model"
    },
    "remote_advisor_confirmation": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/AdvisorDisclosureConfirmationOut"
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "expected_revision"
  ],
  "title": "TriageRequest",
  "type": "object"
}
ValidationError
{
  "additionalProperties": false,
  "properties": {
    "loc": {
      "items": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "type": "integer"
          }
        ]
      },
      "type": "array"
    },
    "msg": {
      "type": "string"
    },
    "type": {
      "type": "string"
    }
  },
  "required": [
    "type",
    "loc",
    "msg"
  ],
  "title": "SanitizedValidationError",
  "type": "object"
}