Skip to content

feat!: fold validate-infores into validate-kgx - #218

Merged
SkyeAv merged 1 commit into
mainfrom
merge-validate-infores
Oct 15, 2026
Merged

SkyeAv merged 1 commit into
mainfrom
merge-validate-infores

Conversation

@SkyeAv

@SkyeAv SkyeAv commented Oct 15, 2026 •

Copy link
Copy Markdown
Owner

tablassert validate-kgx now also validates knowledge-source identity: every emitted infores: CURIE is classified against the Translator registry in the same run that checks Biolink structure, and the separate validate-infores command is gone.

Merged command

  • Flag surface: validate_kgx_command (src/tablassert/cli.py) gains --rig, repeatable --allow-infores, --registry snapshot|refresh|off, and --strict; --nodes/--edges/--limit are shared with the structural half.
  • Postures preserved: the structural half keeps its strict exit code; the identity half keeps the advisory-by-default contract (warnings, exit 0) with --strict as the CI gate and --allow-infores for locally minted CURIEs. --registry off skips identity entirely, reproducing the old structure-only validate-kgx behavior in output and exit code.
  • Prune interplay: under --prune, the identity half classifies the PRUNED edges file, so the verdict describes the artifact that ships.
  • Migration: tablassert validate-infores ... becomes tablassert validate-kgx ... with the same flags; scripts invoking the old command name must switch.

Docs

  • docs/cli.md: six -> five subcommands, and the old validate-infores section becomes the "Checking knowledge-source identity" subsection of validate-kgx with the new flag rows and the prune note.
  • llms.txt: command list updated to the five surviving commands.

Testing

  • New tests/test_cli_validate_kgx.py (18 tests): pins the merged contract: advisory default, strict gate, allowlist, --registry off skipping identity, refresh fetch + cache + garbage/empty-body rejection, missing inputs, RIG scan, prune classifying the pruned file, and help rendering every flag.
  • make check: ruff, ruff format --check, uv run pyright (0 errors), uv run pytest (1213 passed, 1 skipped, the pre-existing corpus-gated skip), cargo test, and cargo clippy --all-targets -- -D warnings all pass.
  • uv run mkdocs build --strict: pass.

@coderabbitai

coderabbitai Bot commented Oct 15, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: e5934956-4f1d-4d0a-8626-074600366187
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SkyeAv
SkyeAv merged commit ffba320 into main Oct 15, 2026
5 checks passed
SkyeAv added a commit that referenced this pull request Oct 15, 2026
Cut 21.0.0 and bump the package version in pyproject.toml, CITATION.cff,
and uv.lock.

Major: two breaking changes ship since 20.0.0. Derived-path builds emit
section source record URLs on the upstream repository supporting sources
entry (infores:pubmed-central for PMC sections) instead of the primary
graph-infores entry, and the inlined supporting Study is named after the
table config file plus its 1-based section index (#220); validate-infores
is folded into validate-kgx as the knowledge-source identity half, and
the standalone validate-infores command is gone (#218). Also adds no_map
on NodeEncoding to pass subject/object CURIEs through verbatim (#219) and
normalizes documentation prose to plain ASCII (#217).

Changelog:
- Versioned the Unreleased section as 21.0.0 - 2026-10-15.
- Added the missing #218 (breaking, with migration note), #219, and #217
  entries so no merged PR ships unmentioned.

Docs: none needed here; the release commit only versions existing prose.

Testing:
- make check -> ruff clean, pyright 0 errors, pytest 1239 passed + 1
  skipped, cargo test ok, cargo clippy --all-targets -- -D warnings clean
- uv run mkdocs build --strict -> pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant