chore(linkedin-studio): release v0.7.0

Trend engine → production bridge. CHANGELOG [0.7.0] documents N5 (/linkedin:trends
command + trend-spotter pin-fix + triage), N6 (proposal + reader-side layer + F6
calibration), N7 (trend→newsletter bridge + F7 band-cap gate). Version synced:
plugin.json + README badge + CLAUDE.md header → 0.7.0.

Landed feedback: MR-F3 (trend→newsletter bridge) @ 1adb7f4.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014bE7VbkmR3cqHFEeGfzgwb
This commit is contained in:
Kjell Tore Guttormsen 2026-07-23 21:27:01 +02:00
commit 0b34218a38
4 changed files with 28 additions and 4 deletions

View file

@ -1,6 +1,6 @@
{
"name": "linkedin-studio",
"version": "0.6.0",
"version": "0.7.0",
"description": "LinkedIn Studio — full-spectrum LinkedIn content engine: feed posts, carousels, video scripts, and long-form newsletter editions, with the 2026 relevance-ranking model baked in. v4.0.0 is an audit-remediation release (Voyage Phase 03): every user-facing claim is made honest or removed, all 11 previously-orphaned agents are wired (→ 19 agents), a `/linkedin:firsthour` post-publish command is added (→ 27 commands), the algorithm-signal claims are reconciled to one sourced statement (no unpublishable model name or date), short-form de-AI and video quality gates are added, and the structure lint is rebuilt to guard the real layout plus version/count/stat consistency. Breaking: the newly-wired agents register only on reinstall/reload, and this consolidates the v3.0.0 identity break (slug, agent namespace `linkedin-studio:<agent>`, state-file path `~/.claude/linkedin-studio.local.md`). v3.1.0 added the cold adversarial review package (`/linkedin:headless-review` + Step 6.5 + `/linkedin:pivot` + per-artifact personas); the `/linkedin:*` commands are unchanged. v4.1.0 adds a journey layer: two guided front-doors (`/linkedin:create`, `/linkedin:measure`) plus a router re-tiered into five journeys (Start · Create · Engage · Measure · Grow), with the 27 existing commands kept as the execution tier (→ 29 commands; additive, reload registers the two new commands).",
"author": {
"name": "Kjell Tore Guttormsen"

View file

@ -5,6 +5,30 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [0.7.0] - 2026-07-23
**Trend engine → production bridge.** The discovery pass becomes a first-class command, gains a reader-side proposal + actionability layer, and is wired directly into the long-form pipeline: a trend now flows id-traceably from discovery to a scheduled edition, and a candidate with no formulable reader-grip can no longer inflate the top band.
### Added — trend discovery command (N5)
- **`/linkedin:trends`** — trend-discovery pass: delegates to `trend-spotter` (default long-form mode), persists to the trend store + a dated morning brief, triages per candidate (act/skip). Commands 29 → 30. (`a8e3cac`)
- **`trend-spotter` model-pin removed** — the agent now inherits the session model instead of being pinned to `sonnet`, so a discovery pass runs at the session's tier. (`a8e3cac`)
### Added — trend proposal + reader-side layer (N6)
- **Proposal fields on the trend record**`angle` / `targetLevel` / `rationale` / `relatedIds`, plus the reader-side `actionability` (is a reader-grip formulated?) / `verdict` (BÆRENDE/STØTTE/NYHET) and `readerQuestion` / `painPoint` / `saturation`. All additive-optional; store schema stays v4 (no migration). (`65b6033`)
- **Candidate lifecycle**`new → selected → acted | skipped`; a `select` verb + `--ids` batch triage (partial hit = exit 0, all-miss = exit 2). (`65b6033`)
- **Band-distribution calibration (MR-F6)** — the scoring SSOT now states the expected distribution (Immediate ≥8 is the exception, target ≤~3 of 20), checkable across runs against the persisted composite. (`bace49f`)
### Added — trend→newsletter bridge + actionability gate (N7)
- **Trend→newsletter bridge (MR-F3)**`/linkedin:newsletter` Step 1 accepts a trend id and pre-fills the brief (angle / target-level / key-points / source-URLs) from the stored candidate; `articles.NN.sourceTrendId` records the provenance (additive-optional, no edition-state schema bump); Step 10 auto-`act`s the source trend on scheduling so the discovery→production loop closes deterministically; Step 2 gains an external fact-package intake path (kilde-så-draft with finished research). `grep -ci trend commands/newsletter.md`: 0 → 18. (`1adb7f4`)
- **F7 band-cap gate (MR-F7)** — a candidate whose reader-grip is explicitly not formulated (`actionability.formulated=false`) is capped to at most `High` regardless of composite. Pure and deterministic; it overrides the composite→band derivation **downward only** (the real composite is preserved), wired into the capture path so the persisted priority is gated. (`1adb7f4`)
### Landed feedback
- **MR-F3** (trend→newsletter bridge) — landed @ `1adb7f4`.
## [0.6.0] - 2026-07-17
**Catch-up release.** Everything since the v0.5.3 tag ships here (28 commits, `git log --oneline v0.5.3..HEAD` is the source of truth), and the sections below also document work that shipped **inside** earlier tags but was never changelogged (see the catch-up note at the end).

View file

@ -1,6 +1,6 @@
# LinkedIn Studio Plugin (v0.6.0)
# LinkedIn Studio Plugin (v0.7.0)
Full-spectrum LinkedIn content engine — short-form feed posts, carousels, video scripts, and long-form newsletter editions — with the 2026 relevance-ranking model baked in. Maturity v0.6.0: M0 (per-user data dir `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/`, idempotent session-start migration — see `references/data-path-convention.md`) complete; the 29 pre-0.7.0 command surfaces all through the interactive quality-gate (`docs/hardening/log.md`) AND through independent cold-review (29/29, R2aR5 — `docs/hardening/review*.md`); `/linkedin:trends` (new, 0.7.0-dev) is not yet gated. Remaining for v1.0.0: a GUI. Version history → `CHANGELOG.md`.
Full-spectrum LinkedIn content engine — short-form feed posts, carousels, video scripts, and long-form newsletter editions — with the 2026 relevance-ranking model baked in. Maturity v0.7.0: M0 (per-user data dir `${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/`, idempotent session-start migration — see `references/data-path-convention.md`) complete; the 29 pre-0.7.0 command surfaces all through the interactive quality-gate (`docs/hardening/log.md`) AND through independent cold-review (29/29, R2aR5 — `docs/hardening/review*.md`); `/linkedin:trends` (shipped in 0.7.0) is not yet through the hardening gate. Remaining for v1.0.0: a GUI. Version history → `CHANGELOG.md`.
## Architecture

View file

@ -6,7 +6,7 @@
*AI-generated: all code produced by Claude Code through dialog-driven development. [Full disclosure →](../../README.md#ai-generated-code-disclosure)*
![Version](https://img.shields.io/badge/version-0.6.0-blue)
![Version](https://img.shields.io/badge/version-0.7.0-blue)
![Platform](https://img.shields.io/badge/platform-Claude_Code_Plugin-purple)
![Commands](https://img.shields.io/badge/commands-30-green)
![Agents](https://img.shields.io/badge/agents-19-orange)