fix(okr): drift-laas kommando-antall og haandhev rapport utenfor bundlen
This commit is contained in:
parent
099cabfba6
commit
d63438581d
4 changed files with 92 additions and 8 deletions
|
|
@ -451,15 +451,27 @@ test('(g3) dimensjonstall i kvalitet + kvalitetssjekker == faktisk antall i rubr
|
|||
assert.deepEqual(feilAnkertall, [], `hver dimensjon skal ha fem ankere:\n${feilAnkertall.join('\n')}`);
|
||||
|
||||
// Drift-laasen: hvert tall prosaen oppgir maa matche den utledede tellingen.
|
||||
//
|
||||
// Aksene daekker BEGGE spraak. SKILL.md er engelsk etter policy (CLAUDE.md
|
||||
// «SKILL.md: English»), saa en rent norsk akse ville vaert blind for
|
||||
// «all 10 dimensions» selv med SKILL.md i fil-lista. Mutasjons-verifisert:
|
||||
// med kun de norske aksene slapp nettopp den formen gjennom.
|
||||
const akser = [
|
||||
[/(\d+)\s+dimensjonene?\b/gi, total, 'totalt antall dimensjoner'],
|
||||
[/(\d+)\s+(?:dimensjonene?|dimensions?)\b/gi, total, 'totalt antall dimensjoner'],
|
||||
[/\bObjective\s*\((\d+)\)/g, obj, 'Objective-gruppa'],
|
||||
[/\bKey Result\s*\((\d+)\)/g, kr, 'Key Result-gruppa'],
|
||||
[/\bde (\d+) Objective-dimensjonene\b/g, obj, 'Objective-gruppa'],
|
||||
[/\bde (\d+) Key Result-dimensjonene\b/g, kr, 'Key Result-gruppa'],
|
||||
[/\b(?:de|the)\s+(\d+)\s+Objective[-\s]dimensjonene?\b/gi, obj, 'Objective-gruppa'],
|
||||
[/\b(?:de|the)\s+(\d+)\s+Key Result[-\s]dimensjonene?\b/gi, kr, 'Key Result-gruppa'],
|
||||
[/\b(?:de|the)\s+(\d+)\s+Objective\s+dimensions?\b/gi, obj, 'Objective-gruppa (en)'],
|
||||
[/\b(?:de|the)\s+(\d+)\s+Key Result\s+dimensions?\b/gi, kr, 'Key Result-gruppa (en)'],
|
||||
];
|
||||
// SKILL.md er med selv om den er ENGELSK og i dag ikke oppgir noe
|
||||
// dimensjonstall. Den staar her av samme grunn som R4 la den inn i
|
||||
// canonScan() (se :36-39): SKILL.md er nettopp flata drift har overlevd paa
|
||||
// foer, og et engelsk «all 11 dimensions» ville vaert usynlig for enhver
|
||||
// norsk grep. Aksene under matcher begge spraak.
|
||||
const drift = [];
|
||||
for (const f of ['commands/kvalitet.md', 'agents/kvalitetssjekker-agent.md']) {
|
||||
for (const f of ['commands/kvalitet.md', 'agents/kvalitetssjekker-agent.md', SKILL]) {
|
||||
const body = readDoc(f);
|
||||
for (const [re, forventet, hva] of akser) {
|
||||
for (const m of body.matchAll(re)) {
|
||||
|
|
@ -470,6 +482,33 @@ test('(g3) dimensjonstall i kvalitet + kvalitetssjekker == faktisk antall i rubr
|
|||
assert.deepEqual(drift, [], `dimensjonstall-drift (rubrikkfila = ${obj}+${kr}=${total}):\n${drift.join('\n')}`);
|
||||
});
|
||||
|
||||
// --- (g5) kommando-antall drift-laas (D7 steg 19 / D6-beslutning 7) ---
|
||||
//
|
||||
// README.md:172 sa «all 14 commands» mens treet hadde 15 -- utdatert FOER denne
|
||||
// oekten, og steg 19 gjorde den ett verre ved aa legge til /okr:arkivklar.
|
||||
// Samme defektklasse som help.md/README.md-glippen i steg 12 (fikset i d2ac153):
|
||||
// en levert kommandoform skal synes paa ALLE flater samtidig.
|
||||
//
|
||||
// Tallet utledes av commands/*.md -- aldri hardkodet, jf. (d) F-g.
|
||||
test('(g5) prosa-omtaler av kommando-antall == faktisk antall commands/*.md', () => {
|
||||
const antall = mdFiles('commands').length;
|
||||
assert.ok(antall >= 10, `parser-sanity: fant ${antall} kommandofiler`);
|
||||
|
||||
// Tabellene som ER kommandolista skal ha en rad per fil.
|
||||
for (const f of ['commands/help.md', 'CLAUDE.md']) {
|
||||
const rader = readDoc(f).split('\n').filter((l) => /^\|\s*`\/okr:/.test(l)).length;
|
||||
assert.equal(rader, antall, `${f}: ${rader} tabellrader != ${antall} kommandofiler`);
|
||||
}
|
||||
|
||||
const drift = [];
|
||||
for (const f of ['README.md', 'commands/help.md', 'CLAUDE.md', SKILL]) {
|
||||
for (const m of readDoc(f).matchAll(/\b(\d+)\s+(?:commands|kommandoer)\b/gi)) {
|
||||
if (Number(m[1]) !== antall) drift.push(`${f}: "${m[0].trim()}" != ${antall}`);
|
||||
}
|
||||
}
|
||||
assert.deepEqual(drift, [], `kommando-antall drift (telt = ${antall}):\n${drift.join('\n')}`);
|
||||
});
|
||||
|
||||
// --- (g4) guardrail som KR-designmoenster (D7 steg 16) ---
|
||||
//
|
||||
// Baseline foer steget: 0 treff paa "guardrail" i commands/, 2 i okr-antipatterns.md
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue