feat(linkedin): v2.2.0 — harden longform gates from 2nd production run

Implements the 6-change spec from the Seres-serien production
(linkedin-plugin-endringsspec.md). All acceptance criteria met.

1. Avoid-patterns (modell-/navne-katalog, completeness-over-reader-action,
   self-referential overhead openings) → longform-quality-rules.md (rule 1+3)
   + user-profile.template.md.
2. Persona gate now BLOCKING with explicit hard-fail list (primær mistet meg /
   doesn't own action / sjargong-mur / modell-navne-katalog → BLOCK;
   "JA med store forbehold" = NEI) → persona-reviewer.md + personas.template.md.
3. Fact-check declared orthogonal to narrative strength + post-cutoff
   web-search mandate + high-frequency-error checklist → fact-checker.md.
4. NEW agent voice-scrubber.md (Opus) — de-AI scrub + Norwegian-chronicle
   voice-drift; gold standard = approved Norwegian editions, NOT the English
   post corpus. Wired into newsletter.md Step 4.
5. Operator gates = render+annotate rounds (build-html.mjs to file://) as
   primary flow, AskUserQuestion as receipt/fallback → newsletter.md 2.5+3a.
6. Edition state reconciled with STATE.md (ONE-system). edition-HANDOVER
   template deleted; narrative to <serie>/STATE.md, machine data
   (factcheckLog, personaSweep, immutableRules) to edition-state.json.

Agents 14 to 15; commands unchanged (24). Backward-compatible (additive
state-shape only). Docs updated across all three levels + CHANGELOG.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-05-28 20:50:56 +02:00
commit 4ed9717627
15 changed files with 494 additions and 152 deletions

View file

@ -92,6 +92,16 @@ cp config/user-profile.template.md config/user-profile.local.md
- [What you never do]
- [Another thing to avoid]
**Universal anti-patterns (keep these — they hold for every author):**
- **Modell-/navne-katalog.** Do not reel off product names, model names, or
benchmarks for completeness. Pick ONE concrete, verifiable (preferably local)
case over a list — a name-dump is a jargon wall to a non-technical reader.
- **Fullstendighet over leser-handling.** Serve what the primary reader can DO
from their chair, not everything the author knows. Completeness is not a virtue.
- **Selvrefererende overhead-åpning.** No meta-commentary about what the text will
or will not do, no warm-ups. Start on the reader's problem.
- **«ikke bare X, men Y», reflex rule-of-three, tacked-on summaries, hedging.**
**Language:** [English / Norwegian / Other]
---