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

@ -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).
---