Plain-text watch point heading (must be escaped before passing to generateWatchSection)
Plain-text watch point body (must be escaped before passing to generateWatchSection)
Urgency level for display sorting
Document IDs that triggered this watch point
A single watch point derived from document analysis. Replaces hardcoded watch-point templates.
All string fields (
title,description) contain plain text — they must be escaped viaescapeHtml()at the call site before passing togenerateWatchSection(), which renders pre-escaped HTML (it does not escape itself). The escaping call site is ingenerators.tsinside the deep-inspection path. This is consistent with the escaping contract for all other pipeline outputs (SWOT entries, mindmap items, dashboard labels) where renderers receive plain text and escape at interpolation time.