fix(okr): B2 ingestion-kode-hygiene + bump 1.7.1 (patch-lane)

8 hygiene-fikser fra review 2026-07-16 par.4 kode-lista, TDD roed-groenn
(suite 138 -> 149):
- innboks-split: slugify translittererer ae/oe (datatap-fiks)
- innboks-frontmatter: beskrivende feil ved manglende sourceMtime
- okf-index: --okf-version bumper eksisterende rot, flagg-tolerant CLI
  (exit 2 ved manglende verdi), sanitizeEntry strip C1/zero-width/bidi/
  Unicode-tag
- write-org-profile: circuit-breaker MERGER i stedet for aa overskrive
  full config (M4); test beviser at eksisterende config overlever
- compose-org-profile: intern ----linje trunkerer ikke blokken
- coaching-hook: at-risk teller status-markerte tabellrader (M1/m1)
- inject-okr-context: topic-guard treffer boeyningsformer (maalene)
- frontmatter: BOM/CRLF-toleranse (falsk mangler-type-fiks)

Versjonsflater bumpet til 1.7.1 (package/plugin/lock/CLAUDE/README/
SKILL x2/package-shape-test) + CHANGELOG 1.7.1-seksjon (B1+B2).
Release-tag + katalog-ref venter paa [G-B] operatoer-go.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-07-17 04:02:10 +02:00
commit 482effbad1
25 changed files with 289 additions and 29 deletions

View file

@ -5,6 +5,28 @@ 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).
## [1.7.1] - 2026-07-17
Patch-lane-release: restsanering av MINOR/hygiene-funn fra dyp review 2026-07-16 (B1 + B2). Ingen nye features.
### Added
- **Referanse-integritetstest** (`tests/reference-integrity.test.mjs`) — globber alle `${CLAUDE_PLUGIN_ROOT}`-stier i commands/agents og asserter at målet finnes og er shippbart (aldri `.claude/`). Fanger død-referanse-klassen permanent (B1).
- **Testsuite 135 → 149 cases** — nye cases per B2-fiks (rød-grønn TDD), inkl. bevis for at eksisterende config OVERLEVER circuit-breaker-fallback.
### Fixed
- **KB/doc-hygiene (B1)**: 2 døde referanser lukket, kryssreferanse-seksjoner i de 5 isolerte KB-filene, «Sist oppdatert»-markør på alle 17 referanser, «19 → 20 antipatterns» rettet 4 steder, «15. oktober» → «tidlig oktober» (3 steder), garblet prognoseformel rettet mot kalkulator-kanon, typonits, README badge/hooks-tabell. BACKLOG.md foldet inn i `docs/roadmap.md`.
- **Slugify translittererer æ → ae / ø → oe** (`lib/innboks-split.mjs`) — «Økonomi» ga tidligere `konomi` (datatap i filnavn).
- **Beskrivende feil ved manglende `sourceMtime`** (`lib/innboks-frontmatter.mjs`) — navngir opsjonen i stedet for naken `RangeError`; faller aldri tilbake til veggklokka (idempotens bevart).
- **`okf-index` CLI**: eksplisitt `--okf-version` bumper nå eksisterende rot-index (før vant alltid eksisterende verdi); flagget godtas før eller etter rot-argumentet; manglende flagg-verdi gir bruksfeil (exit 2) i stedet for krasj.
- **Ikke-destruktiv circuit-breaker (M4)** (`scripts/write-org-profile.mjs`) — fallback til `.claude/okr.local.md` MERGER inn i eksisterende fil (ny profil først i samme frontmatter-blokk, first-match vinner) i stedet for å overskrive full prosjekt-config (syklus-id, onboarding, Linear).
- **Intern `---`-sanering** (`scripts/compose-org-profile.mjs`) — en fence-linje inne i profil-bodyen trunkerer ikke lenger frontmatter-blokken den flate parseren leser.
- **Presis at-risk-telling (M1/m1)** (`hooks/scripts/coaching-hook.mjs`) — teller status-markerte tabellrader («I fare»/«Blokkert»), ikke råforekomster i forklaringstekst og prosa.
- **Topic-guard bøyningsformer** (`hooks/scripts/inject-okr-context.mjs`) — «målene»/«målet»/«måla» treffer nå OKR-mønsteret.
- **BOM/CRLF-toleranse** (`lib/frontmatter.mjs`) — Windows-produserte filer (UTF-8 BOM + CRLF) rapporteres ikke lenger falskt som «mangler type».
### Security
- **`sanitizeEntry`-herding** (`scripts/okf-index.mjs`) — stripper nå også C1-kontrolltegn, zero-width (ZWSP/ZWNJ/ZWJ/LRM/RLM), bidi-embedding/-override/-isolater og Unicode tag-blokken (usynlig smugle-kanal for instruksjonstekst) fra index-entries.
## [1.7.0] - 2026-07-17
### Added