Skip to content

v0.38.0

Choose a tag to compare

@astrapi69 astrapi69 released this 10 Oct 13:54
· 17 commits to main since this release
41baced

Each set field has one owner: the root manifest's entry owns title,
description, visibility and review_status, the set manifest the lesson
list, every other field lives in both and must be identical (engine#246).
resolveSetEntry projects accordingly, and validateManifestPair now reports
a disagreement as an error. Measured over the eleven content repositories: 0
findings, so none turns red on the re-pin. No schema change.

Each set field has one owner, and a disagreement is an error (engine#246)

A set is described twice, in the root manifest and in its own. The root entry
now owns title, description, visibility and review_status
(ROOT_OWNED_SET_FIELDS), the set manifest owns the lesson list, and every
other field lives in both and must be identical.

  • resolveSetEntry(rootEntry, setEntry) returns the one ParsedSet to
    project: the root-owned fields from the root, the rest from the set
    manifest, a silent field from the other file. inheritFromRootEntry stays
    for compatibility; prefer the new function.
  • validateManifestPair reports E-MANIFEST-ENTRY-MISMATCH, an error,
    where 0.37.0 warned with W-MANIFEST-ENTRY-MISMATCH. Same params, same
    path. A repository whose two entries disagree turns red on this release.

Why the tier rose now: the content repositories removed description from
their set manifests and fixed the other drift first. Measured on 2026-10-10
over the hub, the template and the nine fleet repositories (54 sets): 0
findings, against 46 with 0.37.0 the day before.