Skip to content

Content schema: prototype and select the authored syntax #16

Description

@zoeyrose

Parent and roadmap

Outcome

Measure the current archetype/map pipeline and select constrained YAML 1.2 or JSONC using the shared lossless corpus rather than preference alone.

Scope

Superseded path / cleanup target

Remove no production parser yet. The decision must identify which implicit types, aliases/tags, duplicate keys, and ambiguous custom fields the new syntax rejects.

Acceptance criteria

  • Content tooling: establish grammar contracts and a lossless parity corpus #17's reviewed grammar, load-mode, consumer inventory, and parity corpus are used unchanged as the evaluation baseline.
  • Reproducible baseline measurements exist for startup, map entry, swapping, checking, and collection.
  • The authored syntax decision is evidence-backed and documents all safety bounds.
  • The selected syntax round-trips the shared corpus without unexplained semantic loss.

Validation baseline

Before: the current format and performance are understood through several incomplete implementations.

After: the project has one measured syntax decision and a complete runtime grammar baseline.

Run both syntax prototypes across the shared corpus, malformed fixtures, and Linux/Windows parser tests where applicable.

This issue is a bounded child of atrinik/atrinik#166. The parent remains open until every sibling child is complete.

Ownership boundary

#17 exclusively owns grammar discovery, consumer inventory, and the parity corpus. This issue begins from those outputs and owns constrained YAML-versus-JSONC prototypes, reproducible performance/safety measurements, the authored-syntax decision, and documented parser limits.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions