ktg-plugin-marketplace/plugins
Kjell Tore Guttormsen 853cad3ade fix(linkedin-studio): S10 — generalize stale-stat lint to the pattern class + permanent non-vacuity self-test
Closes the S9 re-review (1 BLOCKER + 2 MAJOR, all grep-verified). The survivor
set converged 8 -> 6 -> 2; this closes the meta-problem behind the convergence,
not just the two lines.

BLOCKER — references/glossary.md:10: drop the fabricated "150-parameter
foundation model" (a garbled 150B that the S9 enumerative grep/lint, requiring a
"B"/"billion", could not match). Reframe to "a real input to LinkedIn's 2026
relevance-ranking model" with no parameter count, citing
algorithm-signals-reference.md inline — which makes the :12 "Used in" provenance
accurate (the reference does state the relevance-ranking framing; it never stated
"150-parameter").

MAJOR — CHANGELOG.md:308: de-brand "360Brew profile optimization (January 2026
algorithm update)" -> "Profile/topic-relevance optimization". Removes the
unpublishable brand + asserted Jan-2026 date, honouring v4.0.0's "removed
everywhere" claim. It was the only STALE_STATS hit in CHANGELOG.

MAJOR — scripts/test-runner.sh: the rebuilt lint was enumerative on surface form.
Generalize it to the PATTERN CLASS so the same grep that defines the SC fails on
any surface form, present or future:
  - STALE_STATS model token: "150 ?B param|150 billion param"
      -> "[0-9]+[ -]?(B|billion)?[ -]?param"
    (covers 150-parameter / 150B param / 150 billion param). This robustifies the
    review's literal suggestion "[0-9]+[ -]?(B|billion )?param", which missed the
    space form "150B param"; the separator is moved out of the group.
  - STAT_HITS grep scope += CHANGELOG.md (the 360Brew survivor lived outside it).
  - Permanent non-vacuity SELF-TEST before the real scan: 13 forbidden probes must
    match (incl. the exact "150-parameter" survivor), 8 legitimate probes must not
    ("Language parameter", "parameterized", "different parameters",
    "175-milliarders parametermodell", 5x5x5, cadence, pixel dims, "10x your
    reach"). S7->S9 each shipped a green lint because the proof was run by hand and
    never committed; this makes narrowing STALE_STATS fail the suite.

Verification: test-runner.sh 67/0/0 exit 0 (was 66/0/0; +1 self-test);
node --test 94/94; broadened exhaustive grep across the tree -> zero survivors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-30 13:48:37 +02:00
..
ai-psychosis chore: WIP marketplace doc adjustments across plugins 2026-05-18 12:04:02 +02:00
claude-design docs(claude-design): polish README — Why this exists + workflow example + recent versions 2026-05-18 21:28:31 +02:00
config-audit chore: WIP marketplace doc adjustments across plugins 2026-05-18 12:04:02 +02:00
graceful-handoff chore: WIP marketplace doc adjustments across plugins 2026-05-18 12:04:02 +02:00
human-friendly-style feat(human-friendly-style): v1.1.0 — always show irreversible actions verbatim + discoverability docs 2026-05-29 11:53:00 +02:00
linkedin-studio fix(linkedin-studio): S10 — generalize stale-stat lint to the pattern class + permanent non-vacuity self-test 2026-05-30 13:48:37 +02:00
llm-security chore(llm-security): v7.7.2 — language consistency pass 2026-05-19 06:47:44 +02:00
ms-ai-architect chore: WIP marketplace doc adjustments across plugins 2026-05-18 12:04:02 +02:00
okr chore: WIP marketplace doc adjustments across plugins 2026-05-18 12:04:02 +02:00
voyage chore(voyage): consolidate continuity into STATE.md 2026-05-29 20:29:51 +02:00