feat(ms-ai-architect): #29 ratifisert — filstorrelse-feltet er selv-invaliderende, og klassen var 3 ikke 1 [skip-docs]

idx-26u og idx-26v anvendt, footeren i azure-cost-management-ai.md lukket.

#29 ER EN NY FORM, IKKE EN ARV. idx-26u paastod selv at sletting «follows
from an existing ratification rather than requiring a new one» (idx-26j).
Premisset ble maalt og forkastet: #22s referent-test naar ikke en
filstorrelse i noen retning — delete-siden hviler paa at ingenting kan
adjudisere paastanden, og git adjudiserer denne eksakt; keep-siden er «a
count of sources, URLs or documents the file itself lists», og en byte-
storrelse teller ingenting fila lister. Samme arve-type ble forkastet to
ganger forrige okt.

TRE GRUNNER, hver maalt: (1) ingen del av linja er sann, saa #28 sender
saken videre til #24 i sine egne ord; (2) sletting koster ingen sann
informasjon; (3) den eneste tilgjengelige reparasjonen er selv-
invaliderende — «~18 KB» blir usann ved neste edit, altsaa aa forfatte
en fremtidig instans av defektklassen man lukker.

KLASSEN BLE MAALT FOER SPORSMAALET BLE STILT — steget idx-26j sitt
scope-addendum sa manglet da booking stoppet paa 7 av 21. Kun idx-26u var
bookfoert, men «**File size:**» stod i TRE filer:
  azure-cost-management-ai.md:295            ~14 KB mot 18499 B (18.0 KB, 29 %)
  budget-forecasting-ai-projects.md:530      ~14 KB mot 20001 B (19.5 KB, 39 %)
  agent-evaluation-testing-frameworks.md:565 ~29 KB mot 27864 B (27.2 KB, 6.6 %)
Den tredje er forsvarlig under tilden og ble slettet likevel, fordi
operatoren ratifiserte grunnlaget «felt-typen», ikke «feilens storrelse».
Bookfoert som idx-26au + idx-26av, begge lukket i samme okt.

idx-26v SLETTET PAA EGEN GRUNN, ikke #29 og ikke #28 — #28s egen grense
sier at en telling som bare er uverifiserbar, ikke maalbart gal, fortsatt
er idx-26j-klassen. Avviket fra idx-26j, som ERSTATTET sin instans, er
begrunnet i maaling: 26j hadde en partisjon aa telle (12/5), denne fila
har ingen. Kildetabellen er 8/8 Verified (100/0), seksjonstabellen 3/3
(50/50). «3 av 6 seksjoner» ville oppfunnet en nevner og byttet paastand.

NABO BOOKFOERT VED EDIT-STEDET, IKKE SLETTET: «- **Word count:** ~3200 ord»
(:564, maalt 3374 — 5.2 % feil) sto rett over den slettede linja og er
trolig samme klasse, men var ikke i ratifiseringssporsmaalet. AA utvide
#29 dit ville vaert den stille utvidelsen #22 og #26 begge nektet.
Bookfoert AAPEN som idx-26aw; eneste ordtellings-felt i korpuset.

KEEP-NABOENE MAALT, IKKE ANTATT — alle tre sanne under #28s /en-us/-
normalisering (8 av 9, 8 av 9, 10 av 11). «**Document metadata:**»
beholdt uendret per #22s label-regel (navngir innhold, ikke generasjon).

Korrigert i idx-26u sin egen evidens: «working tree = 18554» var utdatert
(30d4340 rort fila etterpaa), faktisk 18499. Konklusjonen uendret.

Ko: 57 entries (10 aapne, 47 resolved). Suite 1052/1052. Hel-linje-bevis:
alle fire slettede linjer 0 forekomster korpus-bredt, alle bevarte 1x.

[skip-docs]: ingen brukerrettet doc-impact. Kun linjer slettet inne i
eksisterende ref-filer — ref-docs er fortsatt 389, saa README-badgen og
CLAUDE.md-tellingen staar uendret. Ingen ny kommando, agent, skill eller
hook.
This commit is contained in:
Kjell Tore Guttormsen 2026-08-12 22:07:26 +02:00
commit 35ac933590
4 changed files with 46 additions and 9 deletions

