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

1.1 KiB

Tasks: enterprise-domain-normalizer

1. Scaffold

  • 1.1 universal/data/domain-normalizer/ skeleton; 100/100/100/100; guard tests; CLAUDE/README/FOLDERS.

2. Errors + schemas

  • 2.1 src/errors/*.ts — codes.
  • 2.2 Zod schemas.

3. Aliases

  • 3.1 src/core/aliases/aliases.ts — BUILT_IN_ALIASES (curated list: m./mobile./amp./lite./www. → canonical), cache + reset.

4. Normaliser

  • 4.1 src/core/normalizer/normalizer.ts — normalizeDomain, normalizeUrl, getRegistrableDomain (via tldts), getSubdomain, getDomainGroup.
  • 4.2 Idempotency property tests.

5. Matcher

  • 5.1 src/core/matcher/matcher.ts — matchDomains, computeSimilarity, findMatchingDomains, groupDomains, levenshteinDistance.
  • 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

  • 8.1 normalize.bench.ts, matcher.bench.ts on 10 k domain fixture.

9. Ship gate

  • 9.1 Verification sequence; fold spec + archive.