The container-format companion (every SCHEMATIC.md.schema copy today, schemas/spec-1/SCHEMATIC.md.schema after #18) marks spec, created, and updated as REQUIRED and restricts status to draft | stable | superseded. The catalog does not follow it, and build-schematic's schema check would report deviations for most of the catalog.
Frontmatter
| Problem |
Count |
Packages |
missing spec, created, updated |
13 of 18 |
fetch-books-over-vpn, fetch-movies-over-usenet, fetch-music-over-usenet, fetch-over-usenet, fetch-series-over-usenet, improve-docker-security, restrict-docker-api-access, run-a-book-library, run-a-movies-and-series-library, run-a-music-library, serve-books-using-containers, serve-movies-and-series, update-images-on-push |
status: published (not in the enum) |
14 of 18 |
all of the above plus expose-container-services-privately |
Only 1 package is stable, 3 are draft. Either published is a real status and the schema, the template, and the README skeleton should say so, or those 14 are stable and should say that.
Description parity
marketplace.json.schema says plugins[].description is "from SCHEMATIC.md description: frontmatter". 8 of 18 entries differ from the frontmatter: encrypt-container-secrets, restrict-docker-api-access, update-images-on-push, run-a-book-library, improve-docker-security, run-a-movies-and-series-library, run-a-music-library, fetch-over-usenet. Some are rewordings, some drop content. One of the two should be generated from the other, or the validator should compare them.
Related
- A composition (
improve-docker-security, published, featured) depends on a draft (authorize-docker-requests). Nothing states whether a published composition may pin a draft.
- The Decisions section of
authorize-docker-requests still cites /workspace/containers/ and "the containers/claude/ repository" (an absolute host path and a see-the-original-repo reference, against principles 2 and 3).
Proposed
- Decide the
status vocabulary; update schema, template, and the 14 packages in one change.
- Backfill
spec: 1, created, updated (git history gives updated; created needs the author).
- Add the frontmatter and description-parity checks to
validate-catalog.sh once the content is fixed (adding them first would turn CI red on main).
The container-format companion (every
SCHEMATIC.md.schemacopy today,schemas/spec-1/SCHEMATIC.md.schemaafter #18) marksspec,created, andupdatedas REQUIRED and restrictsstatustodraft | stable | superseded. The catalog does not follow it, andbuild-schematic's schema check would report deviations for most of the catalog.Frontmatter
spec,created,updatedstatus: published(not in the enum)Only 1 package is
stable, 3 aredraft. Eitherpublishedis a real status and the schema, the template, and the README skeleton should say so, or those 14 arestableand should say that.Description parity
marketplace.json.schemasaysplugins[].descriptionis "from SCHEMATIC.mddescription:frontmatter". 8 of 18 entries differ from the frontmatter: encrypt-container-secrets, restrict-docker-api-access, update-images-on-push, run-a-book-library, improve-docker-security, run-a-movies-and-series-library, run-a-music-library, fetch-over-usenet. Some are rewordings, some drop content. One of the two should be generated from the other, or the validator should compare them.Related
improve-docker-security,published, featured) depends on adraft(authorize-docker-requests). Nothing states whether a published composition may pin a draft.authorize-docker-requestsstill cites/workspace/containers/and "thecontainers/claude/repository" (an absolute host path and a see-the-original-repo reference, against principles 2 and 3).Proposed
statusvocabulary; update schema, template, and the 14 packages in one change.spec: 1,created,updated(git history givesupdated;createdneeds the author).validate-catalog.shonce the content is fixed (adding them first would turn CI red onmain).