[7] Searchable judgment text #42

Open
opened 2026-06-14 05:24:30 +02:00 by dernbu · 0 comments
Owner

Objective

Make judgment text searchable and safely readable across all ingested source artifacts.

After this slice, users should be able to search case content, open a result, and read sanitized judgment HTML without executing unsafe source markup.

Dependencies

Depends on #41.

Scope

  • Define and implement a strict HTML sanitizer allowlist.
  • Generate sanitized HTML artifacts from LawNet and eLitigation judgment HTML.
  • Extract normalized plain text while preserving legal paragraph boundaries where possible.
  • Store source-specific search documents and generated search vectors.
  • Build combined search projection/query behavior across correlated and unmatched records.
  • Add search API support for query text, source filters, court/date filters, sorting, grouping, and cursor pagination.
  • Add frontend search route and result cards that group correlated source records.
  • Render sanitized HTML in the case detail reader.
  • Add tests for changed/unchanged artifact rebuilds, ranking behavior, and unsafe markup.

Out of scope

  • Advanced legal analytics.
  • Entity extraction for parties, judges, counsel, or catchwords.
  • Administrator UI.

Done when

  • Ingested LawNet and eLitigation judgment text is searchable.
  • Search results group correlated sources while preserving source provenance.
  • Unsafe source markup cannot execute in the reader.
  • Changed source HTML rebuilds sanitized content and search text.
  • Unchanged source bytes do not cause unnecessary artifact rewrites.
  • Search state is URL-addressable from the frontend.
## Objective Make judgment text searchable and safely readable across all ingested source artifacts. After this slice, users should be able to search case content, open a result, and read sanitized judgment HTML without executing unsafe source markup. ## Dependencies Depends on #41. ## Scope - Define and implement a strict HTML sanitizer allowlist. - Generate sanitized HTML artifacts from LawNet and eLitigation judgment HTML. - Extract normalized plain text while preserving legal paragraph boundaries where possible. - Store source-specific search documents and generated search vectors. - Build combined search projection/query behavior across correlated and unmatched records. - Add search API support for query text, source filters, court/date filters, sorting, grouping, and cursor pagination. - Add frontend search route and result cards that group correlated source records. - Render sanitized HTML in the case detail reader. - Add tests for changed/unchanged artifact rebuilds, ranking behavior, and unsafe markup. ## Out of scope - Advanced legal analytics. - Entity extraction for parties, judges, counsel, or catchwords. - Administrator UI. ## Done when - Ingested LawNet and eLitigation judgment text is searchable. - Search results group correlated sources while preserving source provenance. - Unsafe source markup cannot execute in the reader. - Changed source HTML rebuilds sanitized content and search text. - Unchanged source bytes do not cause unnecessary artifact rewrites. - Search state is URL-addressable from the frontend.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
dernbu/lawnet-scraper#42
No description provided.