fix(okr): siterings-aksen naadde produsenten, ikke checkeren
1.8.2 unquotet parseExistingIndex (produsent-siden). okf-check sin rootMarkers/pick returnerte fortsatt raa streng, saa samme fil ga to lesninger av samme markoer: paa disk: okf_version: "0.2" (upstreams eget eksempel, SPEC.md:773) produsenten: 0.2 <- unquotet checkeren: "0.2" <- raa Catalog maalte divergensen direkte mot sin egen checker gjennom evaluateBundle: begge implementasjonene AKSEPTERER -- avviket ligger paa verdien, ikke paa dommen. Ingen gate rammes i dag fordi paritetskorpuset ikke har en sitert fikstur, hvilket ogsaa betyr at paritetsgatens groenne farge ikke dekket denne aksen: den var "ikke kjoert", ikke "som forventet". Fiks: unquote() eksporteres fra okf-index.mjs og importeres av okf-check.mjs -- EN regel delt, ikke to kopier som kan drifte fra hverandre. Script-til-script-import foelger etablert moenster (innboks-ingest.mjs:51). Tester: 192 -> 197. Fire kjoert roede foer fiksen. Den femte (ubalansert-vakten) var groenn foer fiksen -- raa streng bevarer "0.2 naturlig -- og er derfor mutasjons-verifisert: en graadig unquote roedner baade produsent- og checker-vakten. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XKoS7Eb8YmAfeCf1EKZXt1
This commit is contained in:
parent
2149547c0c
commit
65c9412cca
4 changed files with 79 additions and 2 deletions
|
|
@ -746,6 +746,71 @@ test('okf-index: UBALANSERT anfoerselstegn strippes ikke (konservativ unquote)',
|
|||
}
|
||||
});
|
||||
|
||||
// --- S40: siterings-aksen naar ogsaa CHECKEREN (lese-siden) ---
|
||||
// 1.8.2 unquotet PRODUSENTEN (okf-index/parseExistingIndex). Checkerens
|
||||
// rootMarkers/pick returnerte fortsatt raa streng, saa samme fil ga to lesninger:
|
||||
// produsenten tolket `okf_version: "0.2"` som 0.2, checkeren ekkoet «"0.2"».
|
||||
// Catalog maalte divergensen mot sin egen checker (begge AKSEPTERER -- avviket er
|
||||
// paa VERDIEN) paa en bundle som foelger upstreams eget eksempel (SPEC.md:773).
|
||||
// Unquote er samme konservative regel som paa produsent-siden: KUN et matchende
|
||||
// par er YAML-syntaks; en halv sekvens er en ugyldig verdi som bevares uroert.
|
||||
|
||||
test('okf-check: SITERT okf_version rapporteres unquoted (siterings-akse, lese-siden)', () => {
|
||||
const dir = tmpRoot();
|
||||
try {
|
||||
writeRootIndex(dir, ['okf_version: "0.2"']);
|
||||
const r = checkBundle(dir);
|
||||
assert.equal(r.okfVersion, '0.2', 'anfoerselstegn er YAML-syntaks, ikke del av verdien');
|
||||
} finally {
|
||||
rmSync(dir, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('okf-check: ENKELTSITERT okf_version rapporteres unquoted', () => {
|
||||
const dir = tmpRoot();
|
||||
try {
|
||||
writeRootIndex(dir, ["okf_version: '0.2'"]);
|
||||
const r = checkBundle(dir);
|
||||
assert.equal(r.okfVersion, '0.2');
|
||||
} finally {
|
||||
rmSync(dir, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('okf-check: SITERT okf_layout rapporteres unquoted', () => {
|
||||
const dir = tmpRoot();
|
||||
try {
|
||||
writeRootIndex(dir, ['okf_version: 0.2', 'okf_layout: "kb-layout-2099-12"']);
|
||||
const r = checkBundle(dir);
|
||||
assert.equal(r.okfLayout, 'kb-layout-2099-12', 'begge markoerene leses likt');
|
||||
} finally {
|
||||
rmSync(dir, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('okf-check: UBALANSERT anfoerselstegn bevares uroert (konservativ unquote)', () => {
|
||||
const dir = tmpRoot();
|
||||
try {
|
||||
writeRootIndex(dir, ['okf_version: "0.2']);
|
||||
const r = checkBundle(dir);
|
||||
assert.equal(r.okfVersion, '"0.2', 'halv sekvens er ugyldig verdi, ikke noe aa gjette paa');
|
||||
} finally {
|
||||
rmSync(dir, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('okf-check CLI: sitert markoerverdi ekkoes unquoted i utskriften', () => {
|
||||
const dir = tmpRoot();
|
||||
try {
|
||||
writeRootIndex(dir, ['okf_version: "0.2"', 'okf_layout: "kb-layout-2099-12"']);
|
||||
const { stdout } = runCheck(dir);
|
||||
assert.match(stdout, /okf_version: 0\.2$/m, 'menneskelig sammenligning skal se verdien, ikke syntaksen');
|
||||
assert.match(stdout, /okf_layout: kb-layout-2099-12$/m);
|
||||
} finally {
|
||||
rmSync(dir, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
|
||||
test('okf-index CLI: --okf-layout bumper layout og lar okf_version staa', () => {
|
||||
const dir = tmpRoot();
|
||||
try {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue