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)
- 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.
- 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). - Persona-lag: SKILL.md, kommandoer, README, NOTICE, CLAUDE.md, scripts — kirurgisk, per-fil (her sitter den faktiske persona-definisjonen).
- Verifisering:
bash tests/validate-plugin.sh(239/0),grep -rc Cosmo→ 0 (eller dokumentert restmengde), skill-re-score uendret (≥90 %). - 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-connector→overview-copilot-connector, verifisert 2026-06-26). Disse står i dag somnot_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## Innholdpå nytt viatransform.insertToc(primitiven overlever; det tidligere TOC-backfill-CLI-scriptet er retired i R6 Step 6 — ikke-atomiskwriteFileSync, 0 programmatiske kallere, superseded avinsertTocitransform.mjs/migrate-corpus). NB:migrate-corpusfencer 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):
insertTocer 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 viacomposeKbFile(Fase 1c,2240f1e). - Verifisering:
node scripts/kb-eval/eval.mjs→checkN4 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 — reviewgit diffper fil eller per klynge. - Hold KB-faktainnhold urørt; dette er ren ramme-/persona-endring, ikke en ny KB-refresh.