Commit 94aedf3
fix: mark InSituVariable and MeasuredVariable as abstract (#19)
* mark InSituVariable and MeasuredVariable as abstract
These are intermediate hierarchy classes, not meant to be instantiated
directly. Marking them abstract removes them from the JSON Schema anyOf
discriminator, preventing Claude and other tools from using them as
schema_class values when generating metadata.
Fixes submarine-mrv/oae-data-commons#92
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* improve variable class and enum descriptions for LLM clarity
Class descriptions now explain when to use each concrete variable class
with examples and the expected variable_type/genesis/sampling values.
VariableType enum descriptions now reference which schema classes to use.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* clarify that QC flag columns belong on the parent variable, not as separate NonMeasuredVariables
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* update descriptions
* update non_measured pv description
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent e317861 commit 94aedf3
5 files changed
Lines changed: 558 additions & 981 deletions
File tree
- project
- jsonschema
- typescript
- src/oae_data_protocol
- datamodel
- schema
0 commit comments