Stale threshold corrected, KV data updated, citizen.org added to trusted domains. Root cause of brief hallucination found and fixed โ replaced example node slug with full 80-slug allowlist.
Six discrete items shipped, all deployed.
Super-pacs stale threshold changed from 48 to 72 hours. Warning message updated and stale banner font-size bumped from 11px to 12px. Worker deployed and verified via curl.
Journal masthead subtitle updated: "founder, sunshinefm & ai coachella valley (aicv)" changed to "proof of work" in journal/index.html.
KV data updated via Python + --remote: Public First Action claimed amount revised to $75M fundraising target (self-reported). Axios April 25 news mention appended โ $300M aggregate AI PAC midterm spend. KV log now at 10 entries.
citizen.org appended to TRUSTED_DOMAINS in workers/super-pacs/index.js. Trusted source count: 24 โ 25.
Root cause found: getSystemPrompt() in capture-draft included one example node slug (palm-desert-innovation) that doesn't exist in the canonical list โ model was generating tags from inference. Canonical list: 80 nodes in ~/Projects/com/src/content/nodes/, compiled to ~/Projects/com/public/nodes.json.
Fix shipped: replaced the Related Nodes instruction with a full 80-slug allowlist and explicit constraint โ only these slugs are valid, do not invent, return empty if nothing fits. Removed hallucinated example. Added NODE LIST MAINTENANCE comment block documenting sync source, last-sync date (April 27, 80 nodes), and long-term fix path.