{
  "contract": "editorial-operations-roster-v1",
  "schema_version": "2026-08-13",
  "updated": "2026-08-13",
  "status": "active-role-roster",
  "purpose": "Public role, authority and escalation map for EdPol and connected content products. Publication decisions remain human-owned inside each project.",
  "identity_boundary": {
    "assignment_model": "role-addressed",
    "public_contact": "contact@edpol.pro",
    "private_on_duty_roster": "project-owned",
    "reason": "The public contract identifies accountable functions and response paths without exposing private staffing or duty schedules.",
    "not_claimed": [
      "A role label proves that a named person is currently on duty.",
      "EdPol can approve or publish content on behalf of a connected project.",
      "An automated score can satisfy a human approval requirement."
    ]
  },
  "roles": [
    {
      "id": "editorial-director",
      "function": "editorial",
      "title": "Главный редактор или уполномоченный выпускающий",
      "authority": [
        "make the final project-local publication decision",
        "hold publication when required checks are incomplete",
        "appoint the maker and checker for P0 decisions"
      ],
      "cannot": [
        "delegate final accountability to a model",
        "override a mandatory legal hold without a recorded legal decision"
      ]
    },
    {
      "id": "legal-owner",
      "function": "legal",
      "title": "Ответственный за юридическую эскалацию",
      "authority": [
        "place and release a legal hold",
        "record a legal clearance or required remedy",
        "escalate defamation, privacy, election and court-order risks"
      ],
      "cannot": [
        "publish a material alone",
        "treat a risk score as a legal opinion"
      ]
    },
    {
      "id": "editorial-checker",
      "function": "editorial-check",
      "title": "Независимый проверяющий решения",
      "authority": [
        "confirm or reject a maker decision for P0",
        "require missing evidence or a new content fingerprint",
        "record a separate actor-bound checker decision"
      ],
      "cannot": [
        "be the same actor as the maker for P0",
        "replace legal clearance when legal review is mandatory"
      ]
    },
    {
      "id": "political-standards-owner",
      "function": "political",
      "title": "Ответственный за политические и электоральные стандарты",
      "authority": [
        "require balance, attribution and election-period checks",
        "hold a material for conflict, coercion or campaigning review",
        "route a contested political judgment to maker-checker review"
      ],
      "cannot": [
        "change sourced facts in a downstream product",
        "approve publication without the project editorial owner"
      ]
    },
    {
      "id": "standards-owner",
      "function": "standards",
      "title": "Владелец редакционной политики",
      "authority": [
        "version policy and risk contracts",
        "resolve policy conflicts",
        "approve additive contract changes and coordinate breaking migrations"
      ],
      "cannot": [
        "silently change a downstream enforcement mode",
        "erase prior policy versions or decision receipts"
      ]
    },
    {
      "id": "project-product-owner",
      "function": "product",
      "title": "Владелец продукта",
      "authority": [
        "accept the project integration boundary",
        "prioritise remediation and user-flow changes",
        "approve project-local activation or rollback with the editorial owner"
      ],
      "cannot": [
        "override legal or editorial holds",
        "present an integration-ready profile as hard enforcement"
      ]
    },
    {
      "id": "integration-owner",
      "function": "technical",
      "title": "Технический владелец интеграции",
      "authority": [
        "deploy and disable metadata adapters",
        "operate public discovery, monitoring and rollback",
        "confirm exact release and endpoint evidence"
      ],
      "cannot": [
        "approve content",
        "store raw text or evidence in EdPol without a separate approved contract"
      ]
    },
    {
      "id": "privacy-safety-owner",
      "function": "privacy-safety",
      "title": "Ответственный за приватность и безопасность",
      "authority": [
        "minimise or restrict sensitive data",
        "place an urgent safety hold",
        "coordinate takedown and protected-source handling"
      ],
      "cannot": [
        "publish protected data in a public case record",
        "treat a public complaint as consent to disclose personal information"
      ]
    }
  ],
  "escalation_classes": [
    {
      "severity": "P0",
      "acknowledgement_sla_minutes": 15,
      "decision_target_minutes": 120,
      "required_roles": [
        "editorial-director",
        "legal-owner"
      ],
      "conditional_roles": [
        "political-standards-owner",
        "privacy-safety-owner"
      ],
      "fallback": "hold-publication",
      "approval": "maker-checker with an actor-bound decision record"
    },
    {
      "severity": "P1",
      "acknowledgement_sla_minutes": 240,
      "decision_target_minutes": 1440,
      "required_roles": [
        "editorial-director"
      ],
      "conditional_roles": [
        "legal-owner",
        "political-standards-owner",
        "privacy-safety-owner"
      ],
      "fallback": "keep-in-review",
      "approval": "project editorial owner after required checks"
    },
    {
      "severity": "P2",
      "acknowledgement_sla_minutes": 1440,
      "decision_target_minutes": 2880,
      "required_roles": [
        "editorial-director"
      ],
      "conditional_roles": [],
      "fallback": "normal-editorial-review",
      "approval": "project-local normal review"
    }
  ],
  "projects": [
    {
      "project_id": "edpol",
      "enforcement_mode": "policy-and-metadata-control-plane",
      "hard_enforcement": "disabled",
      "final_decision_owner": "editorial-director",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "political": "political-standards-owner",
        "standards": "standards-owner",
        "product": "project-product-owner",
        "technical": "integration-owner",
        "privacy_safety": "privacy-safety-owner"
      },
      "playbook": "/project-playbooks/edpol.json"
    },
    {
      "project_id": "total-kz",
      "enforcement_mode": "metadata-only-shadow",
      "hard_enforcement": "disabled",
      "final_decision_owner": "editorial-director",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "political": "political-standards-owner",
        "product": "project-product-owner",
        "technical": "integration-owner"
      },
      "playbook": "/project-playbooks/total-kz.json"
    },
    {
      "project_id": "qpolity",
      "enforcement_mode": "metadata-only-integration-ready",
      "hard_enforcement": "disabled",
      "final_decision_owner": "project-local editorial owner",
      "assignment_status": "named project owners and signed adapter still required",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "political": "political-standards-owner",
        "product": "project-product-owner",
        "technical": "integration-owner"
      },
      "playbook": "/project-playbooks/qpolity.json"
    },
    {
      "project_id": "qaz-monster",
      "enforcement_mode": "metadata-only-integration-ready",
      "hard_enforcement": "disabled",
      "final_decision_owner": "Qaz Monster editorial and product owners",
      "assignment_status": "named editorial, privacy-safety and integration owners still required",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "privacy_safety": "privacy-safety-owner",
        "product": "project-product-owner",
        "technical": "integration-owner"
      },
      "playbook": "/project-playbooks/qaz-monster.json"
    },
    {
      "project_id": "qazvision",
      "enforcement_mode": "metadata-only-public-citation-contract",
      "hard_enforcement": "disabled",
      "final_decision_owner": "Qaz.Vision project editorial owner",
      "assignment_status": "role-addressed; named project owners remain project-private",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "political": "political-standards-owner",
        "product": "project-product-owner",
        "technical": "integration-owner"
      },
      "playbook": "/project-playbooks/qazvision.json"
    },
    {
      "project_id": "adilet-digest",
      "enforcement_mode": "metadata-only-integration-ready",
      "hard_enforcement": "disabled",
      "final_decision_owner": "digest editor",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "political": "political-standards-owner",
        "product": "project-product-owner",
        "technical": "integration-owner"
      },
      "playbook": "/project-playbooks/adilet-digest.json"
    },
    {
      "project_id": "qalam",
      "enforcement_mode": "metadata-only-integration-ready",
      "hard_enforcement": "disabled",
      "final_decision_owner": "project or CMS editorial owner",
      "owners": {
        "editorial": "editorial-director",
        "checker": "editorial-checker",
        "legal": "legal-owner",
        "political": "political-standards-owner",
        "product": "project-product-owner",
        "technical": "integration-owner"
      },
      "playbook": "/project-playbooks/qalam.json"
    }
  ]
}
