Remove admin-byline paragraphs anywhere in the artifact body. Walks paragraph-by-paragraph; any paragraph whose lines are 100% admin is dropped.
Multi-value tolerance (Round 8, 2026-05-09): a single line is treated as admin when its first fragment matches ADMIN_FIELD_REand every subsequent fragment on the same line either also matches or is a value continuation (no colon, no **โฆ**: re- introduction). This accepts pipe-separated multi-value rows like:
**WEP Confidence**: Almost certain (ratification) | Likely (geopolitical)
which the 2026-05-09 audit found leaking into the propositions <meta description> because the second pipe-fragment had no field label and the previous "every fragment is admin" rule rejected the whole paragraph.
Historical context: originally this stripper only ran on leading paragraphs and stopped at the first prose paragraph (hence the name). Per-document analyses and Family C/D artifacts emit additional admin blocks under internal headings, so the leading-only sweep let ~393 admin-byline lines leak across 36 of 41 articles (audit 2026- 04-27). The current implementation walks the whole body โ but still requires a paragraph to be fully admin (with the multi-value continuation rule above) โ so body prose stays intact while duplicate metadata blocks are removed.
The function name and signature are preserved so callers and tests that imported it through __test__ continue to work; the behaviour is a strict superset of every previous version.
Remove admin-byline paragraphs anywhere in the artifact body. Walks paragraph-by-paragraph; any paragraph whose lines are 100% admin is dropped.
Multi-value tolerance (Round 8, 2026-05-09): a single line is treated as admin when its first fragment matches ADMIN_FIELD_RE and every subsequent fragment on the same line either also matches or is a value continuation (no colon, no
**โฆ**:re- introduction). This accepts pipe-separated multi-value rows like:**WEP Confidence**: Almost certain (ratification) | Likely (geopolitical)which the 2026-05-09 audit found leaking into the propositions
<meta description>because the second pipe-fragment had no field label and the previous "every fragment is admin" rule rejected the whole paragraph.Historical context: originally this stripper only ran on leading paragraphs and stopped at the first prose paragraph (hence the name). Per-document analyses and Family C/D artifacts emit additional admin blocks under internal headings, so the leading-only sweep let ~393 admin-byline lines leak across 36 of 41 articles (audit 2026- 04-27). The current implementation walks the whole body โ but still requires a paragraph to be fully admin (with the multi-value continuation rule above) โ so body prose stays intact while duplicate metadata blocks are removed.
The function name and signature are preserved so callers and tests that imported it through
__test__continue to work; the behaviour is a strict superset of every previous version.