tests/screenshot/run.mjs now clears PNGs a previous run left in its output directory and writes playground/screenshots/MANIFEST.json (output directory, sha256 per PNG, sha256 of the demo state rendered). One run produced the 24 PNGs in playground/screenshots/v1.15.0/ (12 surfaces x 2 themes, including the dark onboarding view removed in 1.18.1).
Removed the v1.10.0, v1.11.0, v1.14.0 and v2-mockup sets (77 PNGs) and tests/screenshot/shoot-mockup.local.mjs. Chose regenerate for the set the runner writes and delete for the rest, because the current runner cannot reproduce the older layouts, and the mockup script reads an HTML file that is not in the repository, so its output could never be regenerated from a clone.
README gallery, docs/playground.md and tests/screenshot/README.md now point at v1.15.0 and describe the 12 surfaces the runner captures. The manifest gate goes green: 4/4.
OCR (Apple Vision, local): 0 of 24 PNGs in the tree carry text from the older demo; known positives from 715950b were found (2 of 2).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Version 1.18.1 in plugin.json, the README badge and SECURITY.md, with the
changelog entry. The README screenshot table notes that the dark
onboarding variant was removed. Not tagged.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Nøytral arkitekt-ramme (ratifisert 15.09) i SKILL.md-ene, 23 kommandoer, 70 redaksjonelle
forekomster i ref-korpuset, README/CLAUDE.md/NOTICE og A11Y-rapportens proveniens-linje.
Hver av de 70 avgjort i kontekst: dialog fikk ny taler, proveniens ny opphavspåstand.
Ordren navnga fem produsent-steder; den live sjette manglet. `PROMPT_TEMPLATE` settes i
generate-skills.sh:27 og leses ALDRI — prompten er en heredoc i samme script. Å rette bare
prompt-template.md ville latt generatoren re-minte personaen ved neste KB-kjøring.
Ny G4-klausul i check-cosmo-gate.mjs: persona i leveranseflaten = 0, derivasjonsregisteret
pinnet per fil PÅ TALL (et filnavn-unntak er blindt for hva fila senere inneholder).
Registeret utvidet med README.md 3 — versjonstabellens rader er historikk, ikke leveranse.
Den ene genitiv-formede produktlinja adjudiseres på cosmos-db-URL-en i samme rad; regelen
er målt lukket (8 tvetydige linjer totalt, 33 URL-linjer, 2 persona-klassifiserte, begge
produkt) og hvitvasker ikke bar `Cosmo`. classifyCosmo urørt — baselinene hviler på den.
R3 godtar nå R14-utført (0) men ingenting imellom: et halvveis sveip felles fortsatt.
Bevis: gate PASSED + NETTET VALIDERT BEGGE VEIER · 1137/1137 · validate-plugin 250/0/0 ·
begge --dry-drivere 0 · Layer B 45/45 OK (kjent-positiv feller, exit 1).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
170 commits siden v1.17.0 (2026-07-04): 73 feat, 45 fix, 45 docs, 5 chore,
1 test, 1 refactor. 363 filer endret (71 nye, 3 slettet), 218 av 389
reference-filer. Suite 728 -> 1097, validate-plugin 250 PASS / 0 FAIL.
Den baerende endringen: v1.17.0 la substratet (Spor 1), denne utgivelsen
kjoerte mekanismen. Hele korpus-doemmepasset R7.1-R7.5 er utfoert over alle
243 aldri-verifiserte reference-filer (3 960 claims, 14 pass born-verified
stemplet, 229 flagged, 984 flagg), og R11 flag->fiks er i eksekvering
(74 av 81 G7-entries lukket, formene #14-#37 ratifisert).
Sideloepende fant kryssmodell-reviewen 2026-07-09 den eneste feilen i
utgivelsen som var synlig for en bruker uten aa lese ledgeren: pluginen
lastet KB feil i INSTALLERT modus - 115 relative KB-stier i 26 commands
og 10 agenter resolverte kun i dev-modus (RX-P1/P2).
Filer: plugin.json 1.17.0 -> 1.18.0, README-badge + ny historikk-rad,
SECURITY.md "currently", CHANGELOG [1.18.0]-seksjon med [Unreleased]-
punktet flyttet inn. [Unreleased] beholdt tom.
Tagg, katalog-ref og push gjoeres av operatoeren med
catalog/scripts/release-plugin.mjs ms-ai-architect --create-tag --write
--commit --push.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
DS-repo restored scripts/sync-design-system.mjs with an explicit source
allowlist and verified the command; ran their exact command (never one
reconstructed locally). MANIFEST.json was rewritten by the script itself,
never edited by hand.
source_commit now reads efaa3d0 (playground-design-system's main on the
public mirror), verified reachable via git ls-remote against the public
remote and git cat-file -t locally — in contrast to the previous c1b7bad,
which does not exist as a git object in that repo at all. 26/27 files
byte-identical to the source; only their README.md content differs.
Replaced the three stale prose points in README.md and docs/playground.md
that described the missing command and the untrustworthy source_commit.
Suite: 1070/1070 (tracked kb-update + kb-eval test files).
[skip-docs]: README.md and docs/playground.md are the doc update this task
required (vendoring section accuracy). CLAUDE.md's command/agent/skill
surface is unaffected — no new commands, agents, or skills.
playground-design-system svarte paa coord 20260826T125424Z-633311263 (deres
20260826T221726Z-1224320768). Alle fem baerende paastander er verifisert HER foer
de ble skrevet inn - en melding er premiss, ikke faktum:
1. c1b7bad LEVER i catalog-repoet (977 commits, pre-migrasjons-monorepohistorikk).
Vaar egen slutning om at lineagen var kuttet var FEIL - den er kuttet fra vaart
og deres repo, ikke fra catalog. Rettet.
2. Skriptet ligger i e84dffd^:scripts/sync-design-system.mjs - 225 linjer, og det
tar allerede --source/--target/--check/--force. Restaurering, ikke nyutvikling.
3. source_commit c1b7bad er ikke bare unaabar, den er USANN: det vendorede treet
inneholder components-tier4-project-view.css, som ikke fantes i den commiten.
Kjent-positiv kontroll paa components-tier3.css i SAMME commit slaar opp fint,
saa spoerringen kan finne. Syncen etikettmerket med marketplace-HEAD mens den
kopierte et ukommittert arbeidstre.
4. 26 av 27 filer byte-identiske med DS-repoets naavaerende innhold. Merk: foerste
maaling her ga 17/27 fordi generated-headeren ikke var trukket fra. Justert
maaling matcher deres tall eksakt; kjent-positiv bekreftet at sammenligningen
kan skille. Avviket er deres egen README.md.
5. 27/27 mot vaar egen MANIFEST - ingen lokal drift.
Skrevet inn: vendoring bestaar som anbefalt konsumentmodell, ingen avloesning.
Ingen kommando publisert ennaa - DS-repoet holder restaureringen til
kildeavgrensningen er valgt, fordi en naiv --source . over deres repo-rot ville
vendoret STATE.md og repo-apparatet inn hit. Vi rekonstruerer ingenting lokalt.
MANIFEST.json er LATT UROERT paa deres eksplisitte anbefaling: aa oversette stien
og beholde commiten ville gjort en aapenbart stale peker til en troverdig feil en.
Lagt til et punkt om hva en konsument kan sjekke uten skriptet, inkludert
header-fellen som ga min egen foerste maaling feil svar.
Verifisering: prosa, ingen test dekker den - hver erstatning er hel-linje-anker
med telt forekomst (alle unike). Diff-kontekst lest med -U4. Suite: 1070/1070.
Dokumentasjonen instruerte lesere om a kjore `node scripts/sync-design-system.mjs
ms-ai-architect` fra marketplace-roten, og om a legge DS-endringer i
`shared/playground-design-system/`. Malt 2026-08-26 mot ground truth: `find` over
marketplace-treet (maxdepth 4) finner ikke skriptet noe sted, og `shared/`-katalogen
finnes ikke. Marketplace er polyrepo; designsystemet er et eget soesterrepo med
CSS-filene i rot. En dokumentasjon som peker pa et skript som ikke finnes er usann.
Rettet, 9 linjer i 2 filer:
- README.md 471, 473-475 (+ 474 som beskrev `--force`-oppforselen til samme skript)
- docs/playground.md 55, 59, 61-62, 64
Erstatningsteksten oppgir bevisst INGEN ny kommando. Den riktige re-sync-veien er
ukjent: spoersmalet er sendt til `playground-design-system` (coord
20260826T125424Z-633311263) og er ubesvart. Teksten sier na hva som er malt, at
veien er under avklaring, og at den vendored kopien er komplett og fungerer som den
er. "Under avklaring" er sant; en peker til et fravaerende skript er det ikke.
IKKE roert - historiske oppforinger der stien var sann da den ble skrevet:
CHANGELOG.md 203/291/336/399/412/452, README.md 409/420, docs/playground.md 41,
playground/A11Y-RAPPORT.md 86. Heller ikke playground/vendor/** (upstreams filer)
eller MANIFEST.json sitt source-felt (spurt om, ikke besvart).
Verifisering: ingen test dekker prosa, sa grep ER sjekken. Hver av de 9 linjene ble
lest med `sed -n Np` og telt med `grep -Fxc -e` foer erstatning (alle unike, 1
forekomst); en kjent-negativ ga 0/rc=1, sa telleren kan skille "ingen treff" fra
"broedt kall". Diff-kontekst lest med -U6 foer commit. Suite over sporede testfiler:
1070/1070.
Microsoft flyttet prosjektet fra microsoft/azure-mcp-server til
Azure/azure-mcp. Gammel URL ga 404, ny gir 200 (verifisert med curl).
Kun L369 rettet - 5 andre forekomster av azure-mcp-server (CLAUDE.md +
3 skill-referansefiler) er ute av scope for denne ordren.
GOVERNANCE.md konsolideres til én kanonisk fil i repo-standard. Kopien her var
byte-identisk med baseline (md5 736fc9d6af84fbd83c9cc7f860d8c8b7, 131 linjer).
Målt uavhengig før fjerning:
- Kanonisk fil: HTTP 200, md5 3df3603325d3d6937fd560c3f67b5a5d, 131 linjer.
- Diff kopi vs kanonisk: 18 hunks, ALLE 1-for-1 substitusjoner (ingen a/d).
Kun omskriving plugin/marketplace -> repository/organisation. Intet fjernet.
- Lenkesteder i repoet: nøyaktig 2 (README.md:7 og README.md:99). Site 2 står
i en brødtekst-seksjon, ikke hodeblokken — usynlig for enhver måling som
antok én lenke per README.
- Klasse: plugin. GOVERNANCE.md står i required_files kun for klassen catalog
(repo-standard/register/repos.json), så ingenting gater på fila for oss.
Begge endringer i SAMME commit: å fjerne kopien først ville åpnet et
LINK-INTERNAL-MISSING-vindu. Lenketeksten er uendret; kun target byttet.
Konsekvens bokført: den planlagte norske oversettelsen av den utoverrettede
flaten faller fra 887 til 756 linjer (README 716 + NOTICE.md 40). Norsk
GOVERNANCE er heretter repo-standards sak, ikke vår.
Suite: 1052/1052.
[skip-docs]: ingen doc-impact — ref-docs uendret på 389, ingen KB-fil lagt til
eller fjernet. README er selv en del av endringen.
Kjort mot repo-standard-skillen (klasse: plugin). Fire ERROR lukket:
- README-DESC: aapningslinjen matcher naa forge-beskrivelsen ordrett
(description == katalog == README paa en tredje flate)
- HEADING-MISSING ## Install: install-blokka loeftet ut av «Quick Start»
til fast ## Install paa foersteskjermen (begge CLI-linjer + settings.json
som andre form); «### Prerequisites» → «### Requirements» under den
- HEADING-MISSING ## Non-goals: ny seksjon — ikke juridisk raadgivning,
deployer/provisjonerer ingenting, ikke live prisekilde, kun Microsoft-
stacken, ikke et vendor-produkt, ikke tilknyttet Microsoft
- HEADING-MISSING ## Changelog: «Version History» → ## Changelog med
peker til CHANGELOG.md; tabellen beholdt
Lenker:
- licensing-matrix.md:608 pekte paa ../development/microsoft-agent-framework.md
(finnes ikke) → ../development/agent-framework.md
- README «Related Plugins» pekte paa ../llm-security — en relativ sti som kun
virker i operatoerens lokale polyrepo-oppsett → forge-URL
TOC oppdatert (15/15 ankere resolver). Gaten: 0 ERROR, 12 checks passed.
Gjenstaaende WARN: H1 «AI Architect Plugin for Claude Code» != repo-navnet —
bevisst tittel, beholdt (gaten kaller den eksplisitt operatoerens valg).
Verifisert: repo-standard-check.mjs exit 0; tests/test-kb-integrity.sh 222/222.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UwWdSC4Syh9pYjLA9kxy98
Lenka [Full disclosure ->](../../README.md#ai-generated-code-disclosure) var
relativ til den gamle monorepoen og pekte utenfor repoet etter polyrepo-
splitten. Ankeret #ai-generated-code-disclosure finnes ikke i noen README,
sa lenka var dod ogsa for splitten. Verifisert begge deler for endring.
Rutet hit av catalog (coord): migreringens 30-fix-references.mjs step 5 skulle
bytte lenka mot denne inline-teksten, men push-halvdelen var operator-gatet og
kjorte 0 pushes, sa steget aldri nadde publisert innhold.
[skip-docs]
En leser som fulgte README-en la til katalogen og stoppet; pluginen ble aldri
installert. Legger til det manglende andre leddet og flytter /plugin-henvisningen
til aa handle om aa bla i de OeVRIGE pluginene, som er det den faktisk gjoer.
Plugin-navn (ms-ai-architect) og katalognavn (ktg-plugin-marketplace) verifisert
mot .claude-plugin/plugin.json og catalog/.claude-plugin/marketplace.json;
plugin@marketplace-syntaksen verifisert mot 'claude plugin install --help'.
Rapportert av org-ops som funnet i 9 av 11 plugin-repo. [skip-docs]
Versjonsbump 1.16.1 → 1.16.2 med konsistent plugin.json + README-badge + README
version-history + CHANGELOG. KB-refresh-patch: kun reference docs i cost-optimization/.
Alle 8 critical cost-filer verifisert mot Microsoft Learn og oppdatert (commits
d36cddd→c0b8b51). report-changes.mjs: critical-count for klyngen 8 → 0. validate 239/0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Frigir akkumulert KB-arbeid som lå ufrigitt på main siden v1.16.0:
- Modellkatalog GPT-5.1 → GPT-5.5 (3 filer)
- Foundry-navnesveip «Azure AI Foundry» → «Microsoft Foundry» (233 filer, 810 forekomster)
- RBAC-rolle-renavn «Azure AI User» → «Foundry User» (1 fil)
Kun reference docs — ingen kommando-/agent-/skill-endringer. validate-plugin 239/0.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Map-fila divergerte fra disk-sannhet i 4 entries og var ukonsumert av all runtime (verifisert: docs/development.md erklærte allerede taksonomien som eneste kilde; kun README kalte den feilaktig «used by generate-skills»). Operatør-valg 2026-06-19: slett + rydd README. Fjerner en av de divergerende taksonomiene redesignet finnes for å eliminere.
README.md peker nå på scripts/kb-update/data/domain-taxonomy.json via lib/taxonomy.mjs getCategorySkill (disk-sann).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01REiKFhP4w6xGXXqWKpPCJJ
10 visuelle bugs identifisert av maintainer i nettleser etter v1.13.0
shipped. Patch-pakke som adresserer mismatch mellom playground-rendrere
og DS-konvensjoner som v1.13.0 ikke fanget opp.
- B7: classify "Forpliktelser" indent — lokal .report-meta CSS-reset
(DL grid max-content+1fr, h4 uppercase+bold, ul padding-left space-5)
for konsistent venstre-justering uavhengig av nestelse.
- B8a: requirement-expand handler missing — renderRequirements markup
hadde data-action="requirement-expand" på hver expansion__head, men
ingen ACTIONS-handler var registrert. R-01..R-09-radene i AI Act-krav
var derfor ikke klikkbare. Fix: register ACTIONS['requirement-expand'].
- B8b: expansion title-main + title-sub kjørte sammen — DS' spans var
inline. Lokal display:block så de stables vertikalt.
- B10: kanban-card tegnknekking — DS' word-break:break-all knekker midt
i ord. Lokal override med break-word.
- B11: DPIA matrix-bobler ikke responderer — v1.13.0 click-handler
matchet kun mot første-kolonne i Trusler-tabellen. DPIA-fixturer har
full-tekst label i matrix_cells men T-001-id i threats-tabellen, så
ingen match. Utvid til (Pass 1) exact first-cell + (Pass 2) substring-
match mot enhver celle med 40-tegn-prefiks-toleranse.
- B12, B13, B15: defensive layout for top-risks/suppressed-panel/
phase-detail/aiact-timeline — eksplisitt display:block; clear:both;
width:100% mot grid-leak fra small-multiples/kanban-board/mat-ladder.
- B14: Migrate "skal vel være tabell" — phases-summary-tabell over
phase-detail-seksjonene (Fase, Varighet, Milepæler-count, Suksesskriterier-
count, Status). Samme tabell speilet i renderPoc for konsistens.
Verifisering:
- 23/23 smoke-test PASS (B7-B15 + 5 v1.13.0-regresjoner)
- 271/271 playground E2E PASS
- 219 plugin-validering PASS
- 42 KB-update PASS
Versjon: v1.13.0 -> v1.13.1 (plugin.json, README badge, README
version-history, CHANGELOG, ROADMAP, TODO, plugin CLAUDE.md
playground-header, root README plugin-list, root CLAUDE.md plugin-list).
Berører kun lokal CSS i <style>-blokk, ACTIONS-handler-registrering,
click-handler-utvidelse, og to renderer-funksjoner. Ingen modifisering
av playground/vendor/. Vendored DS' .kanban-card__name { word-break:
break-all } står — overstyres lokalt.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Fix-pakke som speiler llm-security v7.6.1 (commit f9b555a). Samme klasse
visuelle bugs identifisert via parallell DS-analyse av playground-rendrere.
- B1: renderFindingsBlock + renderRequirements bytter <div class="findings">
outer (DS grid 360px+1fr klemte indre struktur til 360px-kolonne, lot
1fr-detail-panel-kolonnen stå tom) til <section class="report-meta">.
BEM-strukturen findings__list > findings__group > findings__items uendret.
- B2: lokal .report-table CSS for 6+ rapporter (Trusler, Kostnadsoversikt,
TCO, Risiko-tabell, Key Metrics) som manglet styling — DS implementerer
ikke klassen. Speilet lokal styling fra llm-security v7.6.1.
- B3: ROS-matrise-bobler bytter <span> til <button type="button"
data-threat-id="..." aria-label="..."> med document-level click-handler
som scroller smooth til tilsvarende rad i Trusler-tabellen og
highlighter raden i 1.6 sek. Lokal CSS for cursor:pointer, hover
scale(1.15), :focus-visible outline.
- B4: renderRadarSvg bumpet 300x300 til 380x380, R fra 100 til 125,
label-offset fra R+25 til R+28, dynamisk text-anchor basert på
horisontal-posisjon for å unngå at bottom-labels overlapper hverandre
ved 6+ akser (typisk for ROS-rapport med 7 risiko-dimensjoner).
- B5: lokal .recommendation-card__body { overflow-wrap: anywhere;
word-break: break-word } for å forhindre at lange single-line tekster
(URLer, owner-tags, dato) skubber innhold ut av viewport i grid-cellen.
tests/test-playground-v3.sh: DS-klasse-assertion oppdatert fra .findings
til .findings__list (BEM-list er fortsatt i bruk; outer grid-container
bevisst fjernet i B1).
Verifisering:
- 22/22 smoke-test PASS (B1-B5 grep-asserts)
- 271/271 playground E2E PASS (201 statisk-struktur + 70 parser-fixtures)
- 219 plugin-validering PASS
- 42 KB-update test PASS
Versjon: v1.12.0 -> v1.13.0 (plugin.json, README badge, README
version-history, CHANGELOG, ROADMAP, TODO, plugin CLAUDE.md
playground-header, root README plugin-list, root CLAUDE.md plugin-list).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
ToS-vurdering konkluderte med at autonom cron-kjøring er unødvendig kompleks
for en solo-fork-and-own-plugin. Apply-fasen krever LLM-resonnering uansett,
så manuell trigger fra en aktiv Claude Code-sesjon er enklere og holder
pluginen klart innenfor Anthropic Consumer Terms paragraf 3 (automated access
only via API key or where explicitly permitted — Claude Code CLI er
eksemptert som offisielt verktøy).
Lagt til:
- commands/kb-update.md — ny /architect:kb-update slash-kommando som driver
poll, endringsrapport, microsoft_docs_fetch-update og commit fra sesjonen.
Argumenter: --skip-discover, --priorities, --dry-run, --single-commit
- Catalog-entry i playground HTML for kb-update (categori: tool, 4 input-felt)
Slettet (Wave 3-5 reversert, ~1500 linjer + 7 testmoduler):
- scripts/install-kb-cron.mjs (cross-OS scheduler-installer)
- scripts/kb-update/weekly-kb-cron.mjs (cron-orkestrator med pre-flight, lock,
backup, claude -p subprocess, post-run verify, rollback)
- scripts/kb-update/templates/ (4 scheduler-templates: launchd plist, systemd
service+timer, Windows ps1 + README)
- scripts/kb-update/lib/auth-mode.mjs (cron-spesifikk auth validation)
- scripts/kb-update/lib/lock-file.mjs (PID+mtime stale-detection)
- scripts/kb-update/lib/cost-estimat.mjs (pre-flight budget-cap)
- 7 testmoduler under tests/kb-update/ for slettet kode
- tests/test-kb-update.sh (Bash-3.2-shim, erstattet av direkte node --test)
Beholdt (utility-laget fortsatt brukbart):
- run-weekly-update.mjs, report-changes.mjs, build-registry.mjs,
discover-new-urls.mjs (KB change-detection-pipelinen)
- lib/atomic-write, lib/backup, lib/cross-platform-paths, lib/log-rotate
- 4 testmoduler (42/42 tester PASS)
Endret:
- hooks/scripts/session-start-context.mjs: fjern kb-update-status.json-overvaaking
- tests/run-e2e.sh --kb-update kaller node --test direkte i stedet for shim
- README.md, CLAUDE.md: KB-vedlikehold-seksjon rewriter for manuell modell
- plugin.json: 1.11.0 -> 1.12.0
- Rot README + CLAUDE.md: ms-ai-architect-versjon bumpet
Schedulering er bevisst utenfor scope og overlatt til brukeren — eventuelle
forks som vil ha periodisk varsling kan sette opp egen cron / launchd /
GitHub Actions som kjører rapport-fasen og varsler om aa kjore
/architect:kb-update i CC-sesjon.
Verifisering:
- bash tests/validate-plugin.sh: 219 PASS, 0 FAIL
- bash tests/run-e2e.sh --kb-update: 42/42 inner + suite PASS
- bash tests/run-e2e.sh --playground: 271/271 PASS (statisk + parsers)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Adds one-click demo and committed screenshots so forkers see what the plugin
produces without running anything. Plugin contract unchanged.
- Inline <script id="demo-state-v1"> block (37 KB) built by
scripts/build-demo-state.mjs from playground/test-fixtures/*.md
- "Last inn demo-data" button on onboarding (replaces all state with demo)
- raw_markdown persistence on project.reports[id] with equal-value guard
- rehydratePasteImports() auto-fills textareas + re-renders visualizations
on project surface mount
- tests/screenshot/ standalone Playwright runner (own package.json)
- 24 committed screenshots in playground/screenshots/v1.10.0/
(12 surfaces x 2 themes, deviceScaleFactor 2 retina, fullPage)
Tests: 215 + 201 + 70 + 7 = 493 PASS, no regressions.
Docs updated per OBLIGATORISK three-level rule (plugin README, plugin CLAUDE,
marketplace root README, CHANGELOG).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Removes:
- All 6 PNG screenshots (playground/screenshots/) and the capture script
(scripts/screenshots/capture-playground.py).
- "Screenshots" section from plugin README.
- "Screenshot-suite" section from plugin CLAUDE.md.
- Screenshots bullet from marketplace root README's ms-ai-architect listing.
Scrubs the 17 synthetic fixtures + CHANGELOG/CLAUDE/README of identifying
references: organization names, government-agency names, agency-specific
terminology, sector-specific use cases. Replaced with generic placeholder
data ("Acme AS" / "Demosystem") that exercises the same parser archetypes.
Plugin's domain-target wording (Datatilsynet, offentlig sektor, offentlig
myndighet, rettshåndhevelse, NS 5814, Utredningsinstruksen, EU AI Act
Annex III categories) is intact — those describe the plugin's intended
audience, not any specific entity.
This is a cleanup commit. Earlier git history still contains the prior
references; force-push or rebase is required if scrubbing the history is
desired. That decision is out of scope here — please run it separately
if needed.
Verified post-scrub:
- bash tests/validate-plugin.sh -> 215/215 PASS
- bash tests/run-e2e.sh --playground -> 240/240 PASS (170 + 70)
Establish a single governance document at marketplace root and copy
it into each of the 9 plugins so every plugin folder remains 100%
self-contained. Replace the inconsistent provocative blurb across
all READMEs with a uniform fork-and-own paragraph that links to
the local GOVERNANCE.md.
[skip-docs]
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Renames playground/azure-ai-playground.html to
playground/ms-ai-architect-playground.html (history preserved via git mv).
Old name was too narrow — plugin covers the full Microsoft AI stack
(Foundry, Copilot Studio, M365 Copilot, Power Platform, Agent Framework).
Replaces the inline <style> block with seven <link> tags pointing at the
vendored design-system under playground/vendor/playground-design-system/:
fonts.css, tokens.css, base.css, components.css, components-tier2.css,
components-tier3.css, components-tier3-supplement.css.
A small inline shim maps legacy playground tokens (--bg, --surface,
--accent, --gradient1) onto design-system tokens (--color-bg,
--color-surface, --color-primary-500, etc.), keeping all existing
playground-specific class CSS (.hero, .wizard-card, .scenario-card,
.item-card, ...) working without rewrites. <html data-theme="dark">
preserves v2's dark visual identity; light-mode toggle is deferred.
DOM, JS logic, scenario data, and command pipelines are unchanged.
Also includes .gitleaks.toml at repo root (path allowlist for vendored
MANIFEST.json files — SHA-256 file hashes are not secrets) which was
missed in the previous commit due to global git ignore.
Docs updated:
- README.md (root): notes the vendoring sync script + ms-ai-architect
Playground subsection
- plugins/ms-ai-architect/README.md: new Playground section with sync
workflow and standalone guarantee
- plugins/ms-ai-architect/CLAUDE.md: Playground section updated with
vendored design-system details + new filename
Transparency: all code in this marketplace is produced by Claude Code
through dialog-driven development. Root README gets a full disclosure
section; each plugin README gets a one-line disclosure linking back to
the marketplace section.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
- Remove file limit (was 10, now processes all critical+high+medium)
- Increase max-turns to 200 and timeout to 60min
- Add medium priority to update filter
- Update README KB note to reflect automated weekly updates
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sitemap-based KB change detection system: weekly polling of Microsoft
Learn sitemaps, prioritized change reports, new page discovery.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a zero-dependency Node.js pipeline that polls Microsoft Learn sitemaps
weekly to detect when source documentation changes. Replaces the broken
mtime-based staleness check (all files had identical mtime after release).
Components:
- build-registry.mjs: extracts 1342 URLs from 387 reference files
- poll-sitemaps.mjs: streams ~18 child sitemaps, matches against registry
- report-changes.mjs: prioritized change report (critical/high/medium/low)
- discover-new-urls.mjs: finds relevant new MS Learn pages not yet covered
- run-weekly-update.mjs: orchestrator with --force/--discover/--dry-run
Integration:
- session-start hook reads change-report.json instead of broken mtime check
- hook triggers background poll if >7 days since last check
- generate-skills --update reads change report for targeted MCP updates
Current stats: 69% match rate (924/1342 URLs tracked via sitemaps).
~31% unmatched due to Microsoft URL restructuring (ai-foundry/openai paths).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All 6 plugin READMEs now use identical installation section:
marketplace-first approach with /plugin browsing, then direct
settings.json as alternative. Replaces inconsistent mix of
git clone, plugin add, and JSON-only instructions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.
New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.
Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.
Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>