fix(okr): frontmatter-verdi krysser ikke linjeskift (patch-lane #5)
`get()`-regexens verdi-gren brukte `\s*`, som inkluderer linjeskift. Enhver
key med tom rest-av-linje slukte dermed den neste ikke-tomme linja. Utslaget
var bredere enn list-keys: en tom `title:` returnerte neste keys hele linje
("type: OKR"), og et tomt `description:` dempet okf-checks anbefalt-felt-
advarsel med data som tilhorte en annen key.
Verdi-grenen strammet til `[ \t]*`. Innrykk-ankeret (`^\s*`) er urort -- det
er load-bearing for inject-okr-context.mjs:69s nestede organisasjon:-lesing.
Kontrakt-kommentaren i :13-16 lovet allerede null for list-keys; den er naa
sann i stedet for aa bli rettet ned.
Sju RED-verifiserte tester: (L1) list-key gir null - (L2) tom skalar sluker
ikke neste rot-key - (L3) tom key foran list-blokk - (L4) innrykk-toleransen
bevart, forelder gir null - (L5) tab-separert verdi - (L6) tomt anbefalt felt
demper ikke okf-check-advarselen (rootLevelGet arvet defekten) - (L7)
broedtekst-fallbacken plukker ikke list-verdi fra frontmatter.
(L7) gjor S57s latente begrunnelse maalbar: uttrekket i okf-check.mjs:125 ble
beholdt mot nettopp denne defekten, og naar fm-laget endelig taper for
list-keys er `body = raw` foerste gang en roednende mutasjon.
Mutasjons-verifisert (M1 revert, M3 anker-fjerning, M4 uttrekk-fjerning). M2
viste at (L5) ikke vokter tegnklassen -- .trim() gjor `[ \t]*` og `[ ]*`
ekvivalente -- saa testen er omskrevet til aa paastaa det den faktisk viser.
Suite 321 -> 328.
This commit is contained in:
parent
35a0bb8377
commit
9a68441161
4 changed files with 109 additions and 15 deletions
|
|
@ -113,15 +113,13 @@ function rootMarkers(root) {
|
|||
// hver for seg (mutasjon M1 roedner (20a)/(20d) NETTOPP fordi fallbacken ikke
|
||||
// ser frontmatter-linjene).
|
||||
//
|
||||
// AERLIG OM DEKNINGEN: uttrekket er ikke produksjonsobserverbart i dag. Naar
|
||||
// noekkelen finnes i frontmatter i en form parseFrontmatter i det hele tatt
|
||||
// returnerer, vinner fm-laget foer fallbacken kjoeres -- saa `body = raw`
|
||||
// roedner ingen test (maalt, ikke antatt). Det beholdes likevel: fjernes det,
|
||||
// ligger en latent defekt og venter paa at lib/frontmatter.mjs's list-key-
|
||||
// kontrakt (:13-15) blir sann. I dag returnerer get() paa en list-key foerste
|
||||
// LIST-ELEMENT, ikke null, fordi `\s*` i :29-regexen spiser linjeskiftet.
|
||||
// Fikses det (patch-lane), begynner fallbacken aa kjoere for list-keys -- og
|
||||
// uten dette uttrekket ville den plukket «- a» ut av frontmatter.
|
||||
// DEKNING: uttrekket ER produksjonsobserverbart siden lib/frontmatter.mjs's
|
||||
// list-key-kontrakt ble sann (verdi-grenen strammet fra `\s*` til `[ \t]*`).
|
||||
// get() paa en list-key gir naa null, saa fm-laget taper og fallbacken kjoerer
|
||||
// for list-keys -- foerste gang den grenen naas i praksis. Uten uttrekket ville
|
||||
// `^okf_version:` matchet INNE i frontmatteren og plukket «- 9.9». `body = raw`
|
||||
// roedner naa (L7) (mutasjons-verifisert). S57 beholdt dette mot nettopp den
|
||||
// latente defekten; den er ikke lenger latent, og vakten er ekte.
|
||||
const body = fmRaw === null ? raw : raw.slice(raw.indexOf('\n---', 3) + 4);
|
||||
const pick = (key) => {
|
||||
const fromFm = fmGet(key);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue