Skip to content

Biolink predicate-vocabulary drift monitor (human-PR only) #69

Description

@Sanjan-Prabu

Context. Our 67-predicate vocabulary silently ages out of the evolving Biolink model (the drift audit found ~51% of legacy edges use predicates Biolink has since folded into qualifiers). We need automated detection that routes any change to a human, never auto-applied.

Built (dormant). scripts/check_biolink_drift.py (read-only monitor) + .github/workflows/biolink-drift.yml (workflow_dispatch only; monthly schedule commented) + docs/biolink_drift_monitor.md.

Guarantees (enforced in code, not just documented):

  • Read-only w.r.t. committed files — verified schema + polarity md5 unchanged across runs; a hard guard refuses --emit-enum onto the committed schema (exit 2).
  • Any schema/enum change is delivered as a draft PR on explicit opt-in (open_draft_pr=true); default off; never auto-committed or auto-merged.
  • Polarity signs are never auto-assigned — new/removed predicates are only flagged for a human decision.

Status: built + dormant. Enable the schedule + confirm Actions token scope when ready to go live.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions