Lukker sløyfen pluginen manglet: en rettelse operatøren gjør i utgave N håndheves i N+1 i stedet for å bli gjenoppdaget. Maskineriet fantes (foldIns-skjema + promote→ratify siden fix #1); det som manglet var wiring — ingenting skrev til køen og ingen fase tømte den. - Fangst (A2-F7): Steps 2.5/3a/5.5/6.5 appender rettelsen ordrett med trigger, decision "pending". Ubetinget og bevisst dum — å avgjøre ved fangst om noe "fortjener" en regel er nettopp slik køen holder seg tom og sløyfen dør. - Step 11 retro (A2-F8), ≤5 min ETTER scheduling: promoter køen med eksplisitt JA/NEI (mekanisk → atomisk contract-gate-promotering, teller kun med grønn --ratify; dømmekraft → operatørens språkregelfil; NEI → rejected, beholdes), effort-oppsummering fra MÅLT phaseLog (aldri re-estimert), og ÉN friksjons-spørring som besvares tilbake til operatøren. Faser 18 → 19; resumption-tabellen ruter scheduling → Step 11, retro → complete. - articles.NN.retro: additiv-valgfri (default null), schemaVersion forblir 1. - Background-headless (A2-F6): --background kjører pakken i en bakgrunnsagent som skriver rapporten til disk; drafting-sesjonen leser fila. Samme isolasjon som fersk sesjon, uten copy-paste-sømmen. Inline fan-out = eksplisitt fallback. - Språkregler (C-10): ${DATA}/language-rules/<lang>.md (opt-in, template). Leses TO ganger — av language-reviewer (fanger) og av Step 4 (forebygger). Shippet banliste forblir baseline; brukerfila utvider. - references/fold-in-loop.md (A2-F9): loopen dokumentert domene-generelt in-tree, så en adopter uten ekstern skrivekontrakt har hele sløyfen. Refs 28 → 29. Suiter (alle grønne): test-runner 197 → 217 (Section 16u: 18 ubetingede greps + non-vacuity self-test; fase-sveip 16 → 17 faser; floor 179 → 198) · hooks 174 · trends 300 · brain 134 · editions 72 · specifics-bank 45 · contract-gate 33 · tests 35 · render 60. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QxvWAjte7vPcF79QeSRvRJ
70 lines
2.7 KiB
Markdown
70 lines
2.7 KiB
Markdown
---
|
|
language: en
|
|
schemaVersion: 1
|
|
---
|
|
|
|
# Accumulated language rules — `<language>`
|
|
|
|
> **OPT-IN — the plugin never writes this file for you.** Copy it into your data
|
|
> dir, one file per review language, and let it grow:
|
|
>
|
|
> ```bash
|
|
> mkdir -p "${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/language-rules"
|
|
> cp "${CLAUDE_PLUGIN_ROOT}/config/language-rules.template.md" \
|
|
> "${LINKEDIN_STUDIO_DATA:-$HOME/.claude/linkedin-studio}/language-rules/en.md"
|
|
> ```
|
|
>
|
|
> Name the file after the edition's `language` value (`en.md`, `no.md`, …).
|
|
> While it is absent, the shipped baseline applies alone and nothing warns.
|
|
|
|
This file is **yours**. It holds the language corrections you have made that you
|
|
do not want to make again — the judgment half of the fold-in loop
|
|
(`references/fold-in-loop.md`). Two things read it:
|
|
|
|
- **`agents/language-reviewer.md`** (Step 6.5, cold review) — grades against
|
|
these rules in addition to its five standard checks, so a correction you
|
|
confirmed once is caught every edition after.
|
|
- **`/linkedin:newsletter` Step 4** (consistency + quality) — reads it while the
|
|
draft is still being cleaned, so the defect is *prevented*, not only caught.
|
|
|
|
**`/linkedin:newsletter` Step 11** (retro) appends to it: when you promote a
|
|
judgment-class fold-in, the rule lands here with the edition that surfaced it.
|
|
Mechanical corrections do **not** come here — those become deterministic
|
|
`scripts/contract-gate` rules instead.
|
|
|
|
## Relationship to the shipped baseline
|
|
|
|
`references/longform-quality-rules.md` rule 3 (the AI-slop ban-list) is the
|
|
**baseline** and is never edited by the loop. This file **extends** it. Where the
|
|
two disagree, the stricter one wins; if you actually want to overturn a baseline
|
|
rule, say so explicitly under *Deliberate exceptions* below — an unexplained
|
|
contradiction reads as drift to the next reviewer.
|
|
|
|
## Format
|
|
|
|
One rule per bullet. Keep each rule **checkable** — a reviewer must be able to
|
|
tell from the text alone whether it was broken. Add the date and the edition that
|
|
surfaced it, so a rule that turns out to be wrong can be traced back and dropped.
|
|
|
|
```markdown
|
|
- **<what to avoid>** → <what to do instead>. _(<YYYY-MM-DD>, edition <NN>)_
|
|
```
|
|
|
|
Good: *«"leverage" as a verb → use the plain verb ("use", "build on").»*
|
|
Bad: *«write better sentences»* — nothing can check that.
|
|
|
|
---
|
|
|
|
## Rules
|
|
|
|
<!-- Step 11 appends promoted judgment-class fold-ins below this line. -->
|
|
|
|
_(empty — no rules accumulated yet)_
|
|
|
|
## Deliberate exceptions
|
|
|
|
Baseline rules you have consciously decided not to follow, **with the reason**.
|
|
Keep this short; a long list here means the baseline is wrong for your practice
|
|
and should be discussed, not quietly bypassed.
|
|
|
|
_(none)_
|