fix(ms-ai-architect): registry-herding Fase 1a — +5 sitemap-prefiks + skjemaløs URL-ekstraksjon
Update-mekanismen lot siterte URL-er stå som not_in_sitemap fordi deres docset aldri ble pollet, og skjemaløse citater (tabellceller: bare learn.microsoft.com/... uten https://) ble aldri ekstrahert. - Taxonomy: +5 docsets (graph, ai-builder, power-apps, power-automate, microsoftsearch) — hver ett child-sitemap, verifisert live mot indeksen. Bevist: 21/24 not_in_sitemap-URL-er i disse docsetene blir nå tracked. - url-normalize: extractUrls fanger skjemaløse citater-med-sti (krever /path etter domenet → avviser bare-domene-prosa og JSON-eksempler); normalizeUrl kanonikaliserer scheme til https. Bevist: +19 nye URL-er ekstraherbare. - Bugfix: backtick fra inline-kode-citat (`learn.microsoft.com/...`) lekket inn i URL-en — ekskludert i regex + trailing-strip. TDD: tests/kb-update/test-url-normalize.test.mjs (ny, 14) + test-taxonomy prefiks-count 18→23 + Fase 1a-assertion. Full suite 338/338, 0 regresjon. Registry-refresh (build-registry --merge + poll) bevisst utsatt — unngår 552KB re-order-churn; effekten er empirisk verifisert read-only.
This commit is contained in:
parent
6ae0ed5821
commit
e74646d395
4 changed files with 152 additions and 7 deletions
|
|
@ -24,9 +24,9 @@ import {
|
|||
const tax = loadTaxonomy();
|
||||
|
||||
// --- (a) sitemap prefixes — poll/discover parity ---
|
||||
test('sitemap_prefixes — 18 entries with poll/discover parity', () => {
|
||||
test('sitemap_prefixes — 23 entries with poll/discover parity', () => {
|
||||
const prefixes = getSitemapPrefixes(tax);
|
||||
assert.equal(prefixes.length, 18);
|
||||
assert.equal(prefixes.length, 23);
|
||||
// poll superset includes the 6 that discover previously lacked
|
||||
for (const p of ['microsoftteams_en-us_', 'sharepoint_en-us_', 'microsoft-365_en-us_',
|
||||
'training_en-us_', 'cloud-computing_en-us_', 'privacy_en-us_']) {
|
||||
|
|
@ -37,6 +37,17 @@ test('sitemap_prefixes — 18 entries with poll/discover parity', () => {
|
|||
assert.ok(!prefixes.includes('dotnet_en-us_'));
|
||||
});
|
||||
|
||||
// Fase 1a registry-herding: 5 stack-relevant docsets whose cited URLs were
|
||||
// stranded as not_in_sitemap because their child sitemaps were never polled.
|
||||
// Each is a single child sitemap (verified live against the sitemap index).
|
||||
test('sitemap_prefixes — Fase 1a additions (graph / power / ai-builder / search)', () => {
|
||||
const prefixes = getSitemapPrefixes(tax);
|
||||
for (const p of ['graph_en-us_', 'ai-builder_en-us_', 'power-apps_en-us_',
|
||||
'power-automate_en-us_', 'microsoftsearch_en-us_']) {
|
||||
assert.ok(prefixes.includes(p), `missing Fase 1a prefix ${p}`);
|
||||
}
|
||||
});
|
||||
|
||||
// --- (c) category → skill — PHYSICAL DISK is canonical ---
|
||||
test('category_skill — disk-truth canonical (the 4 formerly stale entries)', () => {
|
||||
// category-skill-map.json had these as ms-ai-engineering; disk says otherwise.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue