diff --git a/docs/hardening/log.md b/docs/hardening/log.md index 8e2e864..1bbcec2 100644 --- a/docs/hardening/log.md +++ b/docs/hardening/log.md @@ -2327,3 +2327,55 @@ apply the measured-data-class rule:** distinguish a platform-norm % (scrub) from % or a sourced benchmark (keep). --- + +### S31c multiplier-scrub (descriptive-% sub-pass, final) — platform-norm percentages asserted as fact → SSOT + +**CLASS: descriptive-%-scrub / hardening** (S31 batch c, final). Percentages asserting platform / +algorithm / audience behavior as fact, unsourced — distinct from S30 discrete-% (already swept), from +content-mix ratios (70/20/10), goal-progress benchmarks (50–80% of goal), and example-hook copy. Same +discipline as S27/S28/S30/S31a/b: read-and-show (Read tool) → grep-confirm → re-grep final; 8-step gate; +classification its own gate (NOT pre-approved with S31a/b — operator "Enig" before edit). + +**TEST (tool-grounded).** Per-claim exact greps over `commands` / `agents` / `references` / `skills`. The +catalog (S31a/S31b SURFACED) was the seed; the plugin-wide sweep surfaced a LARGER new sibling set beyond +it (the 64% / wrong-window-70% / Stage-2 / mobile / retention clusters) — surfaced + operator-approved +into S31c before edit (scope is its own gate; not silently widened). Measured-data / sourced-benchmark +rule applied: a platform-norm % is scrubbed; the user's measured/computed % or a cited benchmark stays. + +**HARDEN (24 edits, 12 files, +26/−26).** Vocabulary 1:1 with S30/S31a/b ("tends to / figure unverified", +"proportion unverified", "multiplier unverified", directional kept + number dropped → SSOT pointer). +- **Catalog (A):** suppression bands `analyze:230-231` (50-70% / 75%+ drop → partial / sharp reach loss), + `troubleshooting:180` (50-70% → partial); follow-probability `growth:58` + `glossary:216` (130% → + follow-graph signal, figure unverified); `report:215` ("per 2026 content format multipliers" → SSOT + pointer); `video-strategy-guide:304` (20-30% feed real estate → proportion unverified); `trajectory:39` + (30-40% follower growth → major driver, proportion unverified); "2.7x pattern interrupts" `glossary:153/198` + + `engagement-frameworks:84` (→ markedly more, multiplier unverified). +- **New siblings (B), operator-approved in:** "64% more follow-up" `engagement-coach:52/81/199/313` + + `engagement-frameworks:350` (5× → tends to earn more, figure unverified); "70% reach" with the WRONG + window (60min/1h) `engagement-coach:75` / `post-feedback-monitor:71` / `glossary:125` / `linkedin-formats:164` + → reconciled to the SSOT window (first 15–30 min decide ~70%; the **~70% KEPT** — SSOT-sourced l.81, high); + Stage-2 distribution `post-feedback-monitor:72` + `glossary:130` (6-10% of connections → small slice, + proportion unverified). +- **Borderlines (C), operator-ruled:** "70% of retention" (video) `video-strategy-guide:80` + + `content-creation/SKILL:235` → disproportionately determines (number dropped); "70% mobile" + `linkedin-formats:147` → the majority. **KEPT C1:** "~45% less engagement" (AI comments) + `engagement-coach:195/455` + `linkedin-formats:176` — already hedged "(correlational, medium + confidence)" + SSOT-tied (l.96); the hedge does the honesty work. +- **Straggler folded in (surfaced, not silent):** "~3% of posts reach save-worthy status" `glossary:216` + (same sentence as the 130% edit) + `growth:59` → "a small fraction". Not in the original map; surfaced + + folded with operator veto open. + +**KEPT INTACT.** Sourced / computed benchmarks: `growth:177-178` (Buffer 178% / 247%, computed from the cited +14,001 vs 5,033 / 381 vs 110), `growth:198` (11% engagement rate, Socialinsider 2024). SSOT `~70%` reach +figure (kept; only the window corrected). `firsthour:4/22` already used the SSOT window → untouched. OUT +(not the class): content-mix %, goal-progress benchmarks, scoring-rubric percentiles, word-count ratios, +example-hook copy ("73% / 84% / 87% / 67% / 40% more"). + +**VERIFY.** Per-claim re-grep of every scrubbed pattern over the FINAL files → 0 residual; SSOT `~70%` remains +only in the 5 reconciled-window lines + SSOT + firsthour. Gate 81/0/0 exit 0, counts 29/19/26 + v0.5.0. +`git diff --stat` = 12 files, +26/−26. Commit local (push held — `open/` public). + +**S31 COMPLETE (a + b + c).** The "Nx" multiplier + descriptive-% platform-norm class is fully reconciled to +SSOT. Hardening queue → post-hardening expert panel (`docs/expert-review/plan.md`) · command testing · GUI. + +---