Cut 13.0.0 and bump the package version in pyproject.toml, uv.lock, and
CITATION.cff.
Major: three breaking changes since 12.1.0. The inlined supporting study now
carries current Biolink Study metadata with disjoint ids and names and no `#`
composition; biolink-model 4.4.4 types the statistical edge slots, so
`effect_size` ships as a real JSON number and `statistical_significance_qualifier`
rides the edge as a bare enum token (both 99099a1); and an unpaired
`effect_size`/`effect_type` half is now DROPPED with an
`UnpairedEffectAnnotationWarning` instead of failing the section, retiring the
`annotation-effect-size-without-type` / `annotation-effect-type-without-size`
codes (#105). Also ships the two final-graph QC assertion sets (#106, #107), the
resolve_batch single-materialization win (#110), and the agent's task
pre-rendering, planning-off, improve-round cap, and build memoization (#113).
The legacy TableConfigs importer (#105) is deliberately absent from the
changelog: it landed and was removed (58787f4) inside this window, so it never
appeared in a released version and is a net no-op for users.
main was red at 7140c37; fixed here so the release is cuttable. Both failures
are #112 fixtures/expectations written against biolink-model 4.4.3 and merged
after the 4.4.4 bump landed:
- The vendored DAKP configs listed `AffinityMeasurement` in `avoid:`, a class
4.4.4 renamed to `ProteinLigandAssayResult`. DAKP generates `avoid` as the
sorted complement of each side's prioritize tuple, so the old name is a 4.4.3
generation artifact rather than an intentional deviation; rewritten in place
and recorded in the fixture README.
- test_copysign_transformation_in_pipeline asserted `effect_size == "-0.85"`,
the pre-4.4.4 `{:.4g}` string form. It is a real JSON number now.
Deliberate Biolink departures are untouched: p-value columns keep their
controlled scientific notation despite the model typing them `float`, and
`approval_ids` remains a curated pending pass-through.
docs/cli.md's validate-kgx section still printed `biolink-model 4.4.3` and
claimed `effect_size`/`effect_type` were pending; rewritten around the fields
that are actually pending today (`approval_ids` plus the KGX denormalized
carryovers), noting the pair graduated when 4.4.4 shipped #1774.
Testing:
- uv run pytest -q -> 1047 passed, 15 skipped (94% coverage)
- uv run ruff check . && uv run ruff format --check . && uv run pyright -> clean / 0 errors
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HZQ8rLfhvtyErcq9S4Ao6b