{
  "schema_version": "1.0.0",
  "policy_version": "1.0.0-preview",
  "updated_at": "2026-07-14",
  "principles": [
    "Compare only exact, versioned protein identities; names are not identifiers.",
    "Rank quantitative measurements only within one assay or an independently reviewed matched-protocol group.",
    "Keep Ki, Kd, IC50, EC50, Km, kcat and kcat/Km as separate endpoint types.",
    "Preserve source relation operators and raw values; a bound is not a point estimate.",
    "Keep experimental constructs, variants, tested molecular forms and conditions explicit.",
    "Display a refusal with actionable reasons whenever strict comparison requirements are not met."
  ],
  "refusal_codes": [
    {"code": "TARGET_MISMATCH", "description": "The records do not map to the same versioned protein identity.", "resolution": "Select records for one exact accession, taxon and sequence identity."},
    {"code": "TARGET_SCOPE_NOT_SINGLE_PROTEIN", "description": "At least one target is a family, complex, tissue, cell or phenotypic context.", "resolution": "Use direct SINGLE_PROTEIN target records."},
    {"code": "TAXON_MISMATCH", "description": "The source organisms differ.", "resolution": "Use records with the same NCBI Taxonomy identifier."},
    {"code": "VARIANT_OR_CONSTRUCT_MISMATCH", "description": "Variant, truncation, tag, fusion or construct state differs.", "resolution": "Match the complete experimental construct identity."},
    {"code": "CATALYTIC_STATUS_MISMATCH", "description": "Curated catalytic-status classes differ.", "resolution": "Do not place catalytic and acatalytic-related proteins on one activity ranking."},
    {"code": "PARAMETER_TYPE_MISMATCH", "description": "The endpoint types differ.", "resolution": "Compare like with like; do not convert between Ki, Kd, IC50, Km, kcat or related endpoints."},
    {"code": "CENSORED_RELATION", "description": "At least one source value is bounded or approximate.", "resolution": "Preserve the relation operator and avoid point ranking."},
    {"code": "UNSUPPORTED_UNIT", "description": "A unit is missing, unsupported or mismatched.", "resolution": "Use a supported common unit for the same endpoint."},
    {"code": "ASSAY_FORMAT_MISMATCH", "description": "Assay formats differ.", "resolution": "Use records produced with the same assay format."},
    {"code": "CONDITION_MISSING", "description": "A required identity or assay condition is absent.", "resolution": "Supply taxon, format, pH, temperature, substrate and buffer as applicable."},
    {"code": "CONDITION_MISMATCH", "description": "Reported pH, temperature, substrate or buffer differs.", "resolution": "Use a reviewed matched protocol or present without ranking."},
    {"code": "MOLECULE_FORM_AMBIGUOUS", "description": "Parent, salt or tested molecular form is unresolved or differs.", "resolution": "Resolve and match the exact tested form."},
    {"code": "STEREOCHEMISTRY_AMBIGUOUS", "description": "Full stereochemical identity is incomplete.", "resolution": "Resolve stereochemistry for both records."},
    {"code": "DUPLICATE_DEPENDENCE", "description": "Records share a duplicate or citation-derived cluster.", "resolution": "Treat them as dependent evidence or select independent measurements."},
    {"code": "REACTION_DIRECTION_MISMATCH", "description": "The represented reaction directions differ.", "resolution": "Match explicit reaction direction before quantitative comparison."},
    {"code": "PREDICTED_VS_EXPERIMENTAL", "description": "Predicted and experimental records are being treated as one evidence class.", "resolution": "View them side by side without a shared confidence ranking."},
    {"code": "PROVENANCE_INCOMPLETE", "description": "Source, release, raw value or transform provenance is incomplete.", "resolution": "Complete the provenance chain for both records."},
    {"code": "PROTOCOL_MISMATCH", "description": "Records are neither from one assay nor a reviewed matched-protocol group.", "resolution": "Use one assay ID or the same independently reviewed protocol group."}
  ]
}
