` followed by `

` – that’s good. But let me check if there’s leading whitespace… The raw starts with `\n

` – need to strip that.

**GATE 8** – Checking for forbidden phrases:
– “it’s worth noting” appears: “Det er værd at bemærke” – need to rephrase
– “at its core” – not found
– Other forbidden phrases – let me scan… “navigating the complexities” – not found. OK.

**GATE 2** – Contract coverage – checking the must_cover_questions:
1. “Hvem er Henrik Lykkegaard gift med?” – covered by H2
2. “Hvad er Henrik Lykkegaard kendt for?” – covered by H2
3. “Hvilke film og TV-serier har Henrik Lykkegaard medvirket i?” – need to check… The article has “Hvilke film og TV-serier har Henrik Lykkegaard medvirket i?” as H2 ✓
4. “Hvad er Henrik Lykkegaards familie?” – need to check… The article has “Hvem er Henrik Lykkegaards familie?” – close but not identical. The gate says “verbatim wording where question_source=paa” – let me check the contract… The must_cover_questions has “Hvem er Henrik Lykkegaards familie?” – the article title is “Hvem er Henrik Lykkegaards familie?” ✓
5. “Hvad er Henrik Lykkegaards rolle i Cirkusrevyen?” – need to check… The article has “Hvad er Henrik Lykkegaards rolle i Cirkusrevyen?” ✓

Wait, looking at the contract more carefully:

json
“must_cover_questions”: [
{
“h2”: “Hvem er Henrik Lykkegaard gift med?”,

},
{
“h2”: “Hvad er Henrik Lykkegaard kendt for?”,

},
{
“h2”: “Hvilke film og TV-serier har Henrik Lykkegaard medvirket i?”,

},
{
“h2”: “Hvem er Henrik Lykkegaards familie?”,

},
{
“h2”: “Hvad er Henrik Lykkegaards rolle i Cirkusrevyen?”,

}
]

The article has:
1. “Hvem er Henrik Lykkegaard gift med?” ✓
2. “Hvad er Henrik Lykkegaard kendt for?” ✓
3. “Hvilke film og TV-serier har Henrik Lykkegaard medvirket i?” ✓
4. “Hvem er Henrik Lykkegaards familie?” ✓
5. “Hvad er Henrik Lykkegaards rolle i Cirkusrevyen?” ✓

All covered.

**GATE 3** – Claim-source pairing. Let me check the snapshot cards and other lists:
– The intro paragraph doesn’t need citations (it’s a lead)
– The snapshot cards have source links ✓
– The timeline has source links ✓
– The confirmed facts list has source links ✓

**GATE 5** – FAQ dedup. The article has a FAQ section (the `

