30 lines
1.1 KiB
Markdown
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.
|