fix(linkedin-studio): S28 ref-consistency B — format magnitudes → SSOT

Reconcile commands/video.md + references/linkedin-formats.md to the algorithm-signals SSOT
in one pass (20 edits/2 files). The unsourced "30% completion rate or zero distribution"
gate (7x) → "completion/dwell is a ranking input; shorter completes better; no published
hard completion gate". The 6 S27-folded link-penalty lines → "correlate with lower reach"
(incl. heading "The External Link Penalty" → "External Links and Lower Reach"). Six other
unsourced format magnitudes softened to direction-without-number (video 5.60% ER, Live
12-24x, polls 1.64x, 3x shares, Creator-Mode 35%). One internal contradiction fixed (3-sec
= 70% retention contradicted the already-reconciled three-second-folklore note).

Bucket D (this file's non-format coefficients: 47-50% reach-decline, AI-comment -30%/-55%,
hashtag -68%) left intact and deferred to S30, which is re-scoped to cover them + the other
files. Gate 81/0/0; counts 29/19 unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
This commit is contained in:
Kjell Tore Guttormsen 2026-06-19 22:17:54 +02:00
commit ed835e9024
4 changed files with 70 additions and 27 deletions

View file

@ -66,7 +66,7 @@ Use AskUserQuestion:
3. **90 seconds** (225 words) — Extended format for complex frameworks (use sparingly)
4. **2 minutes** (300 words) — Detailed story or multi-step process (retention drops significantly)
Default recommendation: **60 seconds** is the 2026 sweet spot — LinkedIn requires 30% minimum completion rate or your video gets zero distribution. Shorter videos achieve higher completion rates and the algorithm rewards that heavily.
Default recommendation: **60 seconds** is the 2026 sweet spot — shorter videos complete at higher rates, and completion/dwell is a ranking input the algorithm rewards (see `references/algorithm-signals-reference.md`). There is no published hard completion-rate gate — favour shorter to lift completion, not to clear a threshold.
## Step 3: Topic and Angle Selection

View file

@ -1853,3 +1853,42 @@ The 3 plan-cited lines confirmed (line-nr drift ±1 since plan written: `analyze
(`docs/hardening/plan.md`). Bucket B link-penalty lines folded into **S28**'s pass over `linkedin-formats.md`.
---
### S28 ref-consistency B — format magnitudes + folded-in link lines → SSOT (`video.md` + `linkedin-formats.md`)
**CLASS: reference-consistency** (NOT re-hardening — surgical SSOT-reconciliation of format-magnitude
divergences across `commands/video.md` + `references/linkedin-formats.md`, incl. the 6 link-penalty lines
folded in from S27 Bucket B; one pass over the file). Predicate: no surface states an unsourced hard
format coefficient as fact — SSOT (`references/algorithm-signals-reference.md:51-63`, the "trust ordering,
test the number — never hard coefficients" rule `:12-23`) carries **no completion-rate gate**, no video ER,
no poll/Live multiplier; native video = "captions are the enforceable spec, no hard gate".
**TEST (tool-grounded).** Full read of `linkedin-formats.md` (674 l.) + `video.md:69` context. Plugin grep
`[0-9]+%|zero.distribution|penaliz|penalty|punish|multiplier|aspect ratio`. The "30% zero-distribution"
gate recurs **7×** (`video.md:69`; `formats:58,:291,:478,:543,:644,:662`). Catalog bucketed,
operator-approved (run buckets A+B+C+E now; D → S30):
- **A — "30% zero-distribution" hard-gate (7):** the named S28 divergence.
- **B — S27-folded link-penalty lines (6):** `formats:52,:91,:194,:198,:200,:432`.
- **C — other unsourced FORMAT magnitudes (6):** video 5.60% ER (`:56`), Live 12-24x (`:59,:594`), polls 1.64x (`:81`), 3x shares (`:273`), Creator-Mode 35% (`:674`). `:49` 24.42% left (already hedged + reconciled `:50`).
- **E — internal contradiction (1):** `:356` "3 seconds determine 70% of retention" contradicted the already-reconciled `:62/:100` folklore note → reframed.
- **D — S30-class in this file (deferred, operator's call):** `:6` 47-50% reach-decline, `:7` 15%→31%, `:176` AI-comment 30%/55%, `:231/:279` hashtags 68%. **Left intact**; S30 re-scoped to cover them + the other files.
**HARDEN (20 edits, 2 files — Buckets A+B+C+E).**
- **A:** `video.md:69` + `formats:58,:291,:478,:543,:644,:662` → "completion/dwell is a ranking input; shorter completes better; no published hard completion gate".
- **B:** `formats:52,:91,:198,:200,:432` → "correlate with lower reach" framing; `formats:194` heading `### The External Link Penalty``### External Links and Lower Reach`.
- **C:** `formats:56` `5.60% ER` → "engagement varies (no reliable single rate)"; `:59,:594` `12-24x` → "strong … (multiplier unverified)"; `:81` `1.64x` → "declining; audience research only (no reliable multiplier)"; `:273` `3x more shares` → "tend to earn more shares"; `:674` `35% more reach` → "tend to see more reach (figure unverified)".
- **E:** `formats:356` `3 seconds determine 70% of retention` → "opening seconds carry the most weight … three-second hook is folklore".
**VERIFY.**
- Re-grep final: assertive 30%-gate forms (`requires 30%|30% minimum completion rate or|video gets zero distribution|…`) → **NONE** (remaining "completion gate" hits are the *negated* SSOT form "no hard completion gate"); link penalty/penalized/punished in `formats`**NONE**; stray magnitudes (`5.60%|12-24x|1.64x|3x more shares|35% more reach`) → **NONE**; `:356` old → **NONE**.
- Bucket D preserved: `47-50%`, `15% to 31%`, `68% reach`, AI-comment `30%/55%` still present (S30).
- `git diff --stat` = **2 files, +20/20**.
- `bash scripts/test-runner.sh``Passed: 81 · Failed: 0 · Warnings: 0`, **exit 0**; counts **29/19** unchanged.
- Disposition: **FIXED** (20 edits, 2 files) · Buckets A+B+C+E complete · Bucket D → S30.
**SURFACED (out of scope → queued).** Bucket D (this file's non-format coefficients) deferred to **S30
magnitude-scrub**, which is re-scoped to: `linkedin-formats.md` D-lines (`:6,:7,:176,:231,:279`) + the other
files (`linkedin-growth-playbook`, `glossary`, `engagement-coach`, `firsthour`, `post-feedback-monitor`,
`ab-testing-framework`, `poll-strategy-guide`). Pod/AI-slop "penalized" stays intact (officially confirmed).
---

View file

@ -107,10 +107,12 @@ SSOT-reconciliation of the documented divergences, same tool-grounded discipline
×3, url-processing-templates :396) reconciled to "correlate with lower reach" / "topic relevance is a
ranking input — off-topic gets lower reach". Bucket B (link-penalty lines in `linkedin-formats.md`) folded
into S28; Bucket D (other unsourced magnitudes) promoted to S30.
- **S28 (B) — format magnitudes → SSOT:** `commands/video.md:69` + `references/linkedin-formats.md`
(the "30% zero-distribution" claim vs SSOT native-video framing) **+ the 6 link-penalty lines folded in
from S27 Bucket B** (`linkedin-formats.md:52,:91,:194,:198,:200,:432`) — reconcile link + format framing
in one pass over that file.
- **S28 (B) — format magnitudes → SSOT ✅ DONE (2026-06-19, 20 edits/2 files; see `log.md`).**
`commands/video.md:69` + `references/linkedin-formats.md` reconciled in one pass: the "30% zero-distribution"
gate (7×) → "completion/dwell is a ranking input, no hard gate"; the 6 S27-folded link-penalty lines →
"correlate with lower reach"; 6 other unsourced format magnitudes (video 5.60% ER, Live 12-24x, polls
1.64x, 3x shares, Creator-Mode 35%); 1 internal contradiction (`:356` 3-sec = 70% retention). Bucket D
(this file's non-format coefficients) deferred to S30.
**S29 — terminology scrub: "thought leadership" → "LinkedIn Studio" / neutral (added 2026-06-19,
operator-approved during S26).** The phrase must not appear anywhere in the plugin (it is named LinkedIn
@ -121,9 +123,11 @@ questions for this pass: (a) user-facing surface only, or include historical CHA
`thought-leadership-angles.md` rename is its own sub-step — every pointer to the filename must update with
it. Same tool-grounded discipline (read-and-show → grep-confirm → re-grep final); hardening-class.
**S30 — magnitude scrub: unsourced reach-coefficients → SSOT (surfaced during S27, 2026-06-19).** A
*different* class from S27's link/topic-relevance framing: discrete percentage penalties with **no
primary source in the SSOT** — `68%` (5+ hashtags: `linkedin-growth-playbook:166`, `ab-testing-framework:66`),
**S30 — magnitude scrub: unsourced reach-coefficients → SSOT (surfaced during S27, re-scoped during S28,
2026-06-19).** A *different* class from S27's link/topic-relevance framing: discrete percentage penalties
with **no primary source in the SSOT**. **Incl. `linkedin-formats.md` Bucket-D lines left by S28**
(`:6` 47-50% reach-decline, `:7` 15%→31%, `:176` AI-comment 30%/55%, `:231`+`:279` hashtags 68%), plus
the other files — `68%` (5+ hashtags: `linkedin-growth-playbook:166`, `ab-testing-framework:66`),
`25%` (<1000 chars: `linkedin-growth-playbook:224`), `15-25%` (topic-gap: `glossary:235`), `30-50%`
(engagement-bait: `glossary:91`), `55%`/`45%` (AI-comment: `engagement-coach:195`, `firsthour:112` — SSOT
carries ~45% *correlational engagement gap* at medium confidence, not a 55% reach penalty), `25%/post`

View file

@ -49,14 +49,14 @@ Choosing the right format isn't just about engagement rates—it's about underst
**2. Native documents (PDFs): High engagement (historically 24.42%, likely inflated)**
- Note: documents/carousels are the top organic format (~7%; see `references/algorithm-signals-reference.md`). Cross-study rates (7% / 21.8% / 49.5%) differ by denominator/methodology, not by which format wins — do not treat any single figure as the carousel rate.
- Great for frameworks, step-by-step content, detailed insights
- Keeps users on platform (no external link penalty)
- Keeps users on platform (no external link, which would correlate with lower reach)
- Downloadable = high perceived value
- Best for: Comprehensive guides, templates, detailed analyses
**3. Video posts: 5.60% engagement rate**
**3. Video posts: engagement varies (no reliable single rate)**
- Optimal length: 60 seconds (2026 sweet spot, down from 90s)
- **Critical:** 30% minimum completion rate or video gets zero distribution
- LinkedIn Live: 12-24x engagement vs standard posts
- **Completion matters:** shorter videos complete better; completion/dwell is a ranking input (see `references/algorithm-signals-reference.md`) — no hard "completion or zero distribution" gate
- LinkedIn Live: strong engagement vs standard posts (multiplier unverified)
- 85% watch without sound (captions essential)
- **4:5 (1080×1350) or 1:1 (1080×1080) preferred** for broad feed distribution on a desktop-heavy professional audience. 9:16 is delivered mobile-only and crops to 1:1 on desktop; its "distribution boost" is an uncorroborated heuristic — no official 4:5-vs-9:16 engagement study exists. Reserve 9:16 for the opt-in vertical video tab
- Front-load value for muted autoplay — ~85% watch without sound. The "three-second hook" is cross-platform folklore, not a LinkedIn-named signal; LinkedIn's only official "3 seconds" is the minimum video length
@ -78,7 +78,7 @@ Choosing the right format isn't just about engagement rates—it's about underst
- Very short (150-300 chars) can perform well with concentrated insights
- Best for: Thought leadership, contrarian takes, personal stories
**6. Polls: 1.64x reach multiplier (declining due to overuse)**
**6. Polls: declining effectiveness; audience research only (no reliable reach multiplier — see `references/algorithm-signals-reference.md`)**
- Still generates high impressions but effectiveness declining
- Strategic use for industry trends, controversial opinions
- Use caption (300-400 chars) to provide context and insights
@ -88,7 +88,7 @@ Choosing the right format isn't just about engagement rates—it's about underst
**7. Link posts: AVOID or use strategically**
- External links in the body correlate with lower reach (see `references/algorithm-signals-reference.md`)
- 4.9% more impressions than no-link posts (OLD DATA - now penalized)
- 4.9% more impressions than no-link posts (OLD DATA — body links now correlate with lower reach; see `references/algorithm-signals-reference.md`)
- Platform wants to keep users on LinkedIn
- If must link: Use native LinkedIn article or wait until second-tier comment
- Best for: Rare occasions when external resource is essential
@ -191,13 +191,13 @@ Algorithm prioritizes content that keeps users on platform longer.
- Very short posts (quick reaction, quick scroll)
- Polls (interaction but low time investment)
### The External Link Penalty
### External Links and Lower Reach
**Critical reality:**
- External links in the body correlate with lower reach (see `references/algorithm-signals-reference.md`)
- Links in post body get penalized most heavily
- Links in the post body correlate with the largest reach reduction
- First comment links are tracked but acceptable as workaround when necessary
- Old strategy of "drive traffic to website" is now algorithmically punished
- Old strategy of "drive traffic to website" now correlates with lower reach (LinkedIn denies an intentional penalty; lead with value)
**What to do instead:**
- Use LinkedIn native formats (Articles, Documents, Newsletters)
@ -270,7 +270,7 @@ Immediate engagement in first hour is critical for triggering subsequent waves.
- Long gaps between posts (breaks consistency signal)
**Thought leadership posts:**
- Get 3x more shares than average content
- Tend to earn more shares than average content
- Generate deeper conversations (15+ word comments)
- Position you as subject matter expert
- Compound authority over time
@ -288,7 +288,7 @@ Immediate engagement in first hour is critical for triggering subsequent waves.
**The Data Reality:**
- Video posts get high impression counts
- BUT: Engagement rates are often lower than text posts
- Videos under 60 seconds optimal for balancing engagement and completion rate (30% minimum completion gate)
- Videos under 60 seconds optimal for balancing engagement and completion rate (higher completion = stronger dwell signal; no hard completion gate)
- Algorithm prioritizes dwell time over impressions
**What This Means:**
@ -353,7 +353,7 @@ Video isn't the silver bullet many creators think it is. Text-based thought lead
#### Hook (3-5 seconds) - CRITICAL
**Your first 3 seconds determine 70% of retention.**
**Your opening seconds carry the most weight — front-load value.** (The "three-second hook" is cross-platform folklore, not a LinkedIn-named signal; see the format notes above.)
**Hook types:**
- **Pattern interrupt:** "This will sound counterintuitive..."
@ -429,7 +429,7 @@ Video isn't the silver bullet many creators think it is. Text-based thought lead
**Avoid:**
- "Like and share if you agree" (engagement bait)
- External link CTAs (algorithm penalty)
- External link CTAs (correlate with lower reach)
- Asking for too many actions
### Video Editing Guidelines
@ -475,7 +475,7 @@ Video isn't the silver bullet many creators think it is. Text-based thought lead
**5. Length Optimization**
- Ideal: 60 seconds (2026 sweet spot — maximizes completion rate)
- Acceptable: 30-90 seconds
- Avoid: >90 seconds (completion rate drops, 30% minimum required for any distribution)
- Avoid: >90 seconds (completion rate drops — completion/dwell is a ranking input; no hard minimum, but shorter completes better)
**Editing tools by skill level:**
@ -540,7 +540,7 @@ Video isn't the silver bullet many creators think it is. Text-based thought lead
- If using 16:9: 1920x1080px minimum (letterboxed in the feed)
- **File format:** MP4 (H.264) — the safe default. LinkedIn's own sources conflict on MOV/AVI (member troubleshooting lists them supported; the Pages spec says no longer supported), so treat MOV/AVI as warn-only, not blocking — re-encode to MP4 when in doubt
- **Maximum file size:** 5GB
- **Maximum length:** 10 minutes (but aim for 30-60 seconds. 30% completion rate minimum or zero distribution)
- **Maximum length:** 10 minutes (but aim for 30-60 seconds — shorter lifts completion/dwell, a ranking input; no hard completion gate)
- **Frame rate:** 30fps standard, 60fps for smooth motion
**Lighting:**
@ -591,7 +591,7 @@ Video isn't the silver bullet many creators think it is. Text-based thought lead
### LinkedIn Live Considerations
**The Live Advantage:**
- 12-24x engagement vs. standard posts
- Strong engagement vs. standard posts (multiplier unverified)
- Algorithm massively prioritizes live content
- Real-time interaction builds community
- Saved as regular video post after
@ -641,7 +641,7 @@ Before posting any video, verify:
- [ ] Hook grabs attention in 3 seconds
- [ ] Clear value delivered (lesson/insight)
- [ ] Tight editing (no unnecessary seconds)
- [ ] Length: 60 seconds optimal (30% completion rate minimum)
- [ ] Length: 60 seconds optimal (shorter lifts completion/dwell — no hard completion gate)
- [ ] Ends with engagement-focused CTA
**Technical:**
@ -659,7 +659,7 @@ Before posting any video, verify:
- [ ] Complements overall content strategy
- [ ] Doesn't include external links
**Bottom Line on Video:** Use strategically when it genuinely adds value beyond text. Prioritize authenticity over production quality. Focus on 60-second videos that deliver concentrated insights. LinkedIn now requires 30% minimum completion rate for any distribution — shorter is safer. Always optimize for mobile-first consumption: captions on (the one enforceable spec), 4:5/1:1 aspect for broad distribution, and a front-loaded opening for muted autoplay.
**Bottom Line on Video:** Use strategically when it genuinely adds value beyond text. Prioritize authenticity over production quality. Focus on 60-second videos that deliver concentrated insights. Completion/dwell is a ranking input — shorter videos complete better (no published hard completion gate). Always optimize for mobile-first consumption: captions on (the one enforceable spec), 4:5/1:1 aspect for broad distribution, and a front-loaded opening for muted autoplay.
## Creator Mode Features (Available to All Users)
@ -671,4 +671,4 @@ As of late 2024, Creator Mode features are available to all LinkedIn users witho
- LinkedIn Live access
- Creator analytics
**Note:** Profiles actively using these features see up to 35% more reach compared to inactive profiles. The key is not "enabling" Creator Mode (no longer exists as a toggle) but actively using the features.
**Note:** Profiles actively using these features tend to see more reach than inactive ones (exact figure unverified). The key is not "enabling" Creator Mode (no longer exists as a toggle) but actively using the features.