Highlight extractor specialised on the executive-brief
style guide introduced for the May-2026 EP10 briefing series. Where
editorial-highlight.ts treats every Stage-B artefact uniformly
(first non-generic H1 → headline; first prose paragraph → summary),
this module knows that an executive-brief.md carries two strong
editorial sections that should outrank a generic ## Key Findings
walk:
## Strategic Intelligence Summary — the synthesis paragraph.
The first ### Sub-section heading underneath it (e.g.
"The Three-Coalition Paradox") makes a clean, journalistic
<title>. The first prose paragraph that follows that
sub-heading makes a clean <meta description>.
## Reader Briefing (a.k.a. Reader Briefing (Plain Language))
— the actionable priority list. When the section is structured
as a numbered list (1. **Immediate priority**: …), the bold
label + tail of the first item makes a strong <title>. When
it is structured as a single prose paragraph (the
term-outlook style), the paragraph is used verbatim as
description and the first sentence becomes the headline.
Both extractors are tolerant of missing sections — they return
null so the resolver can fall back to the existing
extractArtifactHighlight ladder for the 200+ historical briefs
that pre-date this style guide.
Description
Highlight extractor specialised on the executive-brief style guide introduced for the May-2026 EP10 briefing series. Where editorial-highlight.ts treats every Stage-B artefact uniformly (first non-generic H1 → headline; first prose paragraph → summary), this module knows that an
executive-brief.mdcarries two strong editorial sections that should outrank a generic## Key Findingswalk:## Strategic Intelligence Summary— the synthesis paragraph. The first### Sub-sectionheading underneath it (e.g. "The Three-Coalition Paradox") makes a clean, journalistic<title>. The first prose paragraph that follows that sub-heading makes a clean<meta description>.## Reader Briefing(a.k.a.Reader Briefing (Plain Language)) — the actionable priority list. When the section is structured as a numbered list (1. **Immediate priority**: …), the bold label + tail of the first item makes a strong<title>. When it is structured as a single prose paragraph (the term-outlook style), the paragraph is used verbatim as description and the first sentence becomes the headline.Both extractors are tolerant of missing sections — they return
nullso the resolver can fall back to the existingextractArtifactHighlightladder for the 200+ historical briefs that pre-date this style guide.Pure leaf module under
metadata/— depends only on stripInlineMarkdown, truncateTitle, truncateDescription, and truncateExtendedDescription fromtext-utils. No I/O, no upward imports.