chore(linkedin-studio): release v0.8.0 — produksjonslinjen komplett
CHANGELOG [0.8.0] (N7.5-N18) + versjonssync i alle filer som nevner versjonen. README: badge-retting (agents 19->20, refs 28->29, begge verifisert mot disk) + eksplisitt CLI-install-linje (marketplace add registrerte kun markedsplassen; ingen ikke-interaktiv installsti fantes) + "0.7.0-dev" -> "shipped in 0.7.0" for /linkedin:trends. Alle ti suiter groenne, alle floors holdt: test-runner 270 - analytics 202 - trends 300 - brain 134 - editions 72 - specifics-bank 45 - contract-gate 33 - tests 35 - render 63 (ny floor) - hooks 191. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QxvWAjte7vPcF79QeSRvRJ
This commit is contained in:
parent
e0f964ad60
commit
f98446aeea
4 changed files with 19 additions and 9 deletions
|
|
@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
## [Unreleased]
|
||||
|
||||
## [0.8.0] - 2026-07-27
|
||||
|
||||
**The production line, closed.** 0.7.0 built the bridge from discovery to a scheduled edition; 0.8.0 makes the whole line hold together and, for the first time, feed back into itself. A candidate now travels id-traceably from capture to a scheduled slot with **no manual re-entry anywhere in the chain** (proven end-to-end before this release). A measurement now changes the next piece instead of dying in chat. A correction made once is enforced from then on. Voice is bound *before* prose rather than scrubbed after. The series remembers what it has already spent. And the engine finally knows your own normal well enough to **refuse a verdict** when the data is too thin — the answer that keeps everything above it honest.
|
||||
|
||||
### Added — demand-sweep «innenfra og ut» (N7.5 / MR-F9)
|
||||
|
||||
- **`demand-spotter` agent** — the demand-side twin of `trend-spotter`. Discovery finds *what happened*; the sweep translates it into *the reader's problem* via three passes after discovery, before drafting: demand-sweep (verbatim questions from where readers ask) → pain-point map → vocabulary translation (the reader's words, not the field's jargon). Inherits the session model; agents 19 → 20.
|
||||
|
|
@ -98,6 +102,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- **`/linkedin:analyze` tests the problem before diagnosing it** — a new Step 2a reads the band first. `within-band` says plainly that this looks like ordinary variation rather than a drop (and asks whether to continue) instead of manufacturing a diagnosis; `no-verdict` continues on self-report only, labelled provisional. Step 5's severity assessment now measures against the band rather than a remembered peak.
|
||||
- Additive and backward-compatible: `baseline` is optional in the report types, so pre-N17 reports load unchanged (and a consumer says "no baseline in this report" rather than assuming one). analytics suite 144 → 202 (58 new tests: median/MAD, window, band, refusal, grouping, period reading, queue join, report wiring); test-runner 247 → 270 (Section 16x: 23 unconditional greps + self-test; anti-erosion floor 228 → 251); `tsc` clean.
|
||||
|
||||
### Fixed — cleanup never topples a successful render (N18)
|
||||
|
||||
- **`render/build-figur.mjs` — a figure that rendered could still fail** — `runChromeScreenshot`'s finish path SIGKILLed the parent Chrome process and resolved **without waiting for it to die**. The renderer/GPU children outlived it and kept writing into `--user-data-dir` inside the work dir while the `finally` block was already traversing that same directory, so the cleanup raced the dying browser and threw `ENOTEMPTY`. The PNG lives *outside* the work dir and was already written by then — so the render had succeeded and the cleanup toppled it. Replaced with `cleanupWorkDir()`: an explicit retry loop (configurable `maxRetries`/`retryDelay`, injectable `rm` so the retry is testable) that **never throws** — a work dir that cannot be removed is a leaked temp dir, not a failed figure.
|
||||
- This was never a flaky test. Measured before the fix, the render suite passed **1 run in 4**; after, **5 of 5**. Suite 60 → 63 (new floor).
|
||||
|
||||
### Built feedback (awaiting consumer-side proof)
|
||||
|
||||
- **MR-F9** (demand-sweep «innenfra og ut») — built; the (a)/(b)/(c) evidence gate is a runtime demonstration, proven consumer-side (plugin agents don't resolve in the dev repo).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue