ms-ai-architect/docs/cosmo-removal-brief-2026-06.md

6.4 KiB

Cosmo-persona — full utfasing (brief)

Opprettet: 2026-06-24 Status: PLANLAGT — godkjent av operatør, men skal gjøres SIST (etter pågående arbeid). Operatør: «Fjern hele Cosmo-personaen (også i README), men vent med dette som det siste vi gjør, HVIS ikke du anbefaler at det gjøres før.» Anbefaling gitt: ikke tidligere — KB-refresh (faktaferskhet) og Cosmo-fjerning (persona-ramming) er ortogonale; egen plan + egen versjonsbump (sannsynlig minor, f.eks. v1.17.0, siden persona er en dokumentert feature).

Bakgrunn

Operatør-direktiv 2026-06-24: «Cosmo-pedagogikken er en gammel idé og må ikke fortsettes.» «Cosmo Skyberg» er advisor-personaen i ms-ai-advisor-skillen og brukes som et pedagogisk grep både i dialog (/architect «med Cosmo Skyberg») og som ## For Cosmo-notater adressert til personaen i KB-filene.

Utfasing er startet i v1.16.5: «For Cosmo»-seksjonene fjernet i agent-framework.md (omskrevet) og disconnected-ai-scenarios.md (erstattet med «## Oppsummering»). Resten gjenstår.

Omfang (ground truth, målt 2026-06-24)

  • 417 filer nevner «Cosmo» · 956 totale forekomster
  • 188 filer har en ## For Cosmo- / For Cosmo:-seksjon
  • Fordeling (topp): ms-ai-engineering 154 · ms-ai-governance 77 · ms-ai-security 61 · ms-ai-advisor 56 · ms-ai-infrastructure 35
  • Arkitektur-lag (utenfor KB-seksjonene): ms-ai-advisor/SKILL.md (persona-definisjon), commands/architect.md (+ flere kommandoer: vendor, utredning, transparency, summary, security, ros …), README.md, NOTICE.md, CLAUDE.md («Cosmo Skyberg-persona»), scripts/skill-gen, scripts/kb-update, playground/docs.

Reproduser tellingen: grep -rl "Cosmo" --include="*.md" . | wc -l · grep -rao "Cosmo" --include="*.md" . | wc -l · grep -rl "## For Cosmo\|For Cosmo:" --include="*.md" . | wc -l.

Foreslått tilnærming (utkast — krever egen plan før start)

  1. Avklar erstatning FØRST (operatør-beslutning): Skal advisor-dialogen ha en ny nøytral ramme («arkitekturrådgiver»), en ny navngitt persona, eller ingen persona? Dette styrer SKILL.md + kommando-omskrivingen og er den eneste reelle designbeslutningen — resten er mekanisk.
  2. KB-seksjonene (188 ## For Cosmo): erstatt med nøytral heading («## Oppsummering» / «## Nøkkelpunkter for rådgivning») — innholdet (bullets) er stort sett nøytrale arkitekt-takeaways og kan beholdes. Kandidat for batch (men header varierer; per-fil eller forsiktig sed med review).
  3. Persona-lag: SKILL.md, kommandoer, README, NOTICE, CLAUDE.md, scripts — kirurgisk, per-fil (her sitter den faktiske persona-definisjonen).
  4. Verifisering: bash tests/validate-plugin.sh (239/0), grep -rc Cosmo → 0 (eller dokumentert restmengde), skill-re-score uendret (≥90 %).
  5. Release: egen versjonsbump + CHANGELOG; oppdater CLAUDE.md (fjern «Cosmo Skyberg-persona»-beskrivelsen).

Sammenfall: registry-herding Fase 1a endring C (utsatt hit — operatør 2026-06-26)

Fase 1a A+B (sitemap-prefiks + skjemaløs URL-ekstraksjon) er levert (e74646d). Endring C (redirect-følging) ble bevisst utsatt og foldet inn HER, fordi 20 av 21 filer med legacy-citater er ms-ai-advisor (copilot-extensibility) — de samme filene Cosmo-utfasingen uansett redigerer. Når du redigerer advisor copilot-extensibility-filene:

  • Re-kanonikaliser 44 legacy /microsoft-365-copilot/...-citater → /microsoft-365/copilot/... via ekte redirect-resolusjon (ikke streng-rewrite: slug-en kan endres, f.eks. overview-graph-connectoroverview-copilot-connector, verifisert 2026-06-26). Disse står i dag som not_in_sitemap.
  • 3 omdøpte microsoftsearch-citater (connectors-overview, federated-connectors-overview, licensing) — samme redirect-fiks.
  • Etterpå: node scripts/kb-update/build-registry.mjs --merge + poll fanger dem som tracked. Gjør dette som ren citat-fiks (root-cause), ikke en ny redirect-map-mekanisme.

Sammenfall: store-fil-TOC / ref-KB Fase 1b (foldet inn hit — operatør 2026-06-26)

Fase 1b (innholdsfortegnelse i de 20 filene >800 linjer) ble opprinnelig skopet som «trygt håndverk, uavhengig av Cosmo». Ground truth motbeviste premisset: 11 av 12 ikke-advisor-storfiler (og alle advisor-storfilene) har en ## …Cosmo…-seksjon på nivå 2. En TOC bygget fra ##-overskriftene ville da emittere en ny Cosmo-anker (- [For arkitekten (Cosmo)](#…)) → bryter «aldri ny Cosmo-innhold», og å nøytralisere overskriften er nettopp denne persona-fjerningen (ikke en sidehandling). Store-fil-TOC folder derfor inn her.

  • Når du nøytraliserer ## …Cosmo…-overskriften i en storfil (R13/R14): bygg ## Innhold på nytt via transform.insertToc (primitiven overlever; det tidligere TOC-backfill-CLI-scriptet er retired i R6 Step 6 — ikke-atomisk writeFileSync, 0 programmatiske kallere, superseded av insertToc i transform.mjs / migrate-corpus). NB: migrate-corpus fencer ut advisor OG mangler single-fil-modus, så den er ikke en drop-in for den advisor-rettede cosmo-use-casen — R13/R14 håndterer TOC via et advisor-kapabelt single-fil-steg, ELLER heading-fjerningen løser det selv.
  • §8-residual (gap-discipline, gap-discipline-must-close): insertToc er en no-op på en fil som allerede har ## Innhold, så en heading-nøytralisering som endrer en oppført overskrift etterlater en stale TOC-entry (latent link-rot). Lukkes i R13/R14 ved å regenerere TOC etter nøytralisering (eller nøytralisere før TOC-en bygges).
  • Mekanismen er transform.insertToc (testet, tests/kb-update/test-transform.test.mjs). Nye filer fødes allerede med TOC via composeKbFile (Fase 1c, 2240f1e).
  • Verifisering: node scripts/kb-eval/eval.mjscheckN4 hasToc = true for de berørte filene; ingen diff-churn på små filer (<100 linjer røres ikke).
  • Eneste storfil uten ##-Cosmo-overskrift: zero-trust-ai-services.md (eneste Cosmo-token er inline **For Cosmo:**) — kan TOC-es uten å skape Cosmo-anker, men tas naturlig i samme pass.

Risiko / merknader

  • Ikke en bugfix-sidehandling. Persona er en dokumentert feature — full plan + godkjenning før start (scope-guard).
  • Batch-sed på 188 filer er fristende, men ## For Cosmo-seksjonene har varierende innhold/lengde — review git diff per fil eller per klynge.
  • Hold KB-faktainnhold urørt; dette er ren ramme-/persona-endring, ikke en ny KB-refresh.