Fogeden var fem loese procedurer spredt i Mode B, hver isaer reel, ingen
af dem ejet. Ole Roemer (standardiserede danske maal og vaegt 1683,
Koebenhavns foerste politimester) ejer nu den samlede inspektionsrunde:
1. Agent-roster manglende 2. Agent-roster ekstra (RegelSanity)
3. CLAUDE.md-generation 4. Repo-mirror-rester
5. .mcp.json-stier 6. Versionsmarkoerer
7. Mirror-friskhed 8. Agent-synlighed
Maaler mod den skrevne standard, citerer hvilken, doemmer aldrig -
divergens gaar til Ferencz. Ren runde = een linje. Han aendrer aldrig
selve standarden (CURABIS-ROEMER-001..005).
Kaeden komplet: Roemer maaler -> Ferencz anklager -> Retten doemmer ->
Michael beslutter.
- custom/agents/roemer.agent.md (ny)
- curabis-standard.agent.md: roemer i alle fire lister; Mode B-checks
markeret som Roemers runde
- ferencz.agent.md: pipeline opdateret (Inspection -> Roemers runde)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Retten fik jurisdiktion (RegelSanity) og en foged (Mode B v11), men
ingen byggede sagen. Benjamin Ferencz besaetter anklagersaedet: han
hvilede Einsatzgruppen-anklagen paa gerningsmaendenes egne rapporter -
beviskaede frem for mavefornemmelse er ikke bare hans mandat, det var
hans metode.
- custom/agents/ferencz.agent.md: case builder for begge sagstyper
(RegelSanity-divergens og effektivitet). Protokol: record -> standard
-> beviskaede -> eksculperende evidens -> praecist spoergsmaal -> rest.
CURABIS-FERENCZ-001..006: citation paa alle claims, moenstre ikke
personer, ingen adjektiver, insufficient evidence er et gyldigt svar.
- curabis-standard.agent.md: ferencz i URL-tabel, 4c-fetchliste,
Mode B-tabel og CLAUDE.md-templatens on-demand-liste
- court.agent.md: briefs samles af Ferencz; en brief uden hans
beviskaede-disciplin returneres foer deliberation
Mandat (Michael): Dokumentation foer drama. Ansvar frem for
undskyldninger. Beviskaede frem for mavefornemmelse. Moral uden hysteri.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Michaels observation: udviklere tilfoejer agenter lokalt i enkelt-repos
(Edison opstod saadan) - og repoer maa ikke opfoere sig forskelligt.
Francis (Bacon) observerer og Immanuel (Kant) universaliserer, men ingen
haandhaevede ensartethed paa tvaers af portefoeljen. Tre byggesten:
- Ny regel repo-local-agents-must-be-universalized-or-removed: lokale
agenter/kvalitetsregler har to fremtider - universaliseres via
Francis/Immanuel/Michael eller fjernes. Aldrig tavs beholdelse.
Domaeneviden hoerer i projectmemory/docs; kvalitetsstandarder i
BCQuality eller ingen steder.
- Mode B v11: reconciliation kigger nu BEGGE veje - ekstra filer i
.github/.agents (ikke i template-tabellen) flages med a/b-valg:
universaliser eller fjern. Det var fogeden, der manglede: Edison
laa uopdaget lokalt, fordi Mode B kun tjekkede manglende filer.
- court.agent.md v2: to sagstyper. Effektivitets-sager kraever Edison-
scorecards som hidtil; RegelSanity-sager (lokal divergens) kraever
kun filen, gabet den udfylder, og spoergsmaalet universel-eller-ud.
Disposition: UNIVERSALIZE eller REMOVE.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Den hardcodede Layer 2-liste naevnte 22 af custom-lagets 36 regler -
reviews via Ishikawa saa aldrig de nyeste 14+ (inkl. begge mode-b-regler,
permission-sets-least-privilege og mcp-config-hardcoded-paths), og hver
ny regel kraevede manuel listeredigering i templaten for at faa effekt.
Source-steppet oploeser nu regelsaettet ved review-tid:
1. Maskin-mirror ~/.claude/bcquality-knowledge/custom/ (Claude-sessioner)
2. Fallback: tree-API paa stable + raw-fetch (Copilot/frisk maskine/CI)
Ingen liste at vedligeholde; nye regler er aktive fra foerste promote.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Alle forbrugere laeser nu fra stable i stedet for main:
- curabis-standard.agent.md v10: BASE/AGENTS_BASE + self-heal-URL -> stable
- sync-bcquality-knowledge.ps1: $branch = stable
- machine/CLAUDE.md: auto-update gater paa stable-SHA og fetcher setup fra stable
- templates/bcquality.agent.md + al-triage.agent.md: knowledge-URLer -> stable
(+ fix af doed reference: branch-merge-to-main-workflow.md var omdoebt til
feature-branch-must-merge-to-track-branch.md - templaten shippede et 404)
- francis.agent.md + Invoke-CurabisEvidence.ps1: raw-base -> stable
- CONSUMPTION.md: Release channel-sektion med promote-procedure og rationale
Deploy sker herefter kun ved bevidst fast-forward af stable (kun Michael).
Kanal oprettet: stable @ 57b8292, tag v1.0.0.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Francis og Immanuel laa i baade custom/agents/ (v1, forladt siden
2026-06-22) og custom/setup/templates/ (v2/v3, aktivt vedligeholdt og
det setup faktisk hentede fra). Intern drift i selve regelrepoet -
samme sygdom som Mode B-reglerne bekaemper i projekterne.
- Nyeste indhold (templates-udgaverne) kopieret til custom/agents/,
templates-dubletterne slettet
- carlin.agent.md flyttet med til custom/agents/ - han er en persona
som de oevrige der (smiley, weber, columbo), ikke en projekt-template
- curabis-standard.agent.md v9: de tre henter nu fra AGENTS_BASE,
inkl. Francis-fallback-linjen i CLAUDE.md-templaten
- custom/setup/templates/ indeholder herefter kun projekt-artefakter
(al-*, algo-settings, bc-mcp, bcquality, cspell, HEARTBEAT)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Normalisering af alle 39 custom knowledge-filer til READ-kontraktens
skema (validate_frontmatter.py + Test-KnowledgeIndex.ps1 begge groenne):
- R01/R02: 28 filer manglede frontmatter eller brugte aeldre skemaer
(title/category/severity/rule-id m.fl.) - alle har nu praecis de 6
kraevede noegler; keywords haandskrevet pr. fil da de driver
worklist-selektionen i INDEX/knowledge-index
- R09: manglende Description-sektion - regel-agtige foersteoverskrifter
(Core Rule/Rule/Regel/Core Principle) omdoebt, eller sektion indsat
efter titlen hvor intro-tekst fandtes
- R10: fenced code blocks konverteret til 4-space indrykkede blokke
i alle filer (indhold uaendret)
- R11: 4 filer over 100 linjer fortaettet redaktionelt uden semantisk
tab (ai-eval-scores 143->100, git-lifecycle 121->97,
permission-sets 113->99, test-feature-scenario-tags 105->91)
- R05: AL0197->al0197, add_repo->add-repo; keyword-lister trimmet
til maks 10
Ingen regler er fjernet eller aendret i betydning - kun form.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- custom/agents/edison.agent.md: Edison (BCQuality eval runner) fandtes
kun lokalt i Jernpladsen, men court.agent.md kraever hans scorecards.
Nu upstream, saa alle projekter faar ham.
- curabis-standard.agent.md v8: edison tilfoejet til Source URL-tabellen,
Mode A 4c-fetchlisten, Mode B-tabellen og CLAUDE.md-templatens
on-demand-liste.
- CONSUMPTION.md: den faktiske konsumtionsmodel. Sessionmodellen
(maskin-mirror + .github/.agents) er den eneste aktive; Entry-flowet
(entry.md, READ/DO/WRITE, layer skills, Build-KnowledgeIndex.ps1,
bcquality.config.yaml) er sovende upstream-arv reserveret til fremtidig
CI-integration - inkl. de tre deltas der skal lukkes foer aktivering
(tom custom/skills/, to index-generatorer, ingen lag-praecedens i
sessionmodellen).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- curabis-standard.agent.md v6 -> v7: mirror deployes til
~/.claude/bcquality-knowledge/ (delt af alle repoer paa maskinen)
i stedet for .github/.agents/bcquality-knowledge/ i hvert repo
- CLAUDE.md-templaten peger paa maskin-mirroren via %USERPROFILE%
(aldrig literal udviklersti) og faar self-heal-instruktion
- Mode B: v6-aera-oprydning (fjern committet repo-mirror, gitignore
stien, foreslaa CLAUDE.md-migrering) + genkend hardcodede
udviklerstier og raa-URL-lister som foraeldede CLAUDE.md-former
- sync-bcquality-knowledge.ps1: fast destination $env:USERPROFILE
\.claude\bcquality-knowledge i stedet for $PSScriptRoot-relativ
(det var dobbelttydigheden der skabte repo-mirrors)
- Ny regel: bcquality-knowledge-must-mirror-to-machine-not-repo
- Setup-artefakter skal fetches som raa bytes (Invoke-WebRequest
-OutFile) - aldrig via strengindhold, som dobbelt-encoder UTF-8
Begrundelse: udviklere skifter repo mange gange dagligt; N repo-
mirrors er permanent ude af sync, een maskin-mirror kraever een
sync pr. upstream-aendring. CI/cloud-agenter henter selv reglerne
via .github/bcquality.config.yaml.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
* Add 15 community knowledge articles from BC Code Intel ingest
Ingests net-new /community knowledge from BC Code Intelligence, surviving
the admission test, gray-zone salvage, and dedup against the full corpus.
Domains: ui (6), error-handling (3), performance (2), upgrade (1),
appsource (1), security (1), telemetry (1). The two BC24 No. Series
migration drafts are merged into one article.
Adds good/bad AL samples for the clean-fit articles (error-handling,
performance, security, telemetry). UI and appsource remain knowledge-only.
Validator and knowledge-index checks pass (207 articles).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
* Correct SetLoadFields JIT-load article to match MS docs
The draft claimed accessing an unlisted field "reloads the entire row"
per record. Microsoft's partial-records docs say otherwise: the platform
does an implicit Get that loads the missing field(s), and in a direct var
loop the first JIT updates the enumerator so later iterations do not
re-load. The genuine per-row penalty is the pass-by-value case, where the
copy's enumerator is not updated.
Rewrite the article around JIT loading and the by-value footgun, rename
the slug from ...full-reload to ...jit-load, and fix the good/bad samples
to demonstrate the by-value repetition accurately.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Jeremy Vyska <jeremy@sparebrained.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Pure git-mv relocation of all 7 performance articles from community/knowledge/performance/ to microsoft/knowledge/performance/. No content changes.
Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Mode A generated .mcp.json with a literal C:\Users\<USERNAME>\... bridge
path and an absolute find-altool.ps1 path; Mode B validated against that
same hardcoded form, so it would have "corrected" a compliant env-var
path back to a broken one. Both now use ${USERPROFILE} and
${CLAUDE_PROJECT_DIR:-.} per the rule merged in #37.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Resolves merge conflicts between branch and main.
Carlin added to: source URLs, CLAUDE.md template (after Smiley), agent deploy list.
All agents from main preserved. Carlin is agent 14.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Deploys carlin.agent.md to all CURABIS projects via curabis-standard.
Carlin surfaces with one dry observation when complexity, vague requirements,
or feature creep earns it. Named after the CURABIS Kick-off 2026 Lego duck
exercise.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>