From b4aaf7ae829f2485323a1bd71aeb9ae275d7986c Mon Sep 17 00:00:00 2001 From: Kjell Tore Guttormsen Date: Tue, 26 May 2026 22:27:08 +0200 Subject: [PATCH] =?UTF-8?q?docs(linkedin):=20restructure=20v2.0.0=20plan?= =?UTF-8?q?=20Execution=20Strategy=20=E2=86=92=2021=20discrete=20sessions?= =?UTF-8?q?=20(1=20step=20=3D=201=20session)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Each Session N now maps 1:1 to Step N so /trekcontinue advances exactly one step per session and never runs a full wave at once. Steps + manifests unchanged; validator valid:true. Deprecate NEXT-SESSION-PROMPT in favor of STATE.md handoff. Co-Authored-By: Claude Opus 4.7 --- .../docs/voyage-build/plan.md | 129 ++++++++++++------ 1 file changed, 88 insertions(+), 41 deletions(-) diff --git a/plugins/linkedin-thought-leadership/docs/voyage-build/plan.md b/plugins/linkedin-thought-leadership/docs/voyage-build/plan.md index b643dcc..2b71e74 100644 --- a/plugins/linkedin-thought-leadership/docs/voyage-build/plan.md +++ b/plugins/linkedin-thought-leadership/docs/voyage-build/plan.md @@ -860,57 +860,104 @@ End-to-end / cross-step checks (per-step Manifests run automatically during exec ## Execution Strategy -> **Execution is strictly sequential `/trekexecute --fg` (subscription), one -> session per `/trekcontinue`** — per operator constraint (no parallel -> `claude -p`, API billing). Waves below are dependency groupings, not -> parallelism licenses. Each session = exactly one step (each step is a full -> ≤35 %-context fasit session). +> **Execution is strictly ONE step per session, run sequentially via +> `/trekexecute --step N --project docs/voyage-build`** (subscription; never +> `--fg`, which runs all 21 steps in a single session; never parallel +> `claude -p`, API billing). `/trekcontinue` advances exactly one session +> (= one step) at a time. Each session is a self-contained ≤35 %-context +> deliverable that MUST complete within its own context window; `/clear` +> between sessions. The 21 sessions below map **1:1** to the 21 steps. Waves +> are dependency groupings, **not** parallelism licenses. **Continuity handoff +> is via `STATE.md`** — `NEXT-SESSION-PROMPT.local.md` is deprecated per the +> global continuity system (STATE.md + MEMORY.md + CLAUDE.md). trekexecute may +> still auto-write that file; treat it as ignorable noise, never as the handoff. -### Session 1–7: Wave 1 — Fundament (Phase 1) -- **Steps:** 1 (S1), 2 (S1a), 3 (S2), 4 (S3), 5 (S4), 6 (S5), 7 (S6) -- **Wave:** 1 -- **Depends on:** none (internal: Step 2, 3 depend on Step 1) -- **Scope fence:** - - Touch: `render/`, `config/personas.template.md`, `config/edition-state.template.json`, `agents/fact-checker.md`, `agents/persona-reviewer.md`, `agents/fixtures/`, `agents/__tests__/`, remove content-tracker + personalization-scorer, `agents/README.md`, `CLAUDE.md` (agent table) - - Never touch: `commands/newsletter.md` (Wave 2), any consolidation target (Wave 4) +### Session 1: S1 — Migrate render scripts + fonts into the plugin +- **Step:** 1 · **Wave:** 1 · **Depends on:** none -### Session 8–13: Wave 2 — Kapabilitet (Phase 2) -- **Steps:** 8 (S7), 9 (S8), 10 (S9), 11 (S10), 12 (S11), 13 (S12) -- **Wave:** 2 -- **Depends on:** Wave 1 (needs agents, personas, render, edition-state) -- **Scope fence:** - - Touch: `commands/newsletter.md`, `commands/multiplatform.md`, `commands/linkedin.md`, `skills/*/SKILL.md`, `references/longform-quality-rules.md` - - Never touch: render scripts (frozen after Wave 1), consolidation targets (Wave 4) +### Session 2: S1a — Generalize the annotation renderer (build-html.mjs) +- **Step:** 2 · **Wave:** 1 · **Depends on:** Session 1 (render present) -### Session 14–15: Wave 3 — Dogfood (Phase 3) -- **Steps:** 14 (S13), 15 (S14) -- **Wave:** 3 -- **Depends on:** Wave 2 (needs full pipeline) + Wave 1 render -- **Scope fence:** - - Touch: a serie-mappe (maskinrommet — operator-gated) or a `docs/review/` fixture; friction log; whichever pipeline files S14 fixes name - - Never touch: maskinrommet without explicit operator instruction (R1) +### Session 3: S2 — Generalize build-linkedin.mjs to read edition-config.json +- **Step:** 3 · **Wave:** 1 · **Depends on:** Session 1 (render present) -### Session 16–21: Wave 4 — Renovering (Phase 4) -- **Steps:** 16 (S15), 17 (S16), 18 (S17), 19 (S18), 20 (S19), 21 (S20) -- **Wave:** 4 -- **Depends on:** independent of Wave 2–3 (may run after Wave 1); Step 21 closes v2.0.0 so it runs last -- **Scope fence:** - - Touch: consolidation targets (quick, calendar, outreach, strategy, audit, analyze, import, profile, linkedin router), `agents/analytics-interpreter.md`, `agents/engagement-coach.md`, removed files, all doc levels, version refs, hook scripts (publish refs) - - Never touch: `commands/newsletter.md` internals (frozen after Wave 2) +### Session 4: S3 — Persona library (config/personas.template.md) +- **Step:** 4 · **Wave:** 1 · **Depends on:** none (internal) + +### Session 5: S4 — fact-checker agent (agents/fact-checker.md) +- **Step:** 5 · **Wave:** 1 · **Depends on:** none (internal) + +### Session 6: S5 — persona-reviewer agent (agents/persona-reviewer.md, 2 modes) +- **Step:** 6 · **Wave:** 1 · **Depends on:** Session 4 (personas) + +### Session 7: S6 — Edition-state schema + retire content-tracker & personalization-scorer +- **Step:** 7 · **Wave:** 1 · **Depends on:** none (internal) + +### Session 8: S7 — newsletter.md skeleton, Step 0–2 (load, calibrate, research fan-out) +- **Step:** 8 · **Wave:** 2 · **Depends on:** Wave 1 complete (agents, personas, render, edition-state) + +### Session 9: S8 — newsletter.md Step 3–4 (draft + consistency/quality) +- **Step:** 9 · **Wave:** 2 · **Depends on:** Session 8 (newsletter.md, strict order) + +### Session 10: S9 — newsletter.md Step 5–6 (fact-check sweep + persona sweep BEFORE lock) +- **Step:** 10 · **Wave:** 2 · **Depends on:** Session 9 + +### Session 11: S10 — newsletter.md Step 7–10 (annotate, lock/delivery, hook-gate, schedule) +- **Step:** 11 · **Wave:** 2 · **Depends on:** Session 10 + +### Session 12: S11 — Reconcile newsletter path out of multiplatform + skill trigger + router row +- **Step:** 12 · **Wave:** 2 · **Depends on:** Session 11 + +### Session 13: S12 — longform-quality-rules.md + resumption wiring +- **Step:** 13 · **Wave:** 2 · **Depends on:** Session 11 (rules inlined in newsletter.md at Session 9; extracted here) + +### Session 14: S13 — Dogfood: produce a real edition end-to-end `[OPERATØR]` +- **Step:** 14 · **Wave:** 3 · **Depends on:** Wave 2 complete (full pipeline) + Wave 1 render + +### Session 15: S14 — Fix dogfood friction `[OPERATØR]` +- **Step:** 15 · **Wave:** 3 · **Depends on:** Session 14 (friction log) + +### Session 16: S15 — templates.md → mode in quick.md +- **Step:** 16 · **Wave:** 4 · **Depends on:** Wave 1 (independent of Wave 2–3) + +### Session 17: S16 — publish.md → action in calendar.md +- **Step:** 17 · **Wave:** 4 · **Depends on:** Wave 1 + +### Session 18: S17 — collab.md + speaking.md → new outreach.md +- **Step:** 18 · **Wave:** 4 · **Depends on:** Wave 1 + +### Session 19: S18 — authority.md → strategy.md + trajectory dedup + profile canon +- **Step:** 19 · **Wave:** 4 · **Depends on:** Wave 1 + +### Session 20: S19 — Agent merges: analytics (2→1) + engagement (2→1) +- **Step:** 20 · **Wave:** 4 · **Depends on:** Wave 1 + +### Session 21: S20 — import.md trim + router gating + final doc pass → v2.0.0 +- **Step:** 21 · **Wave:** 4 · **Depends on:** ALL prior sessions (closes v2.0.0 — always last overall) + +### Wave scope fences (reference) + +Scope fences are defined per wave; each session inherits its wave's fence. + +- **Wave 1 (Sessions 1–7):** Touch `render/`, `config/personas.template.md`, `config/edition-state.template.json`, `agents/fact-checker.md`, `agents/persona-reviewer.md`, `agents/fixtures/`, `agents/__tests__/`, remove content-tracker + personalization-scorer, `agents/README.md`, `CLAUDE.md` (agent table). Never touch `commands/newsletter.md` (Wave 2), any consolidation target (Wave 4). +- **Wave 2 (Sessions 8–13):** Touch `commands/newsletter.md`, `commands/multiplatform.md`, `commands/linkedin.md`, `skills/*/SKILL.md`, `references/longform-quality-rules.md`. Never touch render scripts (frozen after Wave 1), consolidation targets (Wave 4). +- **Wave 3 (Sessions 14–15):** Touch a serie-mappe (maskinrommet — operator-gated) or a `docs/review/` fixture; friction log; whichever pipeline files S14 fixes name. Never touch maskinrommet without explicit operator instruction (R1). +- **Wave 4 (Sessions 16–21):** Touch consolidation targets (quick, calendar, outreach, strategy, audit, analyze, import, profile, linkedin router), `agents/analytics-interpreter.md`, `agents/engagement-coach.md`, removed files, all doc levels, version refs, hook scripts (publish refs). Never touch `commands/newsletter.md` internals (frozen after Wave 2). ### Execution Order -- **Wave 1:** Sessions 1–7 (sequential --fg) -- **Wave 2:** Sessions 8–13 (after Wave 1) -- **Wave 3:** Sessions 14–15 (after Wave 2) -- **Wave 4:** Sessions 16–21 (after Wave 1; Session 21 last overall — closes v2.0.0) +Run sessions **1 → 21 in numeric order**, one per `/trekcontinue` (or +`/trekexecute --step N`). Wave boundaries are dependency gates: do not begin a +Wave-2 session before Wave 1 is complete; Session 21 is always last (closes +v2.0.0). Wave 4 (Sessions 16–21) is independent of Waves 2–3 and may run any +time after Wave 1, but the canonical order is sequential 1→21. ### Grouping rules applied -- Steps sharing files → adjacent sessions (newsletter Steps 8–13 all touch `newsletter.md`, done strictly in order) -- Render (Steps 1–3) frozen before the newsletter command consumes it -- Consolidation (Wave 4) isolated from langform files to avoid cross-contamination -- 1 step per session (each is a full ≤35 %-context deliverable — see mapping note) +- One step per session — each is a full ≤35 %-context deliverable that completes within its own context window. +- Steps sharing files are adjacent and strictly ordered (newsletter Sessions 8–11 all touch `newsletter.md`). +- Render (Sessions 1–3) frozen before the newsletter command consumes it. +- Consolidation (Wave 4) isolated from langform files to avoid cross-contamination. ## Plan Quality Score