Skip to content

Make pondie's schema checks pass on main - #42

Merged
jdkent merged 4 commits into
mainfrom
pondie-schema-checks
Oct 17, 2026
Merged

jdkent merged 4 commits into
mainfrom
pondie-schema-checks

Conversation

@jdkent

@jdkent jdkent commented Oct 17, 2026

Copy link
Copy Markdown
Member

pondie's schema checks (run at pondie #21's head, with PONDIE_SCHEMA_DIR pointed at this branch) flagged three older gaps in main. This closes them.

Extraction YAMLs. Regenerated with python -m pondie.schema.generate. Quote style, wrapping and key order only, plus the extraction header now saying it is generated by pondie.schema.generate rather than gen_extraction_schema.py. tools/generate_models.py --check still passes, so the models and JSON Schemas are unaffected.

extraction-to-storage map. Five deterministic fields had no entry. All are derive (not copy: the copy contract in test_licensing is the two Study bibliographic fields only):

  • CategoryDistribution.category_normalized: from category, by pondie's sex and handedness normalizers; unset where none runs.
  • Group.age_unit_normalized: from age_unit, by pondie.normalization.age_unit.
  • CoordinateSet.id: the parse analysis's ParsedAnalysis.key.
  • CoordinateSet.table: the Table whose id is ParsedAnalysis.table_id; unset for text and figure sets.
  • CoordinateSet.text_excerpt: the paper text over ParsedAnalysis.text_spans; unset for table sets.

Priorities. 15 storage fields had no entry. Deterministic ones are n/a, as for the existing derived fields: Group.age_unit_normalized, Group.other_characteristics, CategoryDistribution.category_normalized, Analysis.mirror_of. Model-extracted ones, 0 = review first:

  • 0: Analysis.outcome (null effects are excluded from pooling, same weight as Study.result_reporting), Analysis.source_table_analysis (the exact join to the coordinates), Group.sample_source (overlap decides whether a sample is counted twice)
  • 1: Acquisition.brain_coverage, Condition.condition_kind, Condition.stimulus_content (as Task.stimulus_content), Effect.kind (redundant with cells, which is 0), Group.sample_source_reference, Group.sample_overlap_count, InferenceSettings.correction_regions (its correction_scope is 0), Task.references

Open question: the priorities for Group.sample_source*, Analysis.outcome and Effect.kind are my judgement from how the descriptions weigh them; say if a reviewer would triage them differently.

Checks (pondie #21 head 3da9c43, fresh venv): generate --check up to date; map: identity, derivations (35), vocabularies, conditional_fields ok; priorities: 365 fields match; linkml and field_provenance pass. study_schema suite: 210 passed, 1 skipped; each check failed before the change (5 map problems, 15 missing priorities, 10 files out of date).

🤖 Generated with Claude Code

jdkent and others added 4 commits October 17, 2026 13:02
- Regenerate the extraction YAMLs with pondie.schema.generate: formatting only
  (quote style, wrapping, key order), plus the header now naming the generator.
- extraction-to-storage map: add derivations for CategoryDistribution.category_normalized,
  CoordinateSet.id/.table/.text_excerpt and Group.age_unit_normalized, the five
  deterministic fields it did not say how to fill.
- storage-parameter-priorities: add the 15 storage fields with no entry.

pondie's generate --check, map, priorities, linkml and field_provenance checks pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The docs still named gen_extraction_schema.py and the check_*.py scripts, which
live in pondie as pondie.schema.generate and pondie.schema.checks.*. Drop the
link to test_map_coverage.py, which exists in neither repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
review/validate_record.py is pondie.extraction.record.validate (the Validator
and its CLI) with the cross-class rules in pondie/extraction/record/rules.py.
The tutorial's review/examples/ directory does not exist; point at the example
record in this repository.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jdkent
jdkent marked this pull request as ready for review October 17, 2026 18:07
@jdkent jdkent self-assigned this Oct 17, 2026

@jdkent jdkent left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jdkent
jdkent merged commit 49938bd into main Oct 17, 2026
4 checks passed
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