libLogit

Beta Schema Version Strategy

This page defines how libLogit should move from the current Alpha v0.2 config schema to a Beta-frozen schema story.

Current State

The repo currently ships:

That is enough to support Alpha and ongoing Beta work, but it does not yet settle the final question:

should Beta freeze the existing v2 shape as-is, or introduce a more explicit Beta-labeled successor?

Decision Goals

The Beta schema version strategy should optimize for:

  1. a stable public config contract
  2. a sane migration path from v0.1 and current Alpha v0.2 usage
  3. a clear canonical field vocabulary
  4. enough flexibility to keep compatibility aliases during transition without letting them dominate the long-term product

The current best direction is:

Keep v0.1 versioned for compatibility

Treat the current v0.2 schema as the working Beta baseline

Publish an explicit Beta successor only if the freeze requires breaking cleanup

If Beta freeze work reveals that the final supported schema must materially change, use one of these approaches:

  1. schema/logit.beta.schema.json
  2. schema/logit.v3.schema.json

The repo should not introduce a new schema file only for aesthetics. A new schema version should earn its existence by representing a real contract change.

Canonical Vocabulary To Freeze

Regardless of the final filename, Beta should increasingly teach:

These should be treated as compatibility or migration names rather than the main public vocabulary:

Compatibility Rules During The Freeze

Until the final Beta schema is declared:

Decision Triggers For A New Schema Version

Create a new Beta schema file only if one or more of these become true:

  1. canonical names must become exclusive for supported-Beta configs
  2. advanced fields must be reclassified in a way that changes validation
  3. migration aliases need to move from accepted fields to compatibility-only translation logic
  4. the registry/defaults layout itself changes

If none of those happen, the better move is likely to keep improving and documenting logit.v2.schema.json rather than minting a new file.

Beta Freeze Deliverables

The schema freeze is not complete until all of these are true: