Harden Calm Filters surface before Track 3

- Add API test layer (TestClient): bad prefs -> 200, mute affects feed,
  avoid-term filters, brief filters down, counts match filtered feed.
- Render article cards via the DOM API (textContent) instead of HTML string
  interpolation, and only allow http(s) hrefs — defense-in-depth XSS guard for
  when the feed faces untrusted sources publicly.
- Refresh the stale README Next Steps to reflect what's done vs ahead.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
jay
2026-05-30 19:31:45 +00:00
parent 091dec64ae
commit cabe0b6049
4 changed files with 137 additions and 23 deletions
+1
View File
@@ -18,6 +18,7 @@ web = [
]
test = [
"pytest>=8",
"httpx>=0.27",
]
[project.scripts]