linkedin-studio/docs
Kjell Tore Guttormsen 8d1ef43801 fix(linkedin-studio): S25 harden measure — explicit Glob, drop Read from routing front-door
measure is the Measure-journey routing front-door (v4.1): guided "how am I
doing?" -> routes to the analytics command that owns the work; delegates only,
never crunches numbers. Routing axis is clean — all 5 emitted targets
(import/report/analyze/audit/ab-test) resolve to commands/Y.md. Delegates-only
holds: the 3 crunch/analysis mentions (:7/:20/:40) are all no-do promises, no
leak.

Grant-hygiene was the one finding, and it differs from S24 create. There Glob
was a pure orphan (no filesystem check at all). Here measure HAS an optional
Step 0 ("if .../analytics/ holds imported data, note last import") that gives
Glob a real home — but the grant<->use link was implicit (body named no tool),
and Read hung on the same vague Step 0. Operator chose: make Glob explicit,
drop Read as redundant (the import-date need is met by a Glob listing).

2 edits, commands/measure.md only:
- allowed-tools :11: drop Read; net = {Glob, AskUserQuestion}.
- Step 0 :23: "You may Glob .../analytics/; if it holds imported data, note last
  import" — gives the retained Glob grant a named body home.

Verify: re-grep final — Read as tool name NONE, allowed-tools = Glob +
AskUserQuestion (:11-12), Glob now in body :23; routing unchanged (5/5);
git diff --stat = 1 file +1/-2; test-runner 81/0/0 exit 0; counts 29/19
unchanged (.md-only). FIXED, 0 deferrals. Scope note: Glob-orphan question now
resolved for measure (it had a home via Step 0; create did not); linkedin (S26)
still to check independently.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016qgzo6rxthw7KuxHjn5vyE
2026-06-19 21:38:02 +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): S25 harden measure — explicit Glob, drop Read from routing front-door 2026-06-19 21:38:02 +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