The new JSON-based importer (apps/api/scripts/import-laddr.ts) drops about
72% of laddr's project-buzz records (81 of 113 on the 2026-05-18 snapshot)
because their URLs are http:// and the v1 ProjectBuzz.url schema
requires https://.
These are mostly 2016–2018-era press links that haven't been republished
under HTTPS. The links are still publicly served on codeforphilly.org as
plain http://.
Options to evaluate:
- Schema relaxation — change
ProjectBuzz.url to z.string().url()
without the .startsWith('https://') and let the link work as-is. The
spec at specs/data-model.md#projectbuzz would need a corresponding
amendment.
- Importer upgrade — silently rewrite
http:// → https:// in the
importer with a warning. Some destination hosts may now redirect or
HSTS-upgrade; others may 404. Verifying each link is out of scope.
- Drop — accept the loss. The skipped buzz items are old and the
originating publication may already be defunct.
For now the importer logs [project-buzz] legacyId=<n> missing/invalid URL; skipped for each skip, so the loss is visible in dry-run reports.
Surfaced during the laddr-import-via-json plan (PR #N — TBD).
The new JSON-based importer (
apps/api/scripts/import-laddr.ts) drops about72% of laddr's project-buzz records (81 of 113 on the 2026-05-18 snapshot)
because their URLs are
http://and the v1ProjectBuzz.urlschemarequires
https://.These are mostly 2016–2018-era press links that haven't been republished
under HTTPS. The links are still publicly served on
codeforphilly.orgasplain
http://.Options to evaluate:
ProjectBuzz.urltoz.string().url()without the
.startsWith('https://')and let the link work as-is. Thespec at
specs/data-model.md#projectbuzzwould need a correspondingamendment.
http://→https://in theimporter with a warning. Some destination hosts may now redirect or
HSTS-upgrade; others may 404. Verifying each link is out of scope.
originating publication may already be defunct.
For now the importer logs
[project-buzz] legacyId=<n> missing/invalid URL; skippedfor each skip, so the loss is visible in dry-run reports.Surfaced during the
laddr-import-via-jsonplan (PR #N — TBD).