Migrated from the vault DEVFU register by the DD-422 sweep (frozen-index entry [208], DEVFU-2026-05-21-catalog-schema-tighten-back-up).
Context (register entry, verbatim)
DEVFU-2026-05-21-catalog-schema-tighten-back-up — A.1 subagent relaxed schemas/catalog-entry.schema.json clauses to match observed reality (pre-existing entries diverged from aspirational schema; AJV had never enforced). Schema now permissive in places it shouldn't long-term. Sweep divergent fields (type missing, services as object vs array, tier: null, repository: null, author_type: "stallari"/"third-party", contract: null, hyphenated service names) — for each: fix the entry OR codify actual contract; re-tighten schema. Interleave with Phase A.3 declaration PRs already touching each blade's catalog entry (+15-20 min per PR). Full file at [[DEVFU-2026-05-21-catalog-schema-tighten-back-up]]. Related: [[DD-333]] A.1 ship.
Acceptance criteria
- Each divergent field class (
type missing, services object-vs-array, tier: null, repository: null, author_type: "stallari"/"third-party", contract: null, hyphenated service names) resolved: entry fixed OR the actual contract codified in the schema
schemas/catalog-entry.schema.json re-tightened accordingly; AJV validation passes over all existing entries
- Anchors [[DD-333]] A.1 ship (relaxations were a stopgap to match observed reality)
Blocked by
None - can start immediately
Migrated from the vault DEVFU register by the DD-422 sweep (frozen-index entry [208], DEVFU-2026-05-21-catalog-schema-tighten-back-up).
Context (register entry, verbatim)
DEVFU-2026-05-21-catalog-schema-tighten-back-up — A.1 subagent relaxed
schemas/catalog-entry.schema.jsonclauses to match observed reality (pre-existing entries diverged from aspirational schema; AJV had never enforced). Schema now permissive in places it shouldn't long-term. Sweep divergent fields (typemissing,servicesas object vs array,tier: null,repository: null,author_type: "stallari"/"third-party",contract: null, hyphenated service names) — for each: fix the entry OR codify actual contract; re-tighten schema. Interleave with Phase A.3 declaration PRs already touching each blade's catalog entry (+15-20 min per PR). Full file at [[DEVFU-2026-05-21-catalog-schema-tighten-back-up]]. Related: [[DD-333]] A.1 ship.Acceptance criteria
typemissing,servicesobject-vs-array,tier: null,repository: null,author_type: "stallari"/"third-party",contract: null, hyphenated service names) resolved: entry fixed OR the actual contract codified in the schemaschemas/catalog-entry.schema.jsonre-tightened accordingly; AJV validation passes over all existing entriesBlocked by
None - can start immediately