linkedin-studio/commands
Kjell Tore Guttormsen d783f261dd fix(linkedin-studio): S24 harden create — drop orphan Glob grant from routing front-door
create is the Create-journey routing front-door (v4.1): guided "what to make?"
-> routes to the command that owns the format; delegates only, never drafts.
Routing axis is clean — all 8 emitted targets (post/quick/react/carousel/video/
multiplatform/batch/newsletter) resolve to commands/Y.md. Delegates-only holds:
every "draft" mention is the no-draft promise (:7/:22, long-form lock :66) or a
target-description (:38), no leak. The one finding was grant-hygiene: Glob was
declared (:14) but never used — the only file access is a fixed-path Read of the
state file (:26), which needs no pattern-matching. Same orphan-grant pattern as
S17-S22.

1 edit, commands/create.md only:
- allowed-tools :14: drop orphan Glob; net = {Read, AskUserQuestion}.

Verify: re-grep final — Glob NONE, allowed-tools = Read + AskUserQuestion;
git diff --stat = 1 file -1; test-runner 81/0/0 exit 0; counts 29/19 unchanged
(.md-only). FIXED, 0 deferrals. Scope note: Glob-orphan may recur in sibling
front-doors (measure S25, linkedin S26) — not expanded; each catches its own.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
2026-06-19 21:25:00 +02:00
..
ab-test.md fix(linkedin-studio): S18 harden ab-test — soften "(Tue-Thu, 8-9 AM optimal)" precision over-claim to "(Tue-Thu mornings)" 2026-06-19 13:55:41 +02:00
analyze.md fix(linkedin-studio): S16 harden analyze — drop unsourced 5+ hashtags penalty 2026-06-19 06:34:20 +02:00
audit.md fix(linkedin-studio): S17 harden audit — drop orphan WebFetch grant + re-source carousel save-rate claim to SSOT 2026-06-19 13:24:43 +02:00
batch.md fix(linkedin-studio): S7 harden batch — format-aware length band on per-post quality check 2026-06-18 15:29:31 +02:00
calendar.md fix(linkedin-studio): S13 harden calendar — concrete Reschedule snippet + correct camelCase exports 2026-06-18 20:19:31 +02:00
carousel.md fix(linkedin-studio): S5 harden carousel — Step-5 caption buzzword gate 2026-06-18 14:28:07 +02:00
competitive.md fix(linkedin-studio): S20 harden competitive — drop orphan WebFetch grant from allowed-tools 2026-06-19 15:05:48 +02:00
create.md fix(linkedin-studio): S24 harden create — drop orphan Glob grant from routing front-door 2026-06-19 21:25:00 +02:00
first-post.md docs(linkedin-studio): M0-14 — D3 path-convention + voice-readers prototype 2026-06-18 12:38:17 +02:00
firsthour.md fix(linkedin-studio): S12 harden firsthour — re-source ~70% stat to first 15-30 min + drop CEA mislabel 2026-06-18 18:48:19 +02:00
headless-review.md feat(linkedin-studio): v3.1.0 — Endring 9 adversarial review-pakke + per-artefakt personas 2026-05-29 13:01:24 +02:00
import.md fix(linkedin-studio): S14 harden import — drop baseline/metadata over-promise, prose now matches CLI 2026-06-18 20:56:47 +02:00
linkedin.md feat(linkedin-studio): S14 — journey layer (create/measure front-doors + 5-journey router), v4.1.0 2026-05-30 21:27:06 +02:00
measure.md docs(linkedin-studio): M0-15 — repoint remaining prose families + route ab-tests/plans 2026-06-18 13:04:18 +02:00
monetize.md fix(linkedin-studio): S21 harden monetize — drop orphan WebFetch+Write grants, re-source fabricated DM-conversion decay curve to SSOT 2026-06-19 15:23:28 +02:00
multiplatform.md fix(linkedin-studio): S4 harden multiplatform — Step-0 empty-source fallback + cross-platform buzzword line 2026-06-18 14:10:17 +02:00
newsletter.md docs(linkedin-studio): M0-15 — repoint remaining prose families + route ab-tests/plans 2026-06-18 13:04:18 +02:00
onboarding.md docs(linkedin-studio): M0-15 — repoint remaining prose families + route ab-tests/plans 2026-06-18 13:04:18 +02:00
outreach.md 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
pipeline.md fix(linkedin-studio): S8 harden pipeline — Step-3 buzzword gate enumerated inline 2026-06-18 17:15:46 +02:00
pivot.md fix(linkedin-studio): S11 harden pivot — moderate to-phase reset skipped fact-check (off-by-one) 2026-06-18 18:34:37 +02:00
post.md fix(linkedin-studio): S2 harden post — Step-5 buzzword gate + scorecard hook-band consistency 2026-06-18 13:32:56 +02:00
profile.md fix(linkedin-studio): S23 harden profile — re-source profile-as-validated-object overclaim to SSOT, soften SEO claims 2026-06-19 21:12:54 +02:00
quick.md fix(linkedin-studio): S1 hardening — method calibration (quick) + Start journey 2026-05-31 06:46:11 +02:00
react.md fix(linkedin-studio): S3 harden react — Step-6 buzzword gate + WebFetch-failure fallback (both paths) 2026-06-18 13:44:00 +02:00
report.md fix(linkedin-studio): S15 harden report — drop baselines/metadata phantom, fix engagement_rate flag + JSON schema fields 2026-06-19 06:18:44 +02:00
setup.md docs(linkedin-studio): M0-15 — repoint remaining prose families + route ab-tests/plans 2026-06-18 13:04:18 +02:00
strategy.md fix(linkedin-studio): S19 harden strategy — drop orphan WebFetch grant from allowed-tools 2026-06-19 14:02:44 +02:00
video.md fix(linkedin-studio): S6 harden video — caption buzzword gate + voice-samples graceful degradation 2026-06-18 15:20:05 +02:00