Files
2026-05-27 23:29:53 +01:00

30 lines
1.1 KiB
Markdown

# Tasks: enterprise-domain-normalizer
## 1. Scaffold
- [x] 1.1 `universal/data/domain-normalizer/` skeleton; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.
## 2. Errors + schemas
- [x] 2.1 `src/errors/*.ts` — codes.
- [x] 2.2 Zod schemas.
## 3. Aliases
- [x] 3.1 `src/core/aliases/aliases.ts` — `BUILT_IN_ALIASES` (curated list: m./mobile./amp./lite./www. → canonical), cache + reset.
## 4. Normaliser
- [x] 4.1 `src/core/normalizer/normalizer.ts` — `normalizeDomain`, `normalizeUrl`, `getRegistrableDomain` (via `tldts`), `getSubdomain`, `getDomainGroup`.
- [x] 4.2 Idempotency property tests.
## 5. Matcher
- [x] 5.1 `src/core/matcher/matcher.ts` — `matchDomains`, `computeSimilarity`, `findMatchingDomains`, `groupDomains`, `levenshteinDistance`.
- [x] 5.2 Property test: `levenshteinDistance(a,a) === 0`; triangle inequality.
## 6. Co-located `.md` + unit tests per module
## 7. Barrel / subpath exports / README
## 8. Benchmarks
- [x] 8.1 `normalize.bench.ts`, `matcher.bench.ts` on 10 k domain fixture.
## 9. Ship gate
- [x] 9.1 Verification sequence; fold spec + archive.