Replaces / supersedes: the v1 session export from earlier today.

Why: Sam reviewed v1 and pointed out that the em-dash count (which dominated the AI-tell penalty) was conflating intentional design patterns with body-prose em-dashes. He was right.

What v1 got wrong

v1 counted every '—' on a page equally. It penalized:

Those are intentional layout. Only em-dashes embedded in real prose sentences count as AI tells.

What v2 does

v2 walks the DOM and buckets each em-dash by structural context: BODY_PROSE / LIST_BULLET / ATTRIBUTION / HEADING / DESIGN_BLOCK / SEPARATOR. Only BODY_PROSE em-dashes hit the score.

Reclassified em-dash inventory portfolio-wide:

Only ~36% of all em-dashes are real AI tells. The other 64% are intentional design patterns and should stay.