refactor: add extensible schema type system with union pattern and schemaType lexicon
Refactored sampleSchema to support multiple schema formats:
Schema Field Changes:
- Renamed 'jsonSchema' → 'schema' (now union type, closed: false)
- Extracted JSON Schema to separate #jsonSchemaFormat def
- Added $type discriminator to jsonSchemaFormat
- Moved ndarrayShimUri into jsonSchemaFormat (format-specific)
SchemaType Registry:
- Created ac.foundation.dataset.schemaType lexicon
- Token-based registry with knownValues pattern
- schemaType field now refs to schemaType lexicon (was enum)
- Enables adding new schema formats without breaking changes
Documentation:
- Added README_SCHEMA_TYPES.md explaining registry pattern
- Documents how to add new schema formats (Avro, Protobuf, etc.)
Updated examples to reflect new structure with discriminator.
This follows ATProto union patterns for extensible type systems.
Closes #71
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This is a binary file and will not be displayed.