Step 9 (post-lock distribution gate) får to tillegg, begge scoped til utgave-promo:
1. Hook-forge (E#7): 5-8 krok-varianter for delingsteksten. 110-140-båndet
håndheves PER VARIANT og MÅLES (perl -CSD; awk length/wc -c teller bytes og
lyver på æ/ø/å). Utenfor båndet = diskvalifisert, ikke rangert lavere.
Settet må spenne minst tre krok-typer, ellers er det omskrivinger, ikke valg.
Hver variant må spores til en påstand kroppen faktisk gjør (ingen bait).
Ingen predicted-engagement score — et tall som påstår å vite hva som sprer
seg er oppfunnet (N22-defektklassen); operatøren rangerer.
Valgt variant går GJENNOM randsone-gaten, aldri utenom.
2. Shareability-gate (E#8): konverter-modus får en ANDRE binær — deling.
«Hvem deler dette til en kollega, og hvorfor?» + RESHARE/SAVE/SEND.
Svaret må navngi en rolle og et avsender-motiv; «nyttig for alle i tech»
er NEI. Blokkerende: to mislykkede omramminger => operatørvalg (pivot eller
registrert foldIn), aldri en stille passering.
Ti suiter grønne: test-runner 300/0 (287->300, +13 ubetingede; floor 268->281)
· trends 300 · analytics 202 · hooks 191 · brain 134 · editions 72 · render 63
· specifics-bank 45 · tests 35 · contract-gate 33. Begge nye compound-predikater
mutasjonstestet mot faktisk fil (fjernet literal => rød).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RvtDSvQDUmjd5bXdAxUu6D
Lukker sløyfen pluginen manglet: en rettelse operatøren gjør i utgave N
håndheves i N+1 i stedet for å bli gjenoppdaget. Maskineriet fantes
(foldIns-skjema + promote→ratify siden fix#1); det som manglet var wiring —
ingenting skrev til køen og ingen fase tømte den.
- Fangst (A2-F7): Steps 2.5/3a/5.5/6.5 appender rettelsen ordrett med trigger,
decision "pending". Ubetinget og bevisst dum — å avgjøre ved fangst om noe
"fortjener" en regel er nettopp slik køen holder seg tom og sløyfen dør.
- Step 11 retro (A2-F8), ≤5 min ETTER scheduling: promoter køen med eksplisitt
JA/NEI (mekanisk → atomisk contract-gate-promotering, teller kun med grønn
--ratify; dømmekraft → operatørens språkregelfil; NEI → rejected, beholdes),
effort-oppsummering fra MÅLT phaseLog (aldri re-estimert), og ÉN
friksjons-spørring som besvares tilbake til operatøren. Faser 18 → 19;
resumption-tabellen ruter scheduling → Step 11, retro → complete.
- articles.NN.retro: additiv-valgfri (default null), schemaVersion forblir 1.
- Background-headless (A2-F6): --background kjører pakken i en bakgrunnsagent
som skriver rapporten til disk; drafting-sesjonen leser fila. Samme isolasjon
som fersk sesjon, uten copy-paste-sømmen. Inline fan-out = eksplisitt fallback.
- Språkregler (C-10): ${DATA}/language-rules/<lang>.md (opt-in, template).
Leses TO ganger — av language-reviewer (fanger) og av Step 4 (forebygger).
Shippet banliste forblir baseline; brukerfila utvider.
- references/fold-in-loop.md (A2-F9): loopen dokumentert domene-generelt in-tree,
så en adopter uten ekstern skrivekontrakt har hele sløyfen. Refs 28 → 29.
Suiter (alle grønne): test-runner 197 → 217 (Section 16u: 18 ubetingede greps +
non-vacuity self-test; fase-sveip 16 → 17 faser; floor 179 → 198) · hooks 174 ·
trends 300 · brain 134 · editions 72 · specifics-bank 45 · contract-gate 33 ·
tests 35 · render 60.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QxvWAjte7vPcF79QeSRvRJ
Cold, adversarial review package for the long-form pipeline + configurable
per-edition personas. Motivated by Del 4 (Security Champions pivot): the
in-session editor + persona sweep shared the drafting session's framing-bias,
so the shipped version was never independently re-reviewed.
Headless package (9a/9b):
- New Step 6.5 (headless-review) in /linkedin:newsletter, after the persona
sweep, before lock — the independence layer the in-session gates can't be.
- New standalone /linkedin:headless-review command (run in a fresh session for
maximum isolation; reconstructs frozen draft + contract + personas from disk).
- 3 new Opus archetypes, each with a cardinal context-isolation block that
refuses drafting-session framing as "context pollution":
- content-reviewer (argument integrity C1–C5, ≤8 flags)
- language-reviewer (Norwegian language L1–L5, ≤10 flags)
- fact-reviewer (cold re-verification F1–F4, risk-sort + pivot-risk, WebSearch)
- Deliberate redundancy with fact-checker / editorial-reviewer documented so
the pairs are never de-duplicated.
Pivot-reopen (9c):
- New /linkedin:pivot command: logs articles.NN.pivots[], resets currentPhase,
un-locks, marks gates to re-run.
- Pivot-detection gate in Step 8 lock precondition (>20% word-count change or
>2 new sections re-opens cleared gates). Del 4 v8→v11 worked example.
Per-artifact personas (new requirement):
- articles.NN.personas with resolution order (edition-state → series file →
plugin library → interactive). One or more readers configurable per edition.
Schema/docs:
- edition-state.template.json: additive personas[], pivots[], headlessReview,
headless-review phase (16 phases); personaSweep.resonance.wordCount baseline.
- 3 fasit fixtures + 3 structural lint tests (Del 4 worked cases).
- Counts: 24→26 commands, 16→19 agents, 15→16 newsletter phases.
- README + CLAUDE.md (plugin + root) + CHANGELOG synced.
Verification: 35 agent-fixture + 59 hook + 20 render tests green. Backward-
compatible (additive state); reload required before the 3 new agents resolve.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>