disclosure-bureau/web/app
Luiz Gustavo 4fb3e12e15
Some checks failed
CI / Web — typecheck + lint + build (push) Failing after 35s
CI / Scripts — Python smoke (push) Failing after 6s
CI / Web — npm audit (push) Failing after 39s
CI / Retrieval — golden set (Recall@5 + MRR) (push) Failing after 6s
ux(bureau): search + agency/decade filters + sort, URL-synced
The audit flagged /bureau as the hardest page to navigate: 80+ case cards
in a flat grid with no way to narrow them down. Now the reader gets a
filterable browser.

- New lib/cases.ts (server) — shared loader for the case library; pulls
  cases off disk, derives the originating agency from the slug prefix
  (DoW, FBI, NASA, CIA, DoE, ODNI, DoD, Other) and the incident year via
  a tight 19xx/20xx regex that requires non-digit boundaries so embedded
  ID numbers don't get mistaken for years (e.g. doc-2070-... no longer
  pretends to be a 2070 incident).
- New CaseLibraryBrowser (client) — search input (matches title + opening
  in either language), agency chips with live counts, decade chips, sort
  dropdown (Most recent / Year ↑ / Year ↓ / A–Z), result count, and a
  clear-filters affordance. All four state pieces sync to the URL so a
  filtered view is bookmarkable.
- /bureau page rewritten: magazine hero ("89 declassified cases,
  narrated.") + dynamic case count + lead, then the browser.
- Cards in the browser carry an eyebrow ("YEAR · AGENCY") so the reader
  sees provenance at a glance.
- CaseLibrary (homepage) refactored to consume the shared loader; behaviour
  on / unchanged.

Verified live: agency=FBI filter narrows to 23 cases; sort=year-desc places
modern cases first; chip counts reflect filtered population.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 01:21:39 -03:00
..
admin baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
api W4: bilingual EN + PT-BR Investigation Bureau (CLAUDE.md §3 contract) 2026-05-24 12:02:59 -03:00
auth ship: synthesize 158 entities, AG-UI artifacts, chat persistence, auth flow 2026-05-18 03:52:59 -03:00
bureau ux(bureau): search + agency/decade filters + sort, URL-synced 2026-05-29 01:21:39 -03:00
c/[slug] ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
d/[docId] W3.10: clickable detective tiles + quick-launch form + doc bureau panel 2026-05-23 23:33:00 -03:00
documents W5.8: language toggle in the navbar (whole-site PT-BR / EN) 2026-05-24 22:54:37 -03:00
e/[cls] W5.5 (Phase 3C): Sun-Tzu strategist feeder + entity hero illustrations 2026-05-24 16:41:20 -03:00
graph W2: rerank opt-in, analyze_image_region tool, RAG eval, graph cleanup, ADRs 2026-05-23 19:20:09 -03:00
h/[hypothesisId] ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
jobs/[id] ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
locations W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
objects W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
operations W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
search ux(search): redesign /search from dev-tool to magazine 2026-05-28 17:58:41 -03:00
sightings W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
timeline baseline: Disclosure Bureau pipeline + Next.js UI + Supabase stack 2026-05-17 22:44:36 -03:00
witnesses W5.1: enthusiast pivot — strip detective surfacing, magazine homepage 2026-05-24 14:09:46 -03:00
globals.css W5.7 (Phase 3E): perf + a11y + OG images 2026-05-24 16:55:35 -03:00
layout.tsx ux(nav): unify navbar palette, localize, fix locale-aware metadata 2026-05-28 17:50:10 -03:00
page.tsx W5.7 (Phase 3E): perf + a11y + OG images 2026-05-24 16:55:35 -03:00
robots.ts W5.4 (Phase 3B): sitemap + robots + Article schema + magazine reading view 2026-05-24 16:09:50 -03:00
sitemap.ts W5.4 followup: hero illustration on /c/[slug] + sitemap fix 2026-05-24 16:16:20 -03:00