docs(linkedin-studio): S29d hardening log entry — terminology-scrub skills/config/assets/hooks-test
Append the S29d verification record to docs/hardening/log.md (anchored
"### S29d terminology-scrub" entry, matching S29a-S29c format): the 8-edit replacement map
across 6 files (skills/linkedin-content-creation x3, linkedin-strategy, config template, two
shipped assets, the clipboard test fixture), the 4 judgment-calls, the FORM B = 8 kept-by-design
list (buzzword denylists + role usages), the broad anchor-link check (none break), and the
verify block (FORM A in scope = NONE; FORM B unchanged 8; filename pointers unchanged 21;
clipboard test 13/0; gate 81/0/0; counts 29/19/26/6 unchanged). Documents fix commit d15ffa4.
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:
parent
d15ffa4e03
commit
a534edf4fc
1 changed files with 63 additions and 0 deletions
|
|
@ -2088,3 +2088,66 @@ canonical file's in-file phrase scrub is done, so S29e is now a pure rename + po
|
|||
remaining FORM A inside the file.
|
||||
|
||||
---
|
||||
|
||||
### S29d terminology-scrub — "thought leadership" → neutral (`skills/` + `config/` + `assets/` + `hooks/`-test)
|
||||
|
||||
**CLASS: terminology-scrub** (NOT re-hardening — surgical removal of the operator-banned brand phrase
|
||||
"thought leadership", FORM A, from the remaining surfaces; memory `no-thought-leadership-phrase`). Fourth
|
||||
sub-pass of the plugin-wide S29 scrub. SCOPE inherits the S29a-S29c operator-lock verbatim (FORM A only;
|
||||
FORM B untouched; per-directory sub-pass, map approved before edit).
|
||||
|
||||
**TEST (tool-grounded).** `grep -in "thought leader"` (A+B) across the S29d scope — `skills/`, `config/`,
|
||||
`assets/`, `README.md`, `CLAUDE.md`, `hooks/prompts/`, `hooks/scripts/__tests__/clipboard-helper.test.mjs`,
|
||||
and the forward-looking docs (`docs/integration-test-guide.md`, `docs/expert-review/plan.md`). Result:
|
||||
**8 FORM A instances / 7 files** + **8 FORM B** + 21 hyphenated filename pointers (S29e). The forward-
|
||||
looking docs were clean. The test fixture (`clipboard-helper.test.mjs:61`) was included deliberately —
|
||||
STATE pre-listed it. Anchor-check: `\bTL\b` / `value test` in scope = NONE; a broad `(#…thought…)`
|
||||
anchor-link grep across the whole plugin = **NONE**, so renaming the three skill headers breaks no internal
|
||||
link (the S29c anchor grep started with `#thought-leadership` and would have missed
|
||||
`#step-2-identify-thought-leadership-angles`; this run used a `thought`-anywhere anchor pattern). The only
|
||||
text cross-refs to the changed header phrases were the three instances being edited.
|
||||
|
||||
**HARDEN (8 edits, 6 files — 1:1).** Vocabulary consistent with S29a-S29c.
|
||||
- `skills/linkedin-content-creation/SKILL.md` (3): :75 "### Step 2: Identify Thought Leadership Angles" →
|
||||
"Identify Content Angles"; :109 "**Standard Thought Leadership Post (…):**" → "**Standard Post (…):**"
|
||||
(matches the S29a/S29c "Standard Post Structure" equivalent); :192 "**Axis 2: The 8 Thought Leadership
|
||||
Angles**" → "The 8 Content Angles". (lines 77/193 filename pointers → S29e.)
|
||||
- `skills/linkedin-strategy/SKILL.md:176` phase-focus cell "Thought leadership, cross-platform" →
|
||||
"Signature content, cross-platform" (judgment-call; the Authority phase's column-1 is already
|
||||
"Authority", so "Signature content" avoids the echo).
|
||||
- `config/user-profile.template.md:35` "1. [ ] Build thought leadership & authority" → "Build authority &
|
||||
influence" (judgment-call; "& authority" already present, so a straight map would duplicate).
|
||||
- `assets/checklists/quality-scorecard.md:136` "Passes thought leadership test:" → "Passes Authority Value
|
||||
Test:" (consistent with the renamed test; its 3 questions ARE the Authority Value Test). (line 132
|
||||
buzzword denylist = FORM B, untouched.)
|
||||
- `assets/case-studies/case-study-template.md:173` "**Best for:** Thought leadership, showing expertise" →
|
||||
"Authority content, showing expertise".
|
||||
- `hooks/scripts/__tests__/clipboard-helper.test.mjs:61` unicode fixture "'🚀 Thought leadership → impact'"
|
||||
→ "'🚀 Authority → impact'" (judgment-call; the test asserts unicode/emoji handling — 🚀 + → retained, so
|
||||
coverage is unchanged; pathguard allows `__tests__/*.mjs`).
|
||||
|
||||
**KEPT BY DESIGN (FORM B = 8, operator-locked).** Five buzzword-denylist entries that MUST list the banned
|
||||
word "thought leader" (`skills/linkedin-studio/SKILL.md:78`, `assets/checklists/quality-scorecard.md:132`,
|
||||
`CLAUDE.md:124`, `README.md:217`, `hooks/prompts/content-quality-gate.md:13`) + three role usages
|
||||
(`skills/linkedin-networking/SKILL.md:9` & `:185`, `README.md:158` "niche thought leaders").
|
||||
|
||||
**VERIFY.**
|
||||
- Re-grep final FORM A `thought leadership` (space) in the S29d scope → **NONE**.
|
||||
- FORM B in scope = **8**, unchanged.
|
||||
- Filename pointers `thought-leadership-angles.md` in scope = **21**, unchanged (S29e).
|
||||
- New terms present (1:1 with edits): "Identify Content Angles", "Standard Post", "The 8 Content Angles",
|
||||
"Signature content, cross-platform", "Build authority & influence", "Authority Value Test", "Authority
|
||||
content, showing expertise", "🚀 Authority → impact".
|
||||
- `node --test clipboard-helper.test.mjs` → **pass 13 / fail 0** (the fixture change kept the test valid).
|
||||
- `bash scripts/test-runner.sh` → `Passed: 81 · Failed: 0 · Warnings: 0`, **exit 0**; counts
|
||||
**29/19/26/6** + v0.5.0 unchanged.
|
||||
- Disposition: **FIXED** (8 edits, 6 files). Commit `b804a04` (local; push held — the STATE.md-tracking
|
||||
commit `773340b` is parked at the tip, so a normal push would carry it; awaiting operator decision).
|
||||
|
||||
**SURFACED (queued, not swept).** Remaining S29 queue: **S29e** rename `thought-leadership-angles.md` →
|
||||
`content-angles.md` + all pointers (atomic; filename locked; the file's in-file FORM A is already gone, so
|
||||
S29e is a pure rename + pointer-update). After S29e: **S30** magnitude-scrub. The plugin-wide FORM A scrub
|
||||
is now complete except the canonical filename itself (S29e) and the one kept ironic quote
|
||||
(`references/video-strategy-guide.md:429`).
|
||||
|
||||
---
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue