linkedin-studio/docs
Kjell Tore Guttormsen ff52ec8577 fix(linkedin-studio): S22 harden outreach — add missing Bash grant, drop orphan WebFetch+Write, re-source fabricated pod/DM stats to SSOT
Outreach is the first command in the hardening queue that both delegates to an
agent (network-builder) and mutates real state (recordOutreachContact), so the
weight fell on axis-d. Five fixes across two files (operator-approved scope
extension to the SSOT-diverging guide source):

- allowed-tools: ADD Bash (Step 8c runs `node state-updater.mjs --record-outreach`
  and needs it — firsthour precedent grants Bash for the same pattern; the command
  promised a mutation it couldn't execute), DROP orphan WebFetch + Write grants
  (zero body use; :410/:1040 "Write a post" is prose). Now
  Read·Glob·WebSearch·AskUserQuestion·Task·Bash.
- Step 7 pod-warning (axis-b'): replaced fabricated magnitudes ("30-55% reach
  reduction", "shadow suppression", "credibility score", "penalizes",
  "Post-March 2025", "low dwell") with the SSOT statement
  (algorithm-signals-reference.md:98 — demote out of "Most Relevant" / scope to
  own network / restrict repeat offenders) + cite.
- :652 DM-amplification "2-3x first-hour" (axis-b'): re-attributed 2-3x to collab
  reach (where SSOT places it), kept the first-hour effect qualitative.
- collaborations-guide.md:349-370 (axis-b', scope extension): same SSOT rewrite of
  the "March 2025 Crackdown" section so the Step 7 fix can't be re-rendered from a
  stale reference (dropped "shadow banning ALL future content / 90+ days / 6+
  months / permanent penalty" + speculative detection methods).

Verify: re-grep both files clean (orphans/fabricated stats NONE, Bash :21, SSOT
text in place); recordOutreachContact throwaway-fixture 10/10 PASS (additive,
$-safe, newest-first, untouched undeclared fields); test-runner 81/0/0 exit 0;
counts 29/19 unchanged (.md-only).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
2026-06-19 20:33:30 +02:00
..
expert-review docs(linkedin-studio): add post-herding expert-panel review workflow spec 2026-06-19 20:03:53 +02:00
hardening fix(linkedin-studio): S22 harden outreach — add missing Bash grant, drop orphan WebFetch+Write, re-source fabricated pod/DM stats to SSOT 2026-06-19 20:33:30 +02:00
m0 feat(linkedin-studio): M0 — per-user external data dir (v0.5.0) 2026-06-18 13:17:35 +02:00
remediation docs(linkedin-studio): S17 — C13–C46 triage (0 still-real) closes audit remediation 2026-05-31 04:45:11 +02:00
voyage-build chore(linkedin): v2.0.0 — import trim, router gating, full doc pass (S20) 2026-05-28 06:53:55 +02:00
agents-capability-matrix.md fix(linkedin-studio): S11 — model-name declaration drift + model-consistency lint guard 2026-05-30 15:05:37 +02:00
brief-fullspektrum-innholdsmotor.md refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00
brief-maskinrommet-feltkunnskap.md docs(ltl): add Maskinrommet field-experience brief for upgrade 2026-05-27 00:52:05 +02:00
integration-test-guide.md fix(linkedin-studio): S13 — close S12 WARN ($-scalar + false-green test) + $-safety lint guard 2026-05-30 19:12:45 +02:00
plan-fullspektrum-innholdsmotor.md fix(linkedin-studio): S11 — model-name declaration drift + model-consistency lint guard 2026-05-30 15:05:37 +02:00
voyage-build-brief.md refactor(linkedin)!: rename plugin linkedin-thought-leadership → linkedin-studio (v3.0.0) 2026-05-29 11:32:02 +02:00