{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://awoooi.wooo.work/schemas/package_supply_chain_baseline_v1.schema.json",
  "title": "Package Supply Chain Baseline v1",
  "type": "object",
  "required": [
    "schema_version",
    "status",
    "mode",
    "generated_at",
    "git_commit",
    "summary",
    "package_json_manifests",
    "pyproject_manifests",
    "requirements_files",
    "lockfiles",
    "dockerfiles",
    "compose_files",
    "gaps",
    "execution_boundaries"
  ],
  "properties": {
    "schema_version": {
      "const": "package_supply_chain_baseline_v1"
    },
    "status": {
      "const": "repo_only_inventory_ready_needs_owner_policy"
    },
    "mode": {
      "const": "repo_snapshot_only_no_install_no_network_no_cve_scan"
    },
    "generated_at": {
      "type": "string"
    },
    "git_commit": {
      "type": "string"
    },
    "package_manager": {
      "type": "string"
    },
    "summary": {
      "type": "object",
      "required": [
        "package_json_count",
        "pyproject_count",
        "requirements_file_count",
        "lockfile_count",
        "dockerfile_count",
        "compose_file_count",
        "gap_count",
        "owner_response_received_count",
        "owner_response_accepted_count",
        "runtime_gate_count",
        "action_button_count"
      ],
      "properties": {
        "package_json_count": {
          "type": "integer",
          "minimum": 0
        },
        "pyproject_count": {
          "type": "integer",
          "minimum": 0
        },
        "requirements_file_count": {
          "type": "integer",
          "minimum": 0
        },
        "lockfile_count": {
          "type": "integer",
          "minimum": 0
        },
        "dockerfile_count": {
          "type": "integer",
          "minimum": 0
        },
        "compose_file_count": {
          "type": "integer",
          "minimum": 0
        },
        "gap_count": {
          "type": "integer",
          "minimum": 0
        },
        "owner_response_received_count": {
          "const": 0
        },
        "owner_response_accepted_count": {
          "const": 0
        },
        "runtime_gate_count": {
          "const": 0
        },
        "action_button_count": {
          "const": 0
        }
      },
      "additionalProperties": true
    },
    "package_json_manifests": {
      "type": "array"
    },
    "pyproject_manifests": {
      "type": "array"
    },
    "requirements_files": {
      "type": "array"
    },
    "lockfiles": {
      "type": "array"
    },
    "dockerfiles": {
      "type": "array"
    },
    "compose_files": {
      "type": "array"
    },
    "gaps": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "next_owner_evidence_fields": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "execution_boundaries": {
      "type": "object",
      "required": [
        "package_install_authorized",
        "dependency_upgrade_authorized",
        "lockfile_rewrite_authorized",
        "cve_scan_authorized",
        "docker_build_authorized",
        "docker_pull_authorized",
        "docker_push_authorized",
        "registry_login_authorized",
        "secret_value_collection_allowed",
        "workflow_modification_authorized",
        "production_deploy_authorized",
        "runtime_gate_count",
        "action_button_count",
        "not_authorization"
      ],
      "properties": {
        "package_install_authorized": {
          "const": false
        },
        "dependency_upgrade_authorized": {
          "const": false
        },
        "lockfile_rewrite_authorized": {
          "const": false
        },
        "cve_scan_authorized": {
          "const": false
        },
        "docker_build_authorized": {
          "const": false
        },
        "docker_pull_authorized": {
          "const": false
        },
        "docker_push_authorized": {
          "const": false
        },
        "registry_login_authorized": {
          "const": false
        },
        "secret_value_collection_allowed": {
          "const": false
        },
        "workflow_modification_authorized": {
          "const": false
        },
        "production_deploy_authorized": {
          "const": false
        },
        "runtime_gate_count": {
          "const": 0
        },
        "action_button_count": {
          "const": 0
        },
        "not_authorization": {
          "const": true
        }
      },
      "additionalProperties": true
    },
    "operator_interpretation": {
      "type": "array",
      "items": {
        "type": "string"
      }
    }
  },
  "additionalProperties": true
}