` elements). Let me check if any FAQ items overlap >85% with H2/H3:
– FAQ “Hvor gammel er Henrik Lykkegaard?” vs H2 sections – no overlap
– FAQ “Hvor er Henrik Lykkegaard født?” – no overlap
– FAQ “Hvad er Henrik Lykkegaards højde?” – no overlap
– FAQ “Hvem er Henrik Lykkegaards bror?” – no overlap
– FAQ “Har Henrik Lykkegaard børn?” – no overlap
– FAQ “Hvornår startede Henrik Lykkegaards karriere?” – no overlap
– FAQ “Hvad er Henrik Lykkegaard kendt for?” – overlaps with H2 “Hvad er Henrik Lykkegaard kendt for?” – but it’s a narrow question, not the same as the H2 section (the H2 covers more ground). Need to check if >85% lexical overlap… The FAQ is just the question, not the content. Since FAQ items are questions and H2s are also questions, if they’re identical then one should be removed. But “Hvad er Henrik Lykkegaard kendt for?” appears as both H2 and FAQ – that’s >85% overlap (100%). But wait – the gate says “Remove FAQ item ONLY if >85% lexical overlap with H2/H3 OR exact same question.” – so this FAQ item should be removed.

Wait, but the FAQ also has other questions. Let me count minimum FAQ items: “HARD MIN: 5 FAQ items.” If I remove one, I have 6 left. That’s fine.

Actually let me re-read: “Remove FAQ item ONLY if >85% lexical overlap with H2/H3 OR exact same question.” So “Hvad er Henrik Lykkegaard kendt for?” in the FAQ is exactly the same as the H2. Remove it.

Actually, I need to count the FAQ items. Let me list them:
1. “Hvor gammel er Henrik Lykkegaard?” – keep
2. “Hvor er Henrik Lykkegaard født?” – keep
3. “Hvad er Henrik Lykkegaards højde?” – keep
4. “Hvem er Henrik Lykkegaards bror?” – keep
5. “Har Henrik Lykkegaard børn?” – keep
6. “Hvornår startede Henrik Lykkegaards karriere?” – keep
7. “Hvad er Henrik Lykkegaard kendt for?” – REMOVE (exact duplicate of H2)

That leaves 6 items. Min is 5, so that’s ok.

Wait, but I need to check if there are other FAQ items with >85% overlap with H3s. Let me check the H3s:
– “Minimalistiske boller-reklamer” – no FAQ overlap
– “Revyforfatter i Cirkusrevyen” – no FAQ overlap
– “Medvirken gennem årene” – no FAQ overlap
– “Forventninger til 2026” – no FAQ overlap
– “Film” – no FAQ overlap
– “TV-serier” – no FAQ overlap
– “Forældre” – no FAQ overlap
– “Børn og bror” – no FAQ overlap

OK, so only one FAQ item to remove.

**GATE 6** – Link hygiene. Let me check all links:
– Internal links: The internal link dataset provides two links with specific anchors. Let me check if they’re used… Looking at the article, I see “Relateret læsning” section with:
– “Morten Arnfred – Filminstruktøren bag Olsen-banden” → https://dagensportal.dk/teknologi/morten-arnfred-biografi-film/
– “Ole Lemmeke – Den danske skuespiller og instruktør” → https://dagensportal.dk/blog/ole-lemeke-skuespiller-instruktor/

These are internal links (same domain). For internal links, I need to strip `target` and `rel` attributes. But looking at the raw, they don’t have target/rel. Good.

External links: Need to check each:
– https://www.dfi.dk/… – has target=”_blank” rel=”noopener nofollow” ✓
– https://altomfuresoe.dk/… – has target=”_blank” rel=”noopener nofollow” ✓
– https://folketidende.dk/… – has target=”_blank” rel=”noopener nofollow” ✓
– https://da.wikipedia.org/… – has target=”_blank” rel=”noopener nofollow” ✓
– https://www.imdb.com/… – has target=”_blank” rel=”noopener nofollow” ✓
– https://cirkusrevyen.dk/… – has target=”_blank” rel=”noopener nofollow” ✓
– https://www.imdb.com/name/nm0528065/ – appears multiple times? Let me count…

The rule: “Each external URL at most once. Max 3 per domain.”

Let me count domain usage:
– dfi.dk: appears twice (DFI link in intro and DFI link in timeline). That’s a problem – max 3 per domain, but I need to check if it’s the same URL. Let me check… DFI link appears in the confirmed facts and timeline. Both use https://www.dfi.dk/viden-om-film/filmdatabasen/person/henrik-lykkegaard – same URL. The rule says “Each external URL at most once.” – so I need to deduplicate. I can use different anchor text but same URL is the issue.

Wait, the rule says “Each external URL at most once.” So if the same URL appears twice, one needs to be removed or replaced.

Let me check… In the raw article:
1. `` as the very first character. The raw starts with `\n

` – I need to remove the leading newline.

**GATE 8** – Forbidden phrases in Danish:
– “Det er værd at bemærke” = “it’s worth noting” → remove/rephrase. In the text: “Det er værd at bemærke, at Lykkegaard generelt holder sit privatliv for sig selv.” → Reformat: “Lykkegaard holder generelt sit privatliv for sig selv.”

**GATE 14** – Editorial voice:
– Intro takes a stance – the current intro is “Henrik Lykkegaard er en dansk skuespiller og revyforfatter, født 14. februar 1965.” – that’s a declaration, not a stance. Need to rewrite to take a stance.

Let me check the intro:
“Henrik Lykkegaard er en dansk skuespiller og revyforfatter, født 14. februar 1965.”

This is “X is a…” which is a forbidden opener. Need to rewrite.

**GATE 14.3** – Section closers. Let me check each H2 section:

Section “Hvem er Henrik Lykkegaard gift med?” ends with:

Redaktionens note

Oplysningen om ægtefællens navn stammer udelukkende fra brugerredigeret indhold. Indtil en primærkilde eller en officiel biografi bekræfter navnet, bør det behandles med forbehold.

This is a callout, not a paragraph. The gate says “If the last element of an H2 section is a

,

    ,

      , or callout div, append a closing

      with interpretive sentence.”

      Hmm, but the note is a callout. So I need to add a closing `

      ` with an interpretive sentence.

      **GATE 14.2** – Table lead-ins. Let me check if every table has a preceding `

      ` with editorial framing.

      Looking at the article:
      – The “Fem nøgleoplysninger” table? Wait, the table in the article is the stats table. Let me look for tables…

      Actually, I see the table section in the raw:

Wait, this is the raw content in the article? Let me look for a table in the actual HTML…

Looking at the raw article more carefully, I see:

Kategori Detaljer
Fulde navn Henrik Lykkegaard

This is a table (the key facts table). But I don’t see a `

