Shipping the URL change — one regex, not 49 redirects
Inbound links survive. SEO juice carries over.
A single regex in d21_handlers_fallback.ts rewrites every old URL to the new shape with a 301. No hand-maintained map.
INBOUND · cached externally
GET /GIT/syntaxai/tdd.md/
blob/main/src/
b32_sama_v2_verify.ts
FALLBACK HANDLER · one regex
/^\/GIT\/syntaxai\/tdd\.md\/
(.+)$/
→ rewrite /GIT/tdd.md/$1, 301
301 · Location header
/GIT/tdd.md/blob/main/
src/
b32_sama_v2_verify.ts
$ curl -I https://tdd.md/GIT/syntaxai/tdd.md/blob/main/src/b32_sama_v2_verify.ts
HTTP/2 301
location: /GIT/tdd.md/blob/main/src/b32_sama_v2_verify.ts
cache-control: public, max-age=86400
$ curl -L https://tdd.md/GIT/syntaxai/tdd.md/blob/main/src/b32_sama_v2_verify.ts
HTTP/2 200
Why one regex, not 49 entries
A hand-maintained URL map would need updating every time a new file is added (49 grows to 50, 60, 80…).
The regex matches the path PATTERN, so any future URL — even ones that don't exist yet — automatically redirects.
Cost: 1 commit. Lifetime maintenance: 0. The anti-fudge clause in /goal forbids the hand-maintained alternative.
https://tdd.md