Skip to content

chore(schema): canonical 2.0 layout schema + drift guard#100

Open
beneaze wants to merge 1 commit into
mainfrom
chore/layout-2.0-schema-drift-guard
Open

chore(schema): canonical 2.0 layout schema + drift guard#100
beneaze wants to merge 1 commit into
mainfrom
chore/layout-2.0-schema-drift-guard

Conversation

@beneaze

@beneaze beneaze commented Jun 11, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds the shared schema/optiverse-2.0.schema.json for the canonical 2.0 project layout format (the desktop save format), plus a golden fixture and a validation test.
  • This is the desktop half of a cross-repo drift guard: the same schema + fixture are validated in optiverse-web's CI, so the desktop and web apps cannot silently diverge on the interchange format used by the new web-side project import/export.
  • tests/test_layout_schema.py validates the golden fixture against the schema and asserts FILE_FORMAT_VERSION matches the schema's pinned version.

Notes

  • Adds jsonschema as a dev dependency.
  • No runtime/app code changes — schema, fixture, and a test only.
  • Companion PR in optiverse-web: beneaze/optiverse-web#64.

Test plan

  • pytest tests/test_layout_schema.py (fixture validates; version pin matches)

Made with Cursor

Adds the shared JSON Schema for the canonical "2.0" project layout format
(schema/optiverse-2.0.schema.json) plus a golden fixture and a test that
validates the fixture and pins FILE_FORMAT_VERSION to the schema's version.

This is the desktop half of a cross-repo drift guard: the same schema +
fixture are validated in optiverse-web's CI, so the desktop app and the web
app cannot silently diverge on the interchange format used by the new
project import/export.

Co-authored-by: Cursor <cursoragent@cursor.com>
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