Files
suaveplan/openspec/archive/2026-04-19-enterprise-schema-registry/tasks.md
2026-05-27 23:29:53 +01:00

45 lines
1.6 KiB
Markdown

# Tasks: enterprise-schema-registry
## 1. Scaffold
- [x] 1.1 `universal/validation/schema-registry/`; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.
## 2. Errors + schemas
- [x] 2.1 `src/error-codes.ts` — `defineCodes` for `SCHEMA_REGISTRY.*`, metadata export, side-effect auto-register.
- [x] 2.2 Zod schemas for `SchemaDefinition`, `SchemaField`, `SubjectConfig`, `SchemaVersion`, `CompatibilityResult`.
## 3. Utils + constants
- [x] 3.1 `src/constants/index.ts` — `DEFAULT_COMPATIBILITY`, `DEFAULT_MAX_VERSIONS`.
- [x] 3.2 `src/utils/utils.ts` — `canonicalizeSchema`, `computeFingerprint`, `djb2Hash`, `flattenFields`, `isOptionalOrHasDefault`.
## 4. Diff
- [x] 4.1 `src/diff/schema-differ.ts` — `diffSchemas`, `formatDiffReport`.
## 5. Compatibility
- [x] 5.1 `src/compatibility/compatibility.ts` — `checkCompatibility`, `checkTransitiveCompatibility`.
- [x] 5.2 `src/compatibility/transitive-checker.ts` — `buildTransitiveReport`, `checkTransitiveAgainstAll`, `isTransitiveMode`, `stripTransitive`.
## 6. Versioning + stores
- [x] 6.1 `src/core/versioning/versioning.ts` — `createSchemaVersion`, `MemorySchemaStore`, `resolveCompatibility`.
- [x] 6.2 `src/store/database-store.ts` — `DatabaseSchemaStore` + `DatabaseAdapter` contract.
## 7. Registry
- [x] 7.1 `src/core/registry/registry.ts` — `SchemaRegistry`, `createSchemaRegistry`, `SchemaCompatibilityError`, `createSchemaIncompatibleError`.
- [x] 7.2 OTel instrumentation.
## 8. Docs / barrel / subpath exports / README
## 9. Benchmarks
- [x] 9.1 Register / compatibility / diff on 1 000-version history.
## 10. Ship gate
- [x] 10.1 Verification sequence; fold + archive.