View file

@ -15,7 +15,8 @@
"#25": "A DELETE-CLASS COUNT RESTATED INSIDE A LINE. Ratified 2026-08-12. Widens #24 from the single header parenthetical it was written for to any in-line restatement - header field OR running prose.\nTHE FORM: delete the CONTIGUOUS delete-class fragment and leave the rest byte-identical. Three conditions, ALL MEASURED rather than assumed: (1) the remainder is grammatical, (2) the remainder is grounded in what the file itself lists, (3) zero words are authored.\nWHY IT IS NOT A REWRITE - which is what idx-26ab's own booking called it. At inferencing-optimization-caching.md:1029 the fragment is \"12 MCP-kall til \", 16 contiguous characters. Removing them leaves \"**Confidence niva: HIGH** - Denne referansen er basert pa offisiell Microsoft-dokumentasjon og kodeeksempler.\", a grammatical Norwegian sentence whose claim the file's own 8 numbered sources and 20 fenced code blocks carry. Nothing is composed. The booking's premise was falsified by writing the resulting string out and reading it, not by argument - the same move that turned #24 from a re-authoring into a deletion.\nTHE LIMIT, which is what keeps this from swallowing the corpus: where the three conditions do not ALL hold, this form does not apply and the case comes back as a new question. A remainder that needs one word added is authoring, and authoring is the idx-26v hazard.\nGOVERNS: idx-26ab.",
"#26": "AN UNLABELLED TRAILING FOOTER RUN. Ratified 2026-08-12, SCOPED TO ONE FILE.\nSCOPE FIRST, because the scope is the whole decision: this governs ai-impact-assessment-framework.md:651-653 and nothing else. #22's timestamp clause says INSIDE THE BLOCK, and its precedent (idx-26ac, applied 2026-08-12) deleted a timestamp that sat under the label \"**MCP-research metadata:**\". This run carries no heading and no label above it, so #22 does not reach it and could not be made to without the silent widening #22 itself refused.\nTHE FORM: where a file ends in a run of sibling \"**Label:** value\" lines with no heading and no label above them, and EVERY line in the run fails idx-26j's referent test, the run is deleted whole.\nMEASURED LINE BY LINE, not inherited: \":651 **Sist oppdatert via MCP:** 2026-02-04\" is when the generation ran; \":652 **MCP-kilder brukt:** microsoft-learn (docs.microsoft.com, microsoft.com/ai)\" is which tool was used and carries no number at all; \":653 **Antall dokumenter sokt:** 4 (search queries) + 2 (deep fetch)\" puts a document label over values that count operations - a search query is not a document. All three referents are the generation. Nothing countable against the file is in the run: the file's sources are the numbered lists above, untouched, as is the \"**Confidence markers:**\" block.\nWHY THE RUN AND NOT THE COUNTING LINE ALONE: :653 is the only member inside the 58 counting class, so the narrow edit was available. It would have left two lines with the same referent immediately above the edit - the residue class G7 exists for, caught at the edit site this time rather than by a later sweep.\nWHAT STAYS OPEN: the general class - an unlabelled run, and an enumeration with no count - remains open at idx-26ar. This form is an instance, not the class, and a second instance must come back as a question rather than inherit it.\nGOVERNS: idx-26ah.",
"#27": "A REFERENT WORD THE FIELD NAME ALREADY CARRIES. Ratified 2026-08-12.\nTHE FORM: where a count line names a referent in its VALUE that contradicts the count, while the FIELD NAME already states the correct referent, delete the contiguous referent words from the value and leave the rest byte-identical. The count is untouched.\nTHE INSTANCE, agent-to-agent-a2a-protocol.md:732. \"**Total sources cited:** 10 unike URLer fra MCP-research + tavily-research\" -> \"**Total sources cited:** 10 fra MCP-research + tavily-research\". Deleted: \" unike URLer\", 12 contiguous characters. The three #25 conditions all hold and were measured, not assumed: the remainder is grammatical; 10 is grounded in the 10 numbered entries the file lists; zero words are authored.\nWHY IT IS NOT #25, which is the reason this needed its own ratification rather than inheritance: #25 removes a DELETE-CLASS count restated in-line. Nothing removed here is a count at all, and nothing in the line has the generation as its referent. The conditions transfer; the scope does not.\nWHY IT IS NOT #21, and this is where the session that arrived here was wrong on a premise rather than on a judgement. STATE asserted this line was word-for-word idx-26w and therefore already governed. MEASURED FALSE: idx-26w reads \"fra MCP-research\" alone, this line reads \"fra MCP-research + tavily-research\". #21 fires only on an OVERCLAIMING provenance qualifier, and this qualifier does not overclaim - it names the web-research leg covering exactly the four non-Learn URLs (a2a-protocol.org x2, linuxfoundation.org, developers.googleblog.com). idx-26w own summary had already said so in writing. The provenance is sound here; the defect is the referent of the count.\nTHE MEASUREMENT THAT MADE IT A DELETION: 10 numbered source entries, 11 distinct URLs, because entry 8 carries two. So \"10\" is true as sources and false as unique URLs, and the line asserted both. Correcting 10 to 11 was available and was NOT taken - deletion of the wrong referent costs nothing, because the field name \"Total sources cited\" already says which one is meant.\nGOVERNS: idx-26t.",
"#28": "A KEEP-CLASS COUNT WHOSE TRUE HALF IS BOTH TRUE AND UNIQUE. Ratified 2026-08-12. This is the residual case #23 explicitly declined to ratify and sent back as a new question; this is its first instance, and it is decided rather than inherited.\nTHE FORM: where a keep-class line carries several counts, some measured FALSE and at least one measured TRUE, and that true part is NOT restated anywhere else in the file, CORRECT the false numbers to their measured values. Do not delete the line.\nTHIS IS THE PROGRAMME FIRST AUTHORED NUMBER, and the operator decided it deliberately on 2026-08-12. Until now every resolution deleted, on the idx-26v ground that a repair must not author the defect class it closes. That ground still holds where deletion is FREE - which is why idx-26t, decided in the same session, deletes. It stops holding where deletion destroys a true and unique claim, because then silence is not the cheap option, it is a second defect.\nTHE INSTANCE, rag-document-preprocessing.md:791 (the entry evidence and STATE both said :792 - off by one; the anchor is verbatim text, so nothing depended on it). \"8 Microsoft Learn-artikler + 4 GitHub-repos = **12 kilder**\" -> \"8 Microsoft Learn-artikler + 2 GitHub-repos = **10 kilder**\".\nMEASURED, and the population was re-checked after the edit rather than assumed: 8 distinct learn.microsoft.com articles after /en-us normalisation (TRUE as written), 2 distinct github.com URLs (NOT 4), therefore 10 named source URLs (NOT 12). The three azure.microsoft.com pricing URLs are excluded because the line states its own referent - Learn articles plus GitHub repos - and never claimed to cover them.\nTHE POPULATION CHECK THAT COULD HAVE INVALIDATED THIS: the file does not end at the footer - a further section runs :795-803 - so the footer might have been a section total measured over the wrong span. Measured: ZERO Learn or GitHub URLs occur after :791. All 11 occurrences precede it. The count covers what it claims.\nTHE LIMIT: this form applies only where the true part is BOTH true AND unique. Where the true part is restated elsewhere, deletion remains free and #23 governs. Where every part is false, #24 governs. A keep-class count that is merely unverifiable, rather than measurably wrong, is not reached by this form at all - that is still the idx-26j class.\nGOVERNS: idx-26at."
"#28": "A KEEP-CLASS COUNT WHOSE TRUE HALF IS BOTH TRUE AND UNIQUE. Ratified 2026-08-12. This is the residual case #23 explicitly declined to ratify and sent back as a new question; this is its first instance, and it is decided rather than inherited.\nTHE FORM: where a keep-class line carries several counts, some measured FALSE and at least one measured TRUE, and that true part is NOT restated anywhere else in the file, CORRECT the false numbers to their measured values. Do not delete the line.\nTHIS IS THE PROGRAMME FIRST AUTHORED NUMBER, and the operator decided it deliberately on 2026-08-12. Until now every resolution deleted, on the idx-26v ground that a repair must not author the defect class it closes. That ground still holds where deletion is FREE - which is why idx-26t, decided in the same session, deletes. It stops holding where deletion destroys a true and unique claim, because then silence is not the cheap option, it is a second defect.\nTHE INSTANCE, rag-document-preprocessing.md:791 (the entry evidence and STATE both said :792 - off by one; the anchor is verbatim text, so nothing depended on it). \"8 Microsoft Learn-artikler + 4 GitHub-repos = **12 kilder**\" -> \"8 Microsoft Learn-artikler + 2 GitHub-repos = **10 kilder**\".\nMEASURED, and the population was re-checked after the edit rather than assumed: 8 distinct learn.microsoft.com articles after /en-us normalisation (TRUE as written), 2 distinct github.com URLs (NOT 4), therefore 10 named source URLs (NOT 12). The three azure.microsoft.com pricing URLs are excluded because the line states its own referent - Learn articles plus GitHub repos - and never claimed to cover them.\nTHE POPULATION CHECK THAT COULD HAVE INVALIDATED THIS: the file does not end at the footer - a further section runs :795-803 - so the footer might have been a section total measured over the wrong span. Measured: ZERO Learn or GitHub URLs occur after :791. All 11 occurrences precede it. The count covers what it claims.\nTHE LIMIT: this form applies only where the true part is BOTH true AND unique. Where the true part is restated elsewhere, deletion remains free and #23 governs. Where every part is false, #24 governs. A keep-class count that is merely unverifiable, rather than measurably wrong, is not reached by this form at all - that is still the idx-26j class.\nGOVERNS: idx-26at.",
"#29": "A FILE-PROPERTY FIELD THAT NO EDIT CAN KEEP TRUE. Ratified 2026-08-12.\nSCOPE FIRST, and the scope was MEASURED BEFORE THE QUESTION WAS PUT rather than after - the discipline idx-26j's scope addendum named after booking stopped at 7 of 21. Only idx-26u was booked, but \"**File size:**\" occurs in THREE files corpus-wide, and the operator ratified the form over all three in one decision instead of over the one that happened to be on the queue.\nTHE FORM: where a footer or metadata field states a physical property of the file itself - its byte size - DELETE THE LINE. Nothing is authored and nothing is renamed.\nTHE GROUND, and it is NOT #22's ground. #22 deletes because nothing can adjudicate the claim; git adjudicates this one exactly, which is why the form needed its own ratification and why idx-26u's own inheritance argument (\"deletion follows from idx-26j rather than requiring a new ratification\") was NOT accepted - the same premise type this programme falsified twice on 2026-08-12. Three grounds, each measured:\n (1) EVERY PART IS FALSE, so there is no true half to preserve. #28 sends this case onward in its own words: \"Where every part is false, #24 governs.\"\n (2) DELETION COSTS NO TRUE INFORMATION. A byte size has no use in a knowledge-base reference file and is trivially measurable by anyone who wants it. STATE's rule - delete where deletion is free, correct where deletion costs true and unique information - lands on delete.\n (3) THE ONLY AVAILABLE REPAIR IS SELF-INVALIDATING. Restating \"~18 KB\" writes a line that the very next edit to the file makes false again. That is not a repair; it is authoring a future instance of the defect class being closed - the idx-26v hazard in a new costume.\nMEASURED, all three, against the working tree: azure-cost-management-ai.md:295 claimed ~14 KB against 18499 bytes (18.0 KB, 29% off); budget-forecasting-ai-projects.md:530 claimed ~14 KB against 20001 bytes (19.5 KB, 39% off); agent-evaluation-testing-frameworks.md:565 claimed ~29 KB against 27864 bytes (27.2 KB, 6.6% off - defensible under the tilde, and deleted anyway BECAUSE THE GROUND IS THE FIELD TYPE, NOT THE SIZE OF THE ERROR). idx-26u's git history is the strongest form of ground (1): the line read ~14 KB in the EARLIEST version the repo can observe (baa2d02, 17388 bytes) and at every commit since, so it was never true at any observable point.\nONE CORRECTION TO idx-26u's OWN EVIDENCE, made before the form was applied: the entry recorded \"the working tree today is 18554\". It is 18499 - commit 30d4340 touched the file after the entry was written. The conclusion is unchanged; the number was re-measured rather than carried forward.\nEXPLICITLY NOT COVERED, booked rather than swept: \"- **Word count:** ~3200 ord\" at agent-evaluation-testing-frameworks.md:564 sits DIRECTLY ABOVE one of the deleted lines and is arguably the same self-invalidating class (measured: ~3200 against 3374 actual, 5.2% off). It was NOT in the ratification question, so extending this form to it would be the silent widening #22 refused and #26 refused after it. Booked as idx-26aw, open. It is the only word-count field in the corpus.\nTHE SURVIVING KEEP-CLASS NEIGHBOURS WERE MEASURED, NOT ASSUMED, since a deletion that leaves a false line behind is the residue class G7 exists for. All three are TRUE under the /en-us/ normalisation #28 established: \"**Total sources:** 8 unique Microsoft Learn URLs\" (8 distinct articles, 9 raw strings - the header **Source:** at :7 repeats tutorial-acm-create-budgets without the locale), \"**Unique sources:** 8 Microsoft Learn URLs\" (8 of 9), \"- **Unique sources:** 10 Microsoft Learn URLs\" (10 of 11). Nothing was booked against them.\nTHE LABEL \"**Document metadata:**\" IS KEPT UNCHANGED, per #22's label rule: its words name content, not the generation, so it is the \"Research Coverage\" case rather than the \"MCP Calls\" case. It still labels two surviving lines.\nGOVERNS: idx-26u, idx-26au, idx-26av."
}
},
"entries": [
@ -390,25 +391,27 @@
"id": "idx-26u",
"file": "skills/ms-ai-security/references/cost-optimization/azure-cost-management-ai.md",
"class": "replacement",
"status": "open",
"status": "resolved",
"raised": "2026-08-09",
"summary": "Booked while closing idx-26q. '**File size:** ~14 KB' is FALSE, and - unlike the MCP-calls line deleted in the same footer - it is FALSIFIABLE rather than merely unverifiable, because git is an artifact that adjudicates it. MEASURED at every commit that has ever touched this file: baa2d02 2026-04-08 = 17388 bytes (16.9 KB), 781d98f 2026-05-03 = 17388, 41b390b 2026-06-19 = 17963, 03d596e 2026-06-23 = 17965, ddce43d 2026-07-04 = 18554 bytes (18.1 KB), and the working tree today is 18554. The line is present verbatim in the EARLIEST of those versions, so the claim was already wrong when the file first entered the repo and has never been true at any point the repo can observe. It therefore cannot be defended as a stale-but-once-true generation-time fact, which is the defence available to the MCP-calls numbers. NOT REPAIRED HERE because the choice is a form decision: delete it as the same category as the call count, or restate it as a current measurement that every future edit invalidates - a field that is wrong again the moment anyone touches the file. ONE STEP WORTH STATING FOR WHOEVER ADJUDICATES: under the referent ratified on idx-26j - current provenance, one referent for the whole footer block - a generation-time file size is the same category as a generation-time call count, so deletion follows from an existing ratification rather than requiring a new one. Raised as an open operator question in STATE.",
"evidence": "footer of this file; git size history baa2d02..ddce43d; git show baa2d02:<file> showing the line present at 17388 bytes; idx-26j ratified form + 2026-08-09 scope addendum",
"anchors": [
"**File size:** ~14 KB"
]
],
"resolution": "Operator-ratified 2026-08-12 under NEW form #29, which this entry did NOT inherit. The entry argued that deletion \"follows from an existing ratification rather than requiring a new one\" (idx-26j). THAT ARGUMENT WAS PUT TO THE OPERATOR AS A PREMISE AND NOT USED AS A GROUND, because #22's referent test does not reach a file size in either direction: its delete side rests on nothing being able to adjudicate the claim, and git adjudicates this one; its keep side is \"a count of sources, URLs or documents the file itself lists\", and a byte size is not a count of anything the file lists. The form fell in the gap, so it was ratified rather than applied - the same correction made twice on 2026-08-12 (idx-26t against #21, and this).\nEDIT: \"**File size:** ~14 KB\" DELETED at :295. In the same edit, idx-26v deleted at :296 on its own separate ground. The file now ends at :294 on its one surviving footer line, \"**Total sources:** 8 unique Microsoft Learn URLs\", which was re-measured this session and is TRUE (8 distinct Learn articles after /en-us/ normalisation; 9 raw URL strings, because the header **Source:** at :7 repeats tutorial-acm-create-budgets without the locale). No promotion was needed - #22's promote clause fires on a deleted label, and this footer has none.\nEVIDENCE RE-MEASURED RATHER THAN CARRIED FORWARD, and it corrected the entry: the summary records \"the working tree today is 18554\"; it is 18499, because 30d4340 touched the file after this entry was raised. Full history: baa2d02 17388, 781d98f 17388, 41b390b 17963, 03d596e 17965, ddce43d 18554, 30d4340 18499. The claim ~14 KB is false at every one, including the earliest, so it has never been true at any point the repo can observe.\nSCOPE WIDENED BY THE OPERATOR IN THE SAME DECISION: this entry was the only booked member, but the class has three. See #29 and idx-26au/idx-26av."
},
{
"id": "idx-26v",
"file": "skills/ms-ai-security/references/cost-optimization/azure-cost-management-ai.md",
"class": "replacement",
"status": "open",
"status": "resolved",
"raised": "2026-08-09",
"summary": "Booked while closing idx-26q. '**Verification status:** 80% Microsoft-verified, 20% domain-specific (Norwegian public sector)' is the idx-26j locator-4 class: an uncheckable percentage with no stated denominator. 26j closed its own instance IN THE SAME EDIT, on the reasoning that splitting a block with one undefined referent repeats the bundling error idx-26g caught - so departing from that precedent here needs a reason, and the reason was MEASURED BEFORE IT WAS DECIDED rather than asserted. 26j could replace its percentage with a structural count because that file HAD a partition to count: 12 sources under 'Verified sources', 5 under 'Baseline sources'. THIS FILE HAS NO SUCH PARTITION. All 8 rows of the 'Microsoft Learn-ressurser (MCP-verified)' table are marked Verified, and the 'Konfidensgradering per seksjon' table splits 3 Verified / 3 non-Verified (Baseline + Domain Expertise, Domain Expertise, Baseline + Best Practices), which is 50/50 - not 80/20 under any reading, and measured over sections rather than sources in any case. The percentage maps onto nothing structural in the file. Re-expressing it would require INVENTING a denominator, which is exactly 'the replacement authors the defect class it closes' - the error caught in 26j's own draft before commit, where the first wording would have asserted that source 7 was MCP-verified. Booked rather than repaired, following idx-26s. Candidate resolutions, neither ratified: delete as unverifiable under the ratified footer form, or replace with the section-level count 3 of 6 - which is a different claim from the one the line makes, since it measures sections and the line reads as coverage. Raised as an open operator question in STATE.",
"evidence": "footer of this file; the 8-row Microsoft Learn URL table (all Verified); the 6-row Konfidensgradering per seksjon table (3 Verified / 3 non-Verified); idx-26j locator 4 and its pre-commit correction; idx-26s (book-rather-than-repair precedent)",
"anchors": [
"**Verification status:** 80% Microsoft-verified, 20% domain-specific (Norwegian public sector)"
]
],
"resolution": "Operator-ratified 2026-08-12. DELETED, on the idx-26j ground, NOT under #29 and NOT under #28 - the three grounds in this footer are different and were kept apart deliberately.\nWHY NOT #28: #28's own limit says it, in writing - \"a keep-class count that is merely unverifiable, rather than measurably wrong, is not reached by this form at all - that is still the idx-26j class.\" This line is unverifiable, not false. Calling it false would require choosing a denominator, and the line states none. That is exactly the defect.\nWHY DELETE RATHER THAN REPLACE, which is a deliberate divergence from idx-26j's own instance and is grounded rather than asserted. idx-26j replaced its 80/20 with a structural count because that file HAD a partition to count (12 sources under \"Verified sources\", 5 under \"Baseline sources\"). THIS FILE HAS NO SUCH PARTITION, and it was re-measured this session rather than taken from the entry: the \"Microsoft Learn-ressurser (MCP-verified)\" table is 8 rows and ALL 8 are marked Verified (100/0), and the \"Konfidensgradering per seksjon\" table splits 3 Verified against 3 non-Verified (50/50). Neither is 80/20 under any reading, and neither is a measure of coverage. Writing \"3 av 6 seksjoner\" would INVENT a denominator and swap the claim - the line reads as source coverage, the count would measure sections. That is \"the replacement authors the defect class it closes\", the error caught in idx-26j's own draft before commit, and the hazard this entry is the namesake of.\nEDIT: \"**Verification status:** 80% Microsoft-verified, 20% domain-specific (Norwegian public sector)\" DELETED at :296, in the same edit as idx-26u. Splitting them across sessions would have left the footer half-closed; bundling them WITHOUT stating separate grounds would have been the idx-26g bundling error. Both were done: one edit, two grounds, written out here.\nCORPUS NOTE, measured and NOT booked, because neither is this defect: \"**Verification status:**\" occurs in 3 files. The other two are public-sector-ai-ethics-framework.md:313 (\"Alle kilder verifisert 2026-02\") and ai-services-api-best-practices.md:709 (\"Documented via Microsoft Learn MCP (2026-02)\"). Neither carries a percentage and neither has an undefined denominator, so the locator-4 class does not reach them. Recorded so a later sweep does not have to re-measure the field name."
},
{
"id": "idx-26w",
@ -958,6 +961,44 @@
"**Totalt antall unike URLer:** 8 Microsoft Learn-artikler + 4 GitHub-repos = **12 kilder**"
],
"resolution": "APPLIED 2026-08-12 under _meta.ratified_forms[\"#28\"]. The line now reads \"**Totalt antall unike URLer:** 8 Microsoft Learn-artikler + 2 GitHub-repos = **10 kilder**\". Verified by whole-line comparison: pre-edit 0x, post-edit exactly 1x. THIS IS THE FIRST TIME THIS PROGRAMME HAS WRITTEN A NUMBER IT MEASURED, and it was put to the operator as exactly that question rather than settled by whichever session arrived first. The ground for departing from deletion was measured before the choice was offered: \"8 Microsoft Learn-artikler\" is TRUE and occurs NOWHERE ELSE in the file, making this #23 expressly unratified residual case, so deletion would have destroyed a true and unique claim instead of removing a redundant one. Correct line number is :791, not the :792 carried in this entry evidence and in STATE. The neighbouring \"**Konfidensniva totalt:** 95% Verified...\" at :792 is untouched and remains open as the idx-26j locator-4 / idx-26v class, as this entry already recorded."
},
{
"id": "idx-26au",
"file": "skills/ms-ai-security/references/cost-optimization/budget-forecasting-ai-projects.md",
"class": "replacement",
"status": "resolved",
"raised": "2026-08-12",
"summary": "Booked and closed in the same session, while applying idx-26u. NOT a new discovery so much as a scope correction: idx-26u was the only booked member of the \"**File size:**\" class, and the class was MEASURED CORPUS-WIDE BEFORE the ratification question was put, which is the step idx-26j's scope addendum said was missing when booking stopped at 7 of 21. This file carries the identical string \"**File size:** ~14 KB\" at :530 against an actual 20001 bytes (19.5 KB) - 39% off, a LARGER error than the entry that was booked. Note that this file already appears in idx-26j's \"10 consistent\" list, so it was a known file whose footer had been read; this line was simply never in any entry's anchors.",
"evidence": "corpus grep for \"**File size:**\" (3 files); wc -c = 20001; idx-26u; idx-26j scope addendum (this file is in its 10-consistent list)",
"anchors": [
"**File size:** ~14 KB"
],
"resolution": "Operator-ratified 2026-08-12 under #29, in the same decision that ratified idx-26u - the operator chose the scope \"all 3, the field is self-invalidating\" over \"only the booked entry\". DELETED at :530. The file now ends at :529 on \"**Unique sources:** 8 Microsoft Learn URLs\", re-measured this session and TRUE: 8 distinct Learn articles after /en-us/ normalisation (9 raw URL strings). Whole-line proof: deleted line 0 occurrences corpus-wide after the edit, surviving line 1 occurrence."
},
{
"id": "idx-26av",
"file": "skills/ms-ai-engineering/references/agent-orchestration/agent-evaluation-testing-frameworks.md",
"class": "replacement",
"status": "resolved",
"raised": "2026-08-12",
"summary": "Booked and closed in the same session, while applying idx-26u; third and last member of the \"**File size:**\" class. \"- **File size:** ~29 KB\" at :565 against an actual 27864 bytes (27.2 KB) - 6.6% off, which is DEFENSIBLE under the tilde and is the reason this member forced the scope question to be stated rather than assumed. Two different grounds give two different scopes, and the difference was put to the operator explicitly: \"measurably false\" reaches only the other two members, while \"a file property no edit can keep true\" reaches all three. The operator ratified the latter. This member also differs in form: it sits inside a labelled block (\"**Document metadata:**\") as a list item, not as a bare footer line.",
"evidence": "corpus grep for \"**File size:**\" (3 files); wc -c = 27864; the **Document metadata:** block at :562-565; #22 label rule",
"anchors": [
"- **File size:** ~29 KB"
],
"resolution": "Operator-ratified 2026-08-12 under #29. DELETED at :565. THE LABEL AND THE TWO REMAINING LINES ARE UNTOUCHED: \"**Document metadata:**\" names content rather than the generation, so under #22's label rule it is the \"Research Coverage\" case and is KEPT UNCHANGED - it still labels two surviving lines, so no promotion applies either. \"- **Unique sources:** 10 Microsoft Learn URLs\" re-measured and TRUE (10 distinct Learn articles after /en-us/ normalisation, 11 raw strings). \"- **Word count:** ~3200 ord\" LEFT IN PLACE AND BOOKED SEPARATELY as idx-26aw - see #29's not-covered clause. Whole-line proof: deleted line 0 occurrences corpus-wide, both surviving lines 1 occurrence each."
},
{
"id": "idx-26aw",
"file": "skills/ms-ai-engineering/references/agent-orchestration/agent-evaluation-testing-frameworks.md",
"class": "replacement",
"status": "open",
"raised": "2026-08-12",
"summary": "Booked at the edit site while applying idx-26av, NOT found by a later sweep - the discipline #26 named after the ai-impact-assessment residue. \"- **Word count:** ~3200 ord\" at :564 sat DIRECTLY ABOVE the deleted \"- **File size:** ~29 KB\" and is arguably the same class: a physical property of the artifact that every future edit invalidates. MEASURED rather than asserted: wc -w = 3374 against a claimed ~3200, 5.2% off - the same defensible-under-the-tilde magnitude as the File size line in this very file, so the size of the error does not separate them either. THE REASON IT IS OPEN AND NOT DELETED: the ratification question put to the operator on 2026-08-12 named the \"**File size:**\" field and its three occurrences. It did not name word count. Extending #29 to this line would be inheritance by adjacency - the silent widening #22 refused for idx-26ar and #26 refused for the unlabelled-run class, and the premise type falsified twice in the preceding session. THE SCOPE IS ALREADY MEASURED for whoever adjudicates: this is the ONLY word-count field in the corpus (grep for \"**Word count:\", \"**Ordtelling\", \"**Antall ord\" across skills/), so the decision is one line, not a class. If it is deleted, \"**Document metadata:**\" would then label a single surviving line and #22's promote clause should be checked at that point.",
"evidence": "agent-evaluation-testing-frameworks.md:564; wc -w = 3374; corpus grep showing 1 occurrence of the word-count field; #29 not-covered clause; idx-26av resolution",
"anchors": [
"- **Word count:** ~3200 ord"
]
}
]
}

View file

@ -562,4 +562,3 @@ results = mlflow.genai.evaluate(
**Document metadata:**
- **Unique sources:** 10 Microsoft Learn URLs
- **Word count:** ~3200 ord
- **File size:** ~29 KB

View file

@ -292,5 +292,3 @@ Azure Cost Management aggregerer kostnader per dag, men fakturering skjer måned
---
**Total sources:** 8 unique Microsoft Learn URLs
**File size:** ~14 KB
**Verification status:** 80% Microsoft-verified, 20% domain-specific (Norwegian public sector)

View file

@ -527,4 +527,3 @@ Korrekt forecasting driver kostnadsoptimalisering:
---
**Unique sources:** 8 Microsoft Learn URLs
**File size:** ~14 KB