# PROPOSAL ONLY. A schema delta consumed by validate_design.py, not a standalone
# schema and not an edit to src/dismech/schema/dismech.yaml.
# No ontology equivalence is asserted between a cell state and a GO process.
classes:
  CellTypeDescriptor:
    attributes:
      cell_states:
        description: >-
          Evidence-backed state assignments applying only to the cell population
          described by this descriptor, in its local mechanism and tissue context.
          Absence means unassessed or unstated, not absence of senescence.
        range: CellStateAssertion
        multivalued: true
        inlined_as_list: true
  CellStateAssertion:
    description: >-
      A contextual assertion about a cell population, distinct from its CL identity
      and from the biological processes that induce, maintain, or follow the state.
      It is not a patient-level cell record or a universal diagnostic classifier.
    slots:
    - description
    - evidence
    slot_usage:
      description:
        required: true
        description: >-
          State-assignment basis and material limitations, including the source's
          cell population and relevant induction or observation context.
      evidence:
        required: true
        minimum_cardinality: 1
        description: >-
          Evidence for the state assignment to this cell population. Marker
          positivity alone must not be converted automatically into this assertion.
    attributes:
      state:
        range: CellStateEnum
        required: true
  # Other state values deliberately await a separate, evidence-backed pilot.
enums:
  CellStateEnum:
    permissible_values:
      SENESCENT:
        description: >-
          A cell population interpreted as senescent using contextual evidence.
          This value alone asserts neither a universal SASP, irreversible fate,
          immune exhaustion, organismal aging, nor increased population abundance.
