Sesjonsslutt etter kb-update Medium (74 files). STATE: Medium FERDIG, Low neste/siste, push parkert. Presisert agentic-retrieval binding-fakta (GA via REST 2026-04-01 = kun ekstraktiv grounding; answer synthesis + non-minimal reasoning + multi-turn = preview) + lærdom om lossy binding-fakta til subagenter. Brief-status oppdatert. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
6.5 KiB
6.5 KiB
Brief — /architect:kb-update apply-kjøring
Run-plan for KB-currency-refresh. Autoritativ kommando-spec: commands/kb-update.md — denne briefen dekker beslutninger, metode og sesjonsplan. Pekt til fra STATE.md.
Status (2026-06-19)
- Critical (15) — FERDIG (
41b390b, pushet). - High (49) — FERDIG (
25bcb74, pushet 2026-06-19). - Medium (74) — FERDIG (
070141f, committet 2026-06-19; push parkert utenfor vindu). Kjørt som ÉN sesjon med 15 Opus-subagenter (3 bølger). Hovedkontekst fanget 1 regresjon: subagent overforenklet agentic retrieval GA/preview → rettet motagentic-retrieval-how-to-migrate. Lærdom: gi subagenter PRESISE binding-fakta, ikke lossy STATE-sammendrag. - Low (~51) — PLANLAGT, siste bøtte. Kjøres i ny sesjon (se sesjonsplan).
Metode (oppdatert 2026-06-19, evidensbasert): DELEGER store bøtter
Kommando-spec'en (commands/kb-update.md) beskriver fetch+Edit i hovedloopen. For STORE bøtter er det upraktisk: Microsoft Learn-sider er 50KB+ (ikke «noen tusen tokens» som opprinnelig antatt), og medium+low = ~268 unike fetches — umulig i én kontekst. High-bøtta (25bcb74) ble derfor kjørt med grupperte Opus-subagenter, som fungerte svært bra (fanget bl.a. 3 reelle faktafeil). Bruk dette mønsteret for medium+low.
Bevist mønster:
- Re-poll FØRST (dry-run):
node scripts/kb-update/run-weekly-update.mjs --force→ fersk bøtte-klassifisering. ALLTID re-poll — klassifisering drifter med fil-alder; ikke gjenbruk gammelchange-report.json. - Hent full fil→endrede-URLer-mapping fra
scripts/kb-update/data/change-report.json(filtrer påpriority). - Grupper filene i bunter på ~6 filer som deler kilder (hver unik URL hentes én gang per gruppe → minimer fetches).
- Spawn én Opus-subagent per gruppe (
Agent,subagent_type: claude,model: opus), med disjunkte fil-sett (ingen skrivekonflikt → ingen worktree nødvendig). Hver subagent: Read →microsoft_docs_fetch(store sider persisteres til fil → Read den fila) → kirurgisk Edit → bump dato → kjøredato (behold filas eksisterende dato-label/format; footerSist oppdatert→kjøredato,Neste review→+3 mnd hvis de finnes). - Subagent-kontrakt (kritisk): verifiser hver faktapåstand mot kilde; fiks motsigelser til å matche kilden; ALDRI oppfinn — flagg uverifiserbart eksplisitt; behold «For Cosmo»/«For arkitekten»-seksjon + struktur; ALDRI git/commit/stage; rør KUN tildelte filer; returner kompakt per-fil-changelog + FLAGS-linje.
- Gi subagentene de binding-verifiserte faktaene fra STATE.md (relevant utvalg per gruppe) → unngå re-verifisering + motsigelse.
- Hovedkontekst verifiserer ETTER (subagentenes egenrapport er ikke nok — fila er fasit):
git diff --stat→ scope = KUN forventede filer, ingen streifende.- git-diff-review av de største/mest faktatunge gruppene; spot-sjekk små.
- alle endrede filer har dato-header = kjøredato (regex-tips: dato-label kan ha kolon inni fet skrift,
**Dato:**). validate-plugin.sh(239) ·test-kb-integrity.sh(115/115, orphans ≤ 262) · gitleaks.- single-commit per bøtte:
chore(ms-ai-architect): refresh KB <bøtte>-bucket — N files [skip-docs](følg41b390b/25bcb74-stil + Co-Authored-By/Claude-Session-trailers). - push (vindu-sjekk:
TZ=Europe/Oslo date '+%u %H:%M'; hverdag 20:00–23:00, helg/helligdag fritt — ELLER eksplisitt operatør-go).
Sesjonsplan (medium + low)
| Sesjon | Bøtte | ~Filer | ~Unike fetches | ~Grupper (~6/gr) |
|---|---|---|---|---|
| M | medium | ~74 | ~129 | ~13 |
| L | low | ~51 | ~139 | ~9 |
- Anbefalt: to sesjoner (M først, så L).
- Antall subagenter er IKKE en begrensning (operatør-godkjent «så mange som trengs», 2026-06-19) — subagentene absorberer fetch-lasten, så bruk én per ~6-fil-gruppe (~13 for M, ~9 for L). Sesjons-splitten styres av hovedkontekstens verifiseringslast (diff-review av N filer), ikke agent-antall. M+L kan teoretisk gjøres i én sesjon, men 2 anbefales for grundig diff-review. Splitt Medium til M1/M2 (~37 hver) kun hvis verifiseringen blir for tung.
- Hver sesjon: ÉN bøtte (
--priorities mediumhhv.--priorities low),--single-commit. - Discovery: historisk kun Databricks-støy (2 kjøringer på rad) →
--skip-discoveranbefalt for fart; operatør avgjør ved kjøring. - Low har lite kilde-gjenbruk (139 unike for 51 filer) → grupperingen sparer få fetches der, men holder fortsatt subagent-kontekst ren.
Per-sesjon oppstart (kort sjekkliste)
- Fersk sesjon i
ms-ai-architect/.claude mcp list→ bekreftmicrosoft-learnaktiv. git statusrent + påmaini synk (kommandoen blander inn ucommittede.md).- Re-poll:
node scripts/kb-update/run-weekly-update.mjs --force(--discoverkun hvis ønsket). node scripts/kb-update/report-changes.mjs | head -40→ bekreft bøtte-tall (kan ha driftet siden 2026-06-19).- Hent fil→URL-mapping → grupper → spawn Opus-subagenter → verifiser (punkt 7 over) → single-commit → push → oppdater STATE.md.
Etter kjøring — obligatorisk
- Telling-resync: apply på EKSISTERENDE filer endrer IKKE 389. KUN hvis discovery legger til NYE skills/-filer må 389 re-synkes overalt: README badge + prosa + KB-tabell + per-skill-seksjon; CLAUDE.md skill-tabell; SKILL.md subdir-tabell. Nye filer MÅ wires i respektiv SKILL.md (ellers orphan-warnings > 262). Fasit:
find skills/*/references -name '*.md' -type f | wc -l. - STATE.md: oppdater ved sesjonsslutt (fjern fullført bøtte; oppdater HEAD/push-status).
Fallgruver
- Sitemap-coverage ~69 %: ~31 % (mest
azure/ai-foundry/openai/) finnes ikke pga. URL-restrukturering → rapporteres «always stale», vurderes manuelt. - MCP-tilgjengelighet: krever aktiv
microsoft-learn-server. - Modellvalg: Opus for diff-nyanse (subagentene settes eksplisitt til
model: opus). - Regex på dato-header:
**Dato:**/**Sist oppdatert:**har kolon inni fet skrift — match på selve dato-strengen, ikke**Label**.
Verifisering (testbare kriterier)
bash tests/validate-plugin.sh→ 239 PASS / 0 FAIL.bash tests/test-kb-integrity.sh→ 115/115; orphan-warnings IKKE økt utover 262 (med mindre nye filer bevisst lagt til + wiret).- Hver oppdatert fil har dato-header = kjøredato.
git log --onelineviser refresh-commit med[skip-docs]-suffiks.- Hvis discovery kjørte: README/CLAUDE.md/SKILL.md-tellinger matcher faktisk filtelling.