Skip to content

feat(schemas): export tooling contract artifacts - #1590

Merged
lmeyerov merged 2 commits into
masterfrom
issue-1326-schema-artifacts
May 20, 2026
Merged

lmeyerov merged 2 commits into
masterfrom
issue-1326-schema-artifacts

Conversation

@lmeyerov

@lmeyerov lmeyerov commented May 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Add committed structural JSON Schema artifacts for encodings, React settings, and URL params.
  • Add a stdlib graphistry.devschemas.export generator/checker and schema drift test coverage.
  • Add a CI schema-artifacts drift guard plus a short API docs note.

Closes #1326

Artifacts

  • schemas/encodings.schema.json
  • schemas/react-settings.schema.json
  • schemas/url-params.schema.json

Scope notes

  • No hard pydantic/runtime dependency was added.
  • JSON Schema artifacts are structural contracts. Existing PyGraphistry validators remain canonical for semantic validation.
  • MANIFEST.in includes schemas/*.schema.json so source distributions carry the committed artifacts.

LOC buckets

  • Production/tooling: +237 / -0, net +237 LOC
  • Tests: +71 / -0, net +71 LOC
  • Schema artifacts: +655 / -0, net +655 LOC
  • CI/packaging: +20 / -0, net +20 LOC
  • Docs/changelog: +19 / -0, net +19 LOC

Compiler-plan surface touched

No. This is schema artifact generation and public tooling metadata only; no GFQL compiler-plan semantics, route names, execution dispatch, diagnostics, schema/type-system runtime hooks, IR metadata, remote schema hooks, or compatibility executors were changed.

Validation

  • python3 -m graphistry.devschemas.export --check -> passed
  • python3 -m pytest -q graphistry/tests/test_schema_artifacts.py graphistry/tests/test_viz_settings.py graphistry/tests/test_validate_settings.py -> 28 passed
  • python3 -m coverage run --data-file=/tmp/schema-artifacts.coverage -m pytest -q graphistry/tests/test_schema_artifacts.py && python3 bin/changed_line_coverage.py --data-file /tmp/schema-artifacts.coverage --base-ref origin/master --head-ref HEAD --min-percent 80 --output-dir /tmp/schema-artifacts-changed-coverage -> passed, 57/57 changed executable lines covered
  • ./bin/ruff.sh graphistry/devschemas graphistry/tests/test_schema_artifacts.py -> passed
  • ./bin/typecheck.sh graphistry/devschemas graphistry/tests/test_schema_artifacts.py -> passed
  • git diff --check -> passed
  • Review skill converged: wave 1 fixed sdist MANIFEST coverage; waves 2 and 3 no findings
  • DGX/cuDF: skipped; no runtime, DataFrame, cuDF, or GPU path touched

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.

Schema artifacts for LLM/tooling contracts (encodings, react settings, url params) via optional dev-only models

1 participant