unified development activity dev.permadeath.com

fix(publish): refuse a site that names an unlisted GitHub owner #236

Merged permadeath.com
targeting main from claude/publish-owner-check
Merged opened by and assigned to permadeath.com
targeting main from claude/publish-owner-check

A publish now checks every public file before any upload. It fails if a file links github.com/<owner> for an owner outside TALLY_GITHUB_OWNERS. It also fails if a file names <owner>/ for a configured account login or for any unlisted owner the index has seen in a report.

The deployed site still names the login in days/2026-10.json, because the redaction fix isn't deployed yet. On a copy of the live output, the check refuses that file and passes without it.

A test covers links, bare names, look-alike handles and binary files. cargo test passes except index_carries_the_headline_without_javascript, which already fails on main. Clippy passes with --features aws.

🤖 Generated with Claude Code

Commits 0