Commit graph

31 commits

Author SHA1 Message Date
44ceec7205 fix(okr): C7b remediering R1-R4 (release-relevante review-funn for 1.8.0)
Lukker de fire release-relevante MAJOR-funnene fra /trekreview (S33). Alle TDD
roed -> groenn, ingen fiks landet uten en test som feilet foerst. Suite 163 -> 167.

R1 (af16d5e4) hooks/scripts/coaching-hook.mjs:83 -- LEVENDE REGRESJON innfoert av
1.8.0. Denne releasen skrev status-malen (commands/sporing.md:86-88) om til den
kanoniske skalaen On Track/At Risk/Off Track, mens hooken fortsatt talte kun
/i fare|blokkert/i over tabellrader. En status generert under 1.8.0 ga derfor
atRiskCount = 0 og SessionStart-nudgen sluttet stille aa utloese seg. Hooken
teller naa de kanoniske etikettene; de to norske er BEHOLDT som bakover-
kompatibilitet for status-filer skrevet foer 1.8.0. Nudge-teksten bruker samme
kanoniske vokabular. Ny testcase mates av malen slik den faktisk genereres i dag;
den eksisterende casen beholder gammelt vokabular og daekker legacy-stien.

R2 (7ec575be) F-i-omskrivingen ga hver kommando en Kontekstbevissthet-blokk som
INSTRUERER Glob, men allowed-tools ble kun utvidet i kaskade.md. Glob lagt til i
export, gap, governance, innfoering, kvalitet, moeter, skriv, sporing. Ny vakt-
case (k): nevner BODY verktoeyet, maa frontmatter deklarere det (13 kommandoer
instruerer Glob; alle 13 dekket). Case (i) grepper kun etter fjernede fraser og
kunne ikke fange dette.

R3 (5e61ae0d) tests/package-shape.test.mjs asserterte KUN package.json -- som er
private:true og dermed den ene flaten som aldri shipper. En delvis bump ville
shippet groenn. Ny versjonssync-case dekker .claude-plugin/plugin.json, README-
badgen og begge SKILL.md, med forventet verdi UTLEDET fra package.json (ett sted
aa endre ved neste bump). Mutasjonsbevist: hver av de fire flatene tilbakestilt
til 1.7.1 en om gangen -> casen roed i alle fire tilfeller.

R4 (ccff16e1 + 231c53fc) Tre parallelle confidence-etikettsett overlevde F-c:
fremdriftssporer-agent.md:68 ("Paa sporet / I fare / Blokkert"), :98
("Confidence: [Hoey/Medium/Lav]" -- en annen akse: stoerrelse, ikke sannsynlighet)
og SKILL.md:48 ("blocked"; kanonisk er "off track"). Alle tre erstattet med
referanse til kanon (okr-framework.md:389-392). sporing.md og agenten den
delegerer til svarer naa i samme vokabular. Vakt-case (a)/(b) skanner naa samme
sett som (d) allerede brukte (+ agents/ + SKILL.md), samlet i canonScan(). Ny
case (a2) fanger etikettsett skrevet som bullet eller mal-linje -- tabell-
signaturen alene fanget dem ikke, og det var nettopp formen driften overlevde i.
Divergens gjenkjennes STRUKTURELT (skraastrek-enumerasjon av >= 2 etiketter, med
>= 1 ikke-kanonisk), saa loepende prosa som "For KR i fare" og "Blokkert av
eksterne faktorer" ikke gir falske positive. Verifisert: roed-listen var noeyaktig
de 3 kjente linjene, ingen andre.

CHANGELOG/README: vakt-antall 13 -> 15 cases, suite 149 -> 167, og de fire
fiksene lagt inn under [1.8.0] (Added + Fixed). Ingen versjonsbump.

GJENSTAAR fra reviewet (3 MAJOR, IKKE i denne bolgen): 607313e3 F-d-kadens-
moensteret kan ikke feile paa den kanoniske kadens-tabellen; 029ef814
freshen-references.md:24 baerer fortsatt en foreldet kontekstblokk og vaktens
exclude-kommentar kaller fila feilaktig "allerede-fikset" (den er utenfor
1.8.0-scope by design, jf. ba91fc2 -- kommentaren er usann, ikke ekskluderingen);
7579d59c "Outcome" er utestbar i 10-dims-casen pga. substring-containment.

Verify: node --test --test-reporter=tap tests/*.test.mjs -> 167 pass / 0 fail.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016pUfkQ1YyH75z9y6RBaBHG
2026-07-25 12:33:55 +02:00
37142236f2 feat(okr): 1.8.0 En kanon versjonssync + CHANGELOG
Step 14 (Wave 6), siste steg i fase C3. Alle versjonsflater 1.7.1 -> 1.8.0:
plugin.json:3, package.json:3, package-lock.json:3+9, CLAUDE.md:1, README.md
badge, SKILL.md x2. Ny Keep-a-Changelog-seksjon [1.8.0] + README-historikkrad
som oppsummerer F-a..F-i, score-grenser, konsistensvakten og C6-markeds-
oppdateringen fra Steps 1-13.

TDD: package.json bumpet foerst -> package-shape.test.mjs case 1 gikk ROED
(expected 1.7.1, actual 1.8.0) -> assertion + header-kommentar oppdatert til
1.8.0 (minor-lane C: En kanon) -> GROENN. Historiske "B1/B2 (1.7.1)"-
provenanskommentarer i tester og historikkrader for 1.7.1 er urort.

To presisjonsfikser tatt inn fra S31-funn (begge i filer Step 14 allerede rorer):
- CLAUDE.md:21 sa "score the 16 domain reference files". Fasit: 16 AV 17 scores;
  okr-quality-rubrics.md er ekskludert (sirkulaer - den er selv scorings-
  instrumentet). Skrevet i samme presise form som README:150.
- CLAUDE.md:73 pekte paa lib/innboks-convert.mjs. Modulen har ALDRI eksistert
  (git log --all paa stien: tom; adapterne har ligget i lib/convert/ siden
  a807ee2). Rettet til lib/convert/index.mjs. Samme feilsti stod i CHANGELOG
  1.7.0-noten (linje 34) og er rettet der ogsaa: en dokumentert modul som aldri
  fantes er en usann paastand, ikke historisk provenans.

CHANGELOG-datoen er satt til 2026-07-25 (i dag). Faller C7-releasen paa en
senere dato, maa datoen justeres da.

Verify: node --test --test-reporter=tap tests/*.test.mjs -> 163 pass / 0 fail.
grep -rc "1.7.1" plugin.json package.json CLAUDE.md -> 0/0/0.
9 filer endret = Manifest expected_paths 1:1.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016pUfkQ1YyH75z9y6RBaBHG
2026-07-25 06:44:35 +02:00
3b1b255ed6 test(okr): referanse-integritet dekker skills relative lenker 2026-07-24 06:48:20 +02:00
5166dbf772 test(okr): kanon-konsistensvakt RED-baseline (F-a..F-i)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MZ4qHkTDUn9tDRi8YS8cF8
2026-07-24 01:50:11 +02:00
482effbad1 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>
2026-07-17 04:02:10 +02:00
6028ac2f90 fix(okr): B1 KB/doc-hygiene + referanse-integritetstest (1.7.1-lane)
- Ny tests/reference-integrity.test.mjs: alle ${CLAUDE_PLUGIN_ROOT}-stier i
  commands/agents må finnes på disk OG være shippbare (aldri under gitignored
  .claude/). Fanger død-referanse-klassen permanent (TDD: rød på
  freshen-references før fiks). Suite 135 -> 138.
- Døde referanser lukket: freshen-references peker nå på metrics-library
  «Review-kadens»; metrics-library-provenanslinje uten død relativ sti.
- Kryssref-isolasjon: «Ressurser/Interne referanser»-seksjon i de 5 isolerte
  KB-filene (examples, oboard-guide, meeting-guides, calculator, cfr).
- «Sist oppdatert»-markør på alle 17 referansefiler (var 4).
- 19 -> 20 antipatterns (SKILL, kvalitet x2, help — help-forekomst funnet i
  sweep utover review-lista); «15. oktober» -> tidlig oktober (arshjul x2,
  framework); garblet prognoseformel rettet mot calculator-kanon (framework).
- Typonits: schuld/Næste (meeting-guides), resultatmål (dfo-mapping),
  sandbagging (trendanalytiker), Q1-2026 -> T1-2026 (fremdriftssporer).
- README: hooks-badge 4 -> 3, død Stop-rad fjernet.
- BACKLOG.md foldet inn i docs/roadmap.md (tema-nivå, ingen interne
  plandetaljer) og slettet; .gitignore ROADMAP.md ankret til rot (/ROADMAP.md)
  så docs/roadmap.md kan trackes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 03:43:22 +02:00
0fcc88430c fix(okr): SKILL.md untrusted-content-herding + kilde-rangering mot RAG-poisoning
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-17 03:15:30 +02:00
7643304177 feat(okr): innboks-ingestion orkestrator end-to-end, idempotent by construction (SC1-6) [skip-docs]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:32:50 +02:00
188b534a3b fix(okr): B1 pekerfil uten lenkeform + B5 kollisjons-guards (kuratert-vern, reservert index.md, kryss-kilde claimed) [skip-docs]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:27:55 +02:00
7f9c790f43 fix(okr): gate-herding B2 scoped strict + B3 alle lenkeformer + M2 realpath-confinement + M3 deriveType basename/ord-grense
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:12:35 +02:00
a807ee2b79 feat(okr): pure-JS konverterings-adaptere txt/docx/eml/pdf + ukjent-ext-skip (SC format) [skip-docs]
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:06:43 +02:00
249de8fb2d feat(okr): package.json + engines>=22 + pinnede pure-JS converter-deps + dep-disclosure (Topic 1)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 20:02:22 +02:00
dec8a13952 fix(okr): okf-index saner title/desc + escape klammer + skip innboks/dot (SC index-integritet)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_012HzGPGJ81k1BkUC6UvgX4Y
2026-06-30 14:01:19 +02:00
3b45be70be feat(okr): okf-check++ strictIngest (vokab+lenker) + skip innboks/dot (SC konformitet) [skip-docs]
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_012HzGPGJ81k1BkUC6UvgX4Y
2026-06-30 13:55:34 +02:00
935c1d0ae9 feat(okr): konsept-skriver m/ type-til-nivaa-ruting + original-bevaring (SC original, riktig nivaa) [skip-docs]
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012HzGPGJ81k1BkUC6UvgX4Y
2026-06-30 13:33:38 +02:00
2b0c520efd feat(okr): delt bundle-root-relativ lenke-resolver + zero-dangling relasjoner (SC relasjoner) [skip-docs] 2026-06-30 13:01:19 +02:00
d011fb1922 feat(okr): deterministisk frontmatter-projeksjon + vokab-snap + mtime-timestamp (SC idempotens) [skip-docs] 2026-06-30 12:58:26 +02:00
136093da38 feat(okr): deterministisk heading-split for ingestion (SC idempotens) [skip-docs] 2026-06-30 12:54:57 +02:00
ca6c89e7be feat(okr): writeFrontmatter multi-linje tags-liste (additiv array-gren) [skip-docs] 2026-06-30 11:04:29 +02:00
a9d9c45192 feat(okr): lukket OKF type/tags-vokabular for ingestion-snap [skip-docs] 2026-06-30 11:00:16 +02:00
abfcc6b48e test(okr): innboks-ingestion fixtures (inbox + pre-converted) 2026-06-30 10:57:54 +02:00
5219d50d4b feat(okr): onboarding skriver OKF-frontmatter paa org-profil (SC6)
compose-org-profile.mjs prepender top-level OKF-noekler (type:
Organisasjonsprofil/resource/timestamp) over den nestede org-profilen i
ETT frontmatter-blokk, pipes til write-org-profile.mjs (uendret). Kun de
tre trygge noeklene top-level; FORBID nye top-level navn/id/fase/domene/
sektor som ville skygge nestede verdier hooken leser. oppsett.md (begge
profil-skriv-sites) + template oppdatert. Test: compose->pip->readback +
inject-roundtrip (4), full suite 51->55.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFW5scLL7oEwWWTv1fPQG6
2026-06-26 17:19:14 +02:00
9701c81158 feat(okr): okf-index (ekte format)/okf-check + okf_version per rot (SC2,SC3,SC7) [skip-docs]
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SFW5scLL7oEwWWTv1fPQG6
2026-06-26 15:12:48 +02:00
ea2bd444ea feat(okr): splitt inject-hook ved 91/92 - kjerne + resolvert index-peker (SC5) [skip-docs] 2026-06-26 14:45:34 +02:00
bf0e463b4a feat(okr): retrieval-SKILL m/ OKF-mønster + fixtures (SC1,SC4) [skip-docs] 2026-06-26 14:39:46 +02:00
9b85c0b436 refactor(okr): begge hooks bruker delt frontmatter-modul (SC2) [skip-docs] 2026-06-26 14:21:58 +02:00
d9f2848d90 feat(okr): delt frontmatter-parse/skrive-modul + #-strip-fix (SC2) [skip-docs] 2026-06-26 14:19:20 +02:00
c7a0323a81 feat(okr): UserPromptSubmit emne-guard + test (SC6) [skip-docs] 2026-06-26 00:17:10 +02:00
b594eeb88c feat(okr): coaching-hook klokke-seam + node-test fixtures (SC4) [skip-docs] 2026-06-26 00:11:14 +02:00
63a642b29f feat(okr): atomisk org-profil-skrivehelper + test (SC1) [skip-docs] 2026-06-26 00:06:11 +02:00
9ab9ebe499 feat(okr): hook hybrid org-lese-fallback + node-test (SC6) [skip-docs] 2026-06-24 11:37:23 +02:00