Cut 15.1.0 and bump the package version in pyproject.toml, uv.lock, and
CITATION.cff.
Minor: one feature and one fix since 15.0.0, no breaking changes. A
class-scoped policy override (CLASS_FIELD_OVERRIDES) grants
disease_context_qualifier to the EntityToDisease /
EntityToPhenotypicFeature edge classes DAKP pins via category_override,
so prune_to_class keeps the qualifier instead of nulling and rescuing
it, with a tripwire test that fails the suite once an upstream Biolink
widening makes the grant stale (#120). Also fixes number_of_cases being
matched by STUDY_SIZE_PREFIX_PATTERN and coerced into study_size,
destroying the edge field; a new STUDY_SIZE_EXEMPT_PATTERN leaves the
exact Biolink slot alone (#119).
Changelog:
- Versioned the Unreleased section as 15.1.0, gave the #120 entry its
PR link, and added a Fixed entry for the number_of_cases coercion fix.
Docs: none needed here. #120 shipped with no docs changes and #119 is a
coercion fix with no user-facing surface.
Testing:
- uv run pytest -q -> 1092 passed, 15 skipped (94% coverage)
- uv run ruff check . && uv run ruff format --check . && uv run pyright -> clean / 0 errors
- uv lock --check -> up to date
- uv run mkdocs build --strict -> clean