Repository navigation
fix(reports): keep HTML entities literal in report text - #1851
Conversation
mldangelo-oai
left a comment
There was a problem hiding this comment.
Thank you for catching this report-fidelity issue. I reproduced the entity decoding and the query-link regression caused by escaping every ampersand, then completed the repair on this branch. Ordinary ampersands and existing prose links keep their behavior; entity-bearing paths render literally in code spans. The native threat-model renderer now matches Python, so MCP saves and CLI exports agree.
The revised change passed the focused Python and MCP suites, portable source checks, synthetic finalization/export and MCP-save smoke tests, and rendering comparisons against live GitHub Markdown, markdown-it, and remark. Independent review is complete. Required hosted CI is being checked separately before merge.
mldangelo-oai
left a comment
There was a problem hiding this comment.
The revised change preserves literal entity spellings and path labels while retaining existing prose link behavior. Python and native TypeScript projections agree. Focused tests, CLI/MCP smoke checks, independent review, and required hosted CI have passed on this revision. Approving the completed repair.
Summary
Markdown rendering can decode HTML entities in report metadata and filenames, changing encoded payloads and paths. Preserve their literal spelling while keeping ordinary query parameters, email addresses, and authored inline code intact. Keep the Python and native TypeScript threat-model projections byte-identical.
Changes
Testing
build:ci; plugin source compatibility; compatibility tests (9 passed).git diff --check: passed.Local packaged-worker validation was unavailable because source-matched native payloads were absent. No older payloads were reused; hosted package/native CI remains required.
Risk and rollout
This changes derived Markdown display without changing public CLI or canonical data. Entity-bearing path labels now use inline code. URL recognition in prose is conservative: ambiguous prose tokens that resemble URLs retain their existing entity interpretation, and renderers still differ in which links they recognize. The fix adds no parser dependency or TLD/Unicode validation table.
Public disclosure review