4 Commits
Author SHA1 Message Date
s0lrayandPaperclip b96e7a2343 Restrict link-check to weekly schedule only, move to Saturday (THE-95)
- Remove push-to-master trigger from link-check job; it now runs only on
  the weekly cron schedule to avoid hammering external sites on every push
- Change schedule from Sunday 02:00 UTC to Saturday 08:00 UTC as requested

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 15:39:02 -04:00
s0lrayandPaperclip 94745b27df fix(ci): remove --exclude-mail flag removed in lychee v0.23.0
lychee v0.23.0 dropped --exclude-mail; mail links are now excluded by
default. Keeping the flag causes exit code 2 and breaks every CI run.

Fixes THE-85.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-25 00:37:25 -04:00
s0lrayandPaperclip 82a9c32850 Migrate D3 v3 to v7: update arf.js, index.html, and CI
- Replace d3.layout.tree() with d3.tree()
- Replace d3.svg.diagonal() with d3.linkHorizontal() (x/y accessors swap coords)
- Replace d3.json(url, cb) with d3.json(url).then(cb)
- Replace d3.hierarchy() for root node; use .descendants() and .links()
- Strip svg: namespace prefixes from append/insert calls
- Update xlink:href to href on anchor elements
- Update data accessors to use d.data.name, d.data.url, etc.
- Fix .style("fill") call (was malformed in v3 code)
- Update event handler signature to (event, d) for D3 v7
- Use node.merge(nodeEnter) and link.merge(linkEnter) for v5+ update pattern
- Add public/js/d3.min.js (v7.9.0) copied from node_modules
- Update index.html to load d3.min.js instead of d3.v3.min.js
- Update CI smoke test to check for d3.min.js
- Keep d3.v3.min.js in place until visual parity confirmed

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-23 17:28:56 -04:00
s0lrayandPaperclip a5d6622ed9 Add CI workflow for JSON linting, link checking, and smoke tests
- JSON lint: validates arf.json is well-formed on every PR/push
- Smoke test: verifies index.html local asset references exist
- Link check: weekly scheduled + master push lychee scan of all 1147 URLs in arf.json

Co-Authored-By: Paperclip <noreply@paperclip.ing>
2026-03-21 18:22:18 -04:00