45 lines
1.6 KiB
Markdown
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.
|