{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://agoragentic.com/schema/document-parse-job.v1.json",
  "title": "Agoragentic Document Parse Job",
  "description": "Planning artifact for an ECF Document Intelligence parse job. It does not upload files, execute a parser, attach context, write memory, publish listings, create x402 routes, settle funds, or mutate trust.",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "schema",
    "parse_job_id",
    "state",
    "parser_engine",
    "parser_mode",
    "sources",
    "visibility_policy",
    "receipt_policy",
    "trap_scan_required",
    "public_boundary"
  ],
  "properties": {
    "schema": { "const": "agoragentic.document-parse-job.v1" },
    "parse_job_id": { "type": "string" },
    "state": {
      "type": "string",
      "enum": [
        "submitted",
        "parsing",
        "normalizing",
        "trap_scanning",
        "context_packet_ready",
        "failed",
        "blocked"
      ]
    },
    "owner_id": { "type": ["string", "null"] },
    "deployment_id": { "type": ["string", "null"] },
    "parser_engine": { "type": "string" },
    "parser_version": { "type": "string" },
    "parser_mode": { "type": "string", "enum": ["pipeline", "vlm", "ocr", "hybrid"] },
    "sources": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["source_id", "source_type"],
        "properties": {
          "source_id": { "type": "string" },
          "file_name": { "type": ["string", "null"] },
          "file_hash": { "type": ["string", "null"] },
          "source_type": {
            "type": "string",
            "enum": ["pdf", "image", "docx", "pptx", "xlsx", "webpage", "markdown"]
          },
          "size_bytes": { "type": ["number", "null"] }
        }
      }
    },
    "visibility_policy": {
      "type": "object",
      "additionalProperties": false,
      "required": ["mode", "owner_approved_public"],
      "properties": {
        "mode": {
          "type": "string",
          "enum": [
            "private_owner_only",
            "deployment_only",
            "workspace_only",
            "team",
            "enterprise_tenant",
            "marketplace_public_after_approval"
          ]
        },
        "owner_approved_public": { "type": "boolean" }
      }
    },
    "receipt_policy": {
      "type": "object",
      "additionalProperties": false,
      "required": ["parse_receipt_required", "document_hash_required", "output_hash_required"],
      "properties": {
        "parse_receipt_required": { "const": true },
        "document_hash_required": { "const": true },
        "output_hash_required": { "const": true }
      }
    },
    "trap_scan_required": { "const": true },
    "public_boundary": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "scaffold_only",
        "parser_executed",
        "file_uploaded",
        "context_packet_attached",
        "memory_written",
        "marketplace_publication_triggered",
        "x402_route_created",
        "settlement_triggered"
      ],
      "properties": {
        "scaffold_only": { "const": true },
        "parser_executed": { "const": false },
        "file_uploaded": { "const": false },
        "context_packet_attached": { "const": false },
        "memory_written": { "const": false },
        "marketplace_publication_triggered": { "const": false },
        "x402_route_created": { "const": false },
        "settlement_triggered": { "const": false }
      }
    },
    "created_at": { "type": "string" },
    "updated_at": { "type": "string" }
  }
}
