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.
v1 counted every '—' on a page equally. It penalized:
<li> items using '—' as a label separator ("Frederica Street — Owensboro's primary commercial arterial")Those are intentional layout. Only em-dashes embedded in real prose sentences count as AI tells.
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.