• v0.5.0 527391ab47

    ktg released this 2026-06-21 17:15:06 +00:00 | 63 commits to main since this release

    Everything essential since v0.4.0 — 75 commits across four workstreams. v0.4.0
    was a pure version re-baseline (4.1.0 → 0.4.0, no functional change); v0.5.0 is
    the first release carrying real work since.

    M0 — per-user external data dir (architecture; 1 of 4 v1.0.0 workstreams)
    All user data (voice profile, analytics, drafts, plans, A/B tests, audience
    insights, frameworks, case studies, trackers, user profile) now resolves under
    ${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/ instead of the plugin
    tree. Non-breaking: idempotent atomic migration on session-start (copy → fsync
    → byte-verify → rename); deprecated ANALYTICS_ROOT/STATE_FILE/PLUGIN_ROOT
    aliases honored one more minor. Resolver seam per runtime (data-root.mjs +
    storage.ts twins, consistency-tested). See references/data-path-convention.md.

    Hardening S2–S31 — honesty quality-gate sweep (24 commands + agents + references)
    Per-surface buzzword/de-AI gates; every unsourced algorithm magnitude and "Nx"
    multiplier re-sourced to one SSOT (references/algorithm-signals-reference.md);
    "thought leadership" terminology scrubbed to neutral tree-wide; orphan tool-
    grants dropped from command frontmatter; precision over-claims softened.
    Structure lint grew 74 → 84 checks (count/version/model-consistency +
    render-chain + $-safety + data-dir-convention guards), each self-testing.

    Fix #1 — deterministic §B/§C1 contract binding-gate (writing-contract enforcement)
    A pure, tested gate (scripts/contract-gate) wired into /linkedin:newsletter
    Step 4.5; mechanical corrections fold in as rules (§E foldIns) and ratify 1:1
    against the contract manifest, held green in CI.

    Fix #2 — lived-specifics bank / kilde-så-draft (authenticity foundation)
    A topic-tagged, provenance-bearing store of the operator's real, un-generatable
    raw material (scripts/specifics-bank), wired as /linkedin:newsletter Step 1.5
    (extraction before research) + a Step 2.5 binding-gate, so drafts start grounded
    instead of hollow. Never AI-generated.

    Scope note: the research-engine §5 trend store (scripts/trends, slice 1) sits on
    main above this tag and belongs to the next development cycle — deliberately NOT
    part of v0.5.0.

    Honest maturity stays v0.5.0: M0 done; hardening / command-testing / GUI remain
    the path to v1.0.0.

    Downloads