` before it with editorial framing. The gate says “Before every

Kategori Detaljer
Fulde navn Henrik Lykkegaard
there must be a

with editorial framing (one sentence).”

But wait, this table comes after the intro and before the FAQ? Let me check…

Actually, I think the table I’m seeing is in the raw only as part of the JSON plan, not as actual article HTML. Let me re-read the raw article.

Looking at the raw article, I see:
1. Intro paragraph
2. Stats line (which is actually a … wait, the stats line is missing from the visible HTML?)

Let me look at the actual HTML structure of the raw article again…

OK I’m going to approach this differently. Let me work through the repair systematically. The raw article as given has several structural issues I need to fix.

Let me reconstruct what the output should look like.

First, let me address **GATE 8a** – lead structure:
– Remove leading whitespace before `

`
– Ensure intro `

` is the first child
– Check intro: “Henrik Lykkegaard er en dansk skuespiller og revyforfatter, født 14. februar 1965.” – one sentence. Need to check if ≤2 sentences for the intro… Actually the gate says “max 2 sentences” and this has 1. But I also need to apply GATE 14.1 – the intro can’t be “X is a”. So I need to rewrite.

**GATE 14.1** – The intro “Henrik Lykkegaard er en dansk skuespiller” starts with “Henrik Lykkegaard er” which is “X is a” pattern. I need to rewrite to take a stance.

A good alternative: “Ingen andre danske skuespillere formår at kombinere boller-reklamer med Cirkusrevyens krævende sketches helt som Henrik Lykkegaard.” That’s a stance.

But I must not fabricate facts. Let me check what I know from verified facts:
– Born Feb 14, 1965
– Educated at Statens Teaterskole 1990-1994
– Debut in Cirkusrevyen 1994
– Known for Olsen-Banden and Cirkusrevyen (wait, Olsen-Banden is not in the verified facts… let me check again)

Actually from the research notes I can see confirmed claims. Let me use those.

OK let me actually produce the repaired output now. This is getting very complex. Let me work through all gates systematically and produce the final HTML.

Looking at the raw article, I see it’s very long. Let me identify all the issues:

1. **GATE 8a**: Need to ensure `

` is the first character. Remove `\n` before `

`.

2. **GATE 8**: Forbidden phrases in the raw:
– “Det er værd at bemærke” → remove/rephrase
– “Det er vigtigt at notere” → not found, let me check… Actually I see “at the local…” no.

Actually, let me search for forbidden phrases in the raw. The forbidden phrases are English, but the gate says to check in the language being used. The gate says “If word or phrase appears in raw output: replace or remove.”

For Danish content, the forbidden English phrases might not appear. But I should check for equivalent Danish phrases. The gate specifically says these exact English phrases: “stands as one of the”, “increasingly shape”, etc. Since the article is in Danish, these English phrases shouldn’t appear. Let me check anyway…

Looking at the raw, the article is a mix of Danish and English… Wait, no. The raw article is in Danish. The forbidden phrases are in English. So they wouldn’t appear. But the gate says to check for them regardless. Let me scan…

Actually, looking at the raw, there’s a long section after `

Relateret læsning: Ole Lemmeke – Den danske skuespiller og instruktør

` that includes research notes, JSON, and other data. But the visible HTML is just within `

`. I need to look only at the visible text within `

`.

Let me search for forbidden English phrases in the raw Danish article… I don’t see any of the exact English forbidden phrases. Good.

But wait – I see “it’s worth noting” is listed as forbidden. The Danish equivalent “Det er værd at bemærke” appears. Gate says “Forbidden phrases” in English, but the intent is to avoid the lazy phrasing in any language. Let me re-read the gate:

GATE 8 — TONE HYGIENE
Remove forbidden phrases (delete phrase, tighten sentence): “stands as one of the”, “increasingly shape”, …

These are English phrases. The gate says to remove them if they appear. Since the content is in Danish, these phrases won’t appear. But I should check for Danish equivalents and use editorial judgment.

Actually, I notice the article has “Det er værd at bemærke” which is a Danish equivalent of “it’s worth noting” – I should rephrase that.

3. **GATE 2** – all must_cover_questions are covered by H2s ✓

4. **GATE 3** – All claims in lists need source anchors. Let me check:
– The snapshot cards have sources ✓
– The timeline has sources ✓
– The confirmed facts have sources ✓
– The FAQ answers reference sources ✓

5. **GATE 5** – FAQ dedup. Remove “Hvad er Henrik Lykkegaard kendt for?” from FAQ since it’s an H2.

6. **GATE 6** – Link hygiene:
– Check for duplicate URLs
– Check for max 3 per domain
– Internal links: strip target/rel, but I don’t see target/rel on internal links ✓

7. **GATE 7** – JSON-LD:
– Need NewsArticle + FAQPage
– The raw has one `