Close all 9 friction points from the S13 newsletter dogfood (operator elected to fix F6-F9 rather than defer): - F1: namespace all subagent_type calls in newsletter.md to linkedin-thought-leadership:<name> (4 sites + canonical note) - F2: document agent invocation form + reload requirement in CLAUDE.md + README.md (reload itself is an operator action) - F3: add edition-config / edition-delingstekst / edition-HANDOVER templates under config/ + wire into Steps 0 and 8 + footer - F4: reconcile draft path to <serie>/NN-utkast.md (series root) - F5: de-hardcode series root (explicit arg / LTL_SERIES_ROOT / default) - F6: config-derive carousel editions (remove Seres CAROUSEL set); correct samle comment - F7: build-html.mjs exits non-zero when zero HTML produced - F8: guard parseDelingstekst (graceful ENOENT) + correct Step 8 wording - F9: relocate agents/README.md -> docs/agents-capability-matrix.md Re-tested: 87/87 plugin tests pass; build-html/build-linkedin behavior re-verified live. Per-item outcomes logged in dogfood-S13-friction.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
56 lines
2.7 KiB
Markdown
56 lines
2.7 KiB
Markdown
<!--
|
||
TEMPLATE — edition-HANDOVER.md (narrative production state for one edition)
|
||
|
||
Purpose : the human-readable narrative companion to edition-state.json. Where
|
||
edition-state.json is the machine-readable resumption state (currentPhase,
|
||
per-article status), this HANDOVER carries the *narrative* state a human
|
||
(or the next session) reads to understand where the edition is, what is
|
||
immutable, and what happens next. /linkedin:newsletter Step 0 reads it;
|
||
every phase appends to §6.
|
||
Decision: G — production lives in the series root, NOT the plugin. Copy this to
|
||
<serie>/linkedin/edition-HANDOVER.md (or <serie>/HANDOVER.md) and fill in.
|
||
DISTINCT from the plugin's own docs/BUILD-HANDOVER.local.md (which governs building
|
||
the plugin). Never merge the two.
|
||
|
||
Section numbering is referenced by name in commands/newsletter.md:
|
||
§1 where we are · §3–§5 brief/rules/calibration · §4 immutable rules + fact-check
|
||
log · §5 persona calibration + conversion verdict · §6 next-session pointer.
|
||
-->
|
||
|
||
# Edition HANDOVER — <series title>, article <NN> "<edition title>"
|
||
|
||
## §1 — Where we are
|
||
- Current phase: <currentPhase, mirrors edition-state.json>
|
||
- Article status: <pending | in-progress | locked | scheduled>
|
||
- One-line state: <e.g. "draft complete, consistency pass next" or "locked, awaiting hook gate">
|
||
|
||
## §2 — Premise & angle
|
||
- Premise (one clear claim): <…>
|
||
- Angle / dramaturgical spine: <…>
|
||
- Leader-takeaway (the one thing a busy reader keeps): <…>
|
||
|
||
## §3 — Brief & scope
|
||
- Audience personas (active set; mark primær): <persona A (PRIMÆR), persona B, …>
|
||
- Key points (2–4): <…>
|
||
- Tone / voice anchor: <reference to assets/voice-samples + any edition-specific note>
|
||
- Out of scope for this edition: <…>
|
||
|
||
## §4 — Immutable rules + fact-check log
|
||
> Rules locked for this edition (do not relitigate mid-pipeline):
|
||
- <immutable rule 1 — e.g. "no vendor names in the hook">
|
||
- <immutable rule 2>
|
||
|
||
> Fact-check log (Step 5 — guilty-until-disproven; 🔴 must be empty before lock):
|
||
| Claim | Risk | Source / verification | Status |
|
||
|-------|------|-----------------------|--------|
|
||
| <claim> | 🔴/🟡/🟢 | <primary source> | open / resolved |
|
||
|
||
## §5 — Persona calibration + verdicts
|
||
- Pre-lock resonance sweep (Step 6): primær <name> → <JA / NEI + one-line reason>
|
||
- Method/persona calibration notes: <any axis tuning, secondary-NO signals>
|
||
- Post-lock conversion sweep (Step 9): primær <name> mode konverter → <JA / NEI>
|
||
|
||
## §6 — Next session
|
||
- Next step: Step <N> — <name> (per the Step 0 resumption table)
|
||
- Precise pointer: <e.g. "draft resumes at section 3" or "render POST.html, then hook gate">
|
||
- Open questions for the operator: <…, or "none">
|