# Comment IDs in HTML reads

## Unreleased — 2026-09-28

Comments were rendered as ordinary text in HTML snapshots, so an agent could target their paragraph but not the individual comment. Closed comment directives now render as atomic elements with `sN.cK` addresses sharing the section's reading-order counter. Saved references expose their persistent `data-comment-id`, and keyed drafts expose `data-comment-key`. Duplicate references retain one resource identity and have distinct target addresses.

No saved note content is rewritten and no comment body is fetched by static rendering. Code, links, escapes and malformed directives remain literal. Exact source range checks govern whether a comment is individually targetable.

Validation: all 146 HTML renderer tests and the renderer's targeted TypeScript check passed. Full server TypeScript is blocked locally by the existing missing `onnxruntime-node` dependency. A rendered browser fixture verified comment IDs and source ranges. Source docs and the Notes read action guide are synchronized into the public Notes skill.
