Skip to content

Add YAML schema adapter#45

Merged
eviltester merged 1 commit into
masterfrom
codex/42-yaml-er-schema-adapter
Jul 15, 2026
Merged

Add YAML schema adapter#45
eviltester merged 1 commit into
masterfrom
codex/42-yaml-er-schema-adapter

Conversation

@eviltester

Copy link
Copy Markdown
Owner

Summary

Adds a V1 YAML ER schema adapter for Thingifier and a neutral schema definition layer that can be reused by other text/model adapters later.

What Changed

  • Added a new thingifier-yaml Maven module with SnakeYAML scoped to the adapter module.
  • Added YAML-agnostic schema definition specs in thingifier for entities, fields, validations, relationships, cardinality, optionality, and validation reporting.
  • Added ThingifierModelAssembler to validate neutral specs and build a normal Thingifier through the existing Java model API.
  • Added ThingifierModelExporter to export Java-built runtime schemas back to canonical neutral schema definitions.
  • Added ThingifierYamlLoader and ThingifierYamlExporter public adapter APIs.
  • Added YAML resource fixtures for valid and invalid ER models.
  • Added static guardrails to keep SnakeYAML/YAML DTOs out of thingifier and ercoremodel.
  • Added read-only core metadata getters needed for schema export without changing validation behavior.

Validation

  • mvn -pl thingifier-yaml -am test
  • mvn -pl thingifier-yaml -am -DskipTests checkstyle:check@project-fqn-check
  • mvn spotless:check
  • mvn -pl ercoremodel,thingifier,thingifier-yaml -am pmd:check checkstyle:check
  • mvn -pl thingifier,thingifier-yaml,challenger -am verify
  • JaCoCo for thingifier-yaml: 96.89% line coverage, 96.42% instruction coverage, 86.90% branch coverage

Closes #42

Copilot AI review requested due to automatic review settings July 15, 2026 09:33

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@eviltester eviltester merged commit b63270f into master Jul 15, 2026
3 checks passed
@eviltester eviltester deleted the codex/42-yaml-er-schema-adapter branch July 15, 2026 09:33
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.

Add a text representation of ER Schema Model

2 participants