fix(linkedin-studio): N10 — konfigurerbart målnivå-spenn [skip-docs]
C-8: gjør «praktisk anvendbar på alle nivå» til en konfigurerbar gate-akse og fjerner den hardkodede primær-personaen. 6-fils scope (KTG-valgt) — gjør targetLevel til en EKTE ende-til-ende-dimensjon i stedet for et fantomfelt: - references/longform-quality-rules.md: «non-technical line manager» → brukerens konfigurerte target-level span (domene-generelt). - config/personas.template.md: «primær trumfer» krever nå obligatorisk sekundær i MOTSATT ende av spennet; sekundær-NEI kan kun avskrives som «signal, ikke svikt» med eksplisitt ceiling-begrunnelse. Ny tekniker-ende-seed (Persona 4, Løsningsutvikler/AI-ingeniør) — tidligere kun 3 leder-personas. - config/edition-state.template.json: additivt articles.NN.targetLevel-slot (default null, INGEN schemaVersion-bump — samme mønster som sourceTrendId/language). - commands/newsletter.md: persister resolvert targetLevel ved Step 1.5-checkpointet. - agents/persona-reviewer.md: leser articles.NN.targetLevel og plasserer personaene på spennet (fallback til persona-ekspertise om feltet er null). Premiss-korreksjon: planens 4-fils scope antok targetLevel fantes i edition-state via N7-broen; det stemte ikke (fantes kun i trend-store + fritekst-mapping). +2 filer (edition-state-slot + newsletter-persist) gjør konsumet reelt. TDD: ny Section 16q i test-runner (9 UNCOND. .md/.json-greps + non-vacuity self-test); en vacuity-bug i egen edition-state-check fanget og skjerpet (grep slot-literal "targetLevel": null, ikke bare ordet — sourceTrendId-docstringen inneholder allerede "targetLevel"). test-runner 154→163/0, anti-erosion floor 137→146. Øvrige fem suiter uendret grønne (trends 300 · brain 134 · hooks 140 · tests 35 · render 60). 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:
parent
34c6c854c0
commit
08106317db
6 changed files with 186 additions and 17 deletions
|
|
@ -98,6 +98,18 @@ Read the named persona from `config/personas.template.md` (or the project's
|
|||
**overbeviser**, **ekspertise**, **sjargong**. Judge as that reader — not as
|
||||
yourself, not as a generic audience. One run = one persona.
|
||||
|
||||
Then read `articles.NN.targetLevel` from the edition-state (set at Step 1 of
|
||||
`/linkedin:newsletter` — the N7 trend bridge / N6 proposal layer pre-fills it,
|
||||
the operator confirms it during calibration). It fixes where this persona sits on
|
||||
**the edition's configured target-level span**: the primær anchors the
|
||||
reader-facing end, and the active set MUST include a mandatory secondary at the
|
||||
OPPOSITE end of that span. Place this persona on the span accordingly — a
|
||||
secondary NO from a reader at the far end is a SIGNAL only when the persona
|
||||
genuinely sits at that end, and only with an explicit ceiling justification;
|
||||
otherwise it is a real flag. If `articles.NN.targetLevel` is absent (a
|
||||
manually-started edition that never resolved one), fall back to the persona's own
|
||||
**ekspertise** field to locate it on the span.
|
||||
|
||||
### Step 2: Read the input as that reader
|
||||
|
||||
Read top to bottom, read-only, once, the way this reader actually would.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue