- custom/agents/feynman.agent.md: ny support-navigator for ikke-udviklere.
Strengt læsende, svar med kildehenvisning (kildetrappen: docs/specs ->
projectmemory -> decisions -> kode -> Microsoft via MCP), Feynman-testen
på alle svar, struktureret eskalering via Feynman-notatet (Columbo/
al-triage-klar). Aktiveres med trigger-frasen 'Feynman:'.
- curabis-standard.agent.md v23: Feynman i artefakt-tabel, Mode A 4c,
Mode B-tabel og CLAUDE.md-templaten (support-sektion der slår self-heal,
AL MCP og BC MCP fra i support-sessioner + on-demand-entry). Ny MODE C:
'Onboard en supportbruger til CURABIS Standard' — browser-only (claude.ai/
Claude Code på web, ingen VS Code), GitHub read-only, GitHub MCP +
Microsoft Learn MCP, ingen secrets, ingen QualityHub-adgang.
- templates/feynman-onboarding.md: dansk onboarding-dokument til
supportbrugeren ({SUPPORT_NAME}/{REPO_LIST}/{SETUP_DATE}-tokens).
- machine/CLAUDE.md: tredje trigger-kommando tilføjet.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
INDEX.md keyword matching against the task's own wording misses the two
domains where a miss is expensive: breaking changes (costly for both
customer apps and CURABIS AppSource apps) and Microsoft's core AI-code
anti-patterns (unbounded FindSet, missing SetLoadFields, explicit Commit()
inside a transaction). Requests rarely say "breaking" or "performance" even
when they trigger one. Added an explicit, object-type-triggered gate to the
bcquality.agent.md template so it rolls out to every CURABIS project via the
setup agent, plus applied it directly to Summatim's own copy.
Immanuel's GitHub PR workflow and Francis's field-routing section both
pointed the "full pipeline" (Michael's machine) at Curabis/BCQuality for
branch/PR/knowledge-file operations. That repo is a public fork of
microsoft/BCQuality kept clean for upstream tracking, not CURABIS's rule
repo — Curabis/QualityHub (private) is. Step 5's report line already
said QualityHub; steps 1-4 and the verification step never matched it.
Consequence: a session followed the doc literally and opened a branch +
PR against the public fork, naming two CURABIS projects in the PR body,
before catching and remediating it (closed PR, deleted branch).
Added an explicit "never target Curabis/BCQuality" warning to both agent
files so this can't recur silently.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- bc-mcp.agent.md-templaten fik en manglende "preload de tre bc_actions_*
værktøjer via ToolSearch select:"-sektion, som ellers kun levede i
bc-mcp-tools-must-be-preloaded.md og derfor aldrig blev håndhævet.
- Rettet forkert antaget navnemønster (ListUpdate<entity>_PAG<id> ->
Modify_<Entity>_PAG<id>, bekræftet empirisk via bc_actions_search).
Ny regel bc-mcp-naming-convention-must-be-reverified.md kræver at
navnekonventioner altid markeres som "forvent, reverificér" fremover.
- francis.agent.md + immanuel.agent.md: hand-off fra Francis til Immanuel
er nu eksplicit automatisk. Michael er ikke et mellemstop i pipelinen -
han involveres først når PR'en er klar til merge.
Observeret 2026-07-04: en session brugte ToolSearch med keyword-søgning
i stedet for select: (fandt irrelevante værktøjer), ledte derefter efter
et ListUpdate-værktøj der ikke findes, og spurgte om lov til at fortsætte
til Immanuel midt i pipelinen.
Roemers station 8 (agent-synlighed, reglen claude-md-must-reference-
all-agents) flagede korrekt lincoln/aurelius/munger/algo-settings paa
hvert repo - fordi den GENEREREDE CLAUDE.md manglede dem. Symptomet var
loyalt; kilden var templaten.
- De tre dommere tilfoejet som under-punkter til court-entryen (relation
bevaret: de ER Rettens dommere, ikke loesrevne agenter)
- algo-settings tilfoejet som egen on-demand-linje
Dermed genererer Mode A en komplet CLAUDE.md, og Roemer stopper med at
stille det samme spoergsmaal paa hvert repo. Rod-aarsag lukket i stedet
for symptom-besvaret pr. repo.
Rasmus-casen: en maskine der sover gennem en konsumtionsmigrering
(ferie/orlov) vaagner op med en CLAUDE.md der peger paa doede kilder -
og onboarding-scriptet roerer bevidst aldrig en eksisterende CLAUDE.md,
saa den heler ikke sig selv.
Self-heal-triggeren i projekt-CLAUDE.md-templaten udvidet: udloeser nu
ogsaa naar maskinens CLAUDE.md baerer legacy-markoerer
(raw.githubusercontent / Curabis/BCQuality). I stale-tilfaeldet
refreshes maskinens CURABIS-sektioner fra templaten i kanal-klonen -
diff vises, Identity og personlige sektioner bevares, bekraeftelse
kraeves (det er udviklerens personlige fil).
Dermed reparerer Rasmus foerste session sig selv om halvanden uge -
og enhver fremtidig sovende maskine ved naeste modelskift.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
1. text-artifacts-require-explicit-utf8-handling (Type B): to
produktionshaendelser, samme sygdom - smiley double-encodet via
HTTP-streng, og en Mode B-batch der skrev mojibake i tre CLAUDE.md
fordi PS 5.1 laeser BOM-loese .ps1 som cp1252. Reglen: raa bytes
ved transfer, eksplicit UTF-8 ved write, tekst-transformation i
Python, grep for maerket foer commit.
2. log-writes-must-survive-rollback (Type B): fejl-logs skrevet i
samme transaktion forsvinder ved rollback - loggen mister praecis
de fejl den findes for. Isoleret session (StartSession -> insert +
commit) er moensteret. Evidens: Wareco IC web-service-log
2026-07-02; havde tidligere kostet en udvikler det meste af en dag.
3. Skaerpelse af setup-doc-must-not-reference-unpromoted-stable-files:
kanal-tilstand verificeres via git (ls-remote/klon), aldrig CDN;
to sande observationer kan modsige hinanden naar verden flytter
sig imellem dem - tidsstempl al kanal-evidens. Felt-verificeret
af Conzept-sessionens selvkorrektion 2026-07-03.
Foerste PR foedt direkte i QualityHub.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Michaels beslutning: det private repo hedder Curabis/QualityHub.
Fordele: ingen omdoebnings-dans med den gamle fork (frisk repo, frisk
navn), og QualityHub er brandbart som CURABIS-produkt - det er ikke
laengere bare en BCQuality-fork, det er hjemstedet for hele
kvalitetsapparatet (regler + agenter + setup + governance).
Navneskel: repoet og kanal-klonen hedder QualityHub
(%USERPROFILE%\.claude\QualityHub); STANDARDEN indeni hedder fortsat
BCQuality (Microsofts tre-lags koncept, som 40+ regelfiler og alle
agenter refererer). Kun infrastruktur-referencer er skiftet:
git-URL'er og klon-stier i sync, onboarding, setup v19, maskin-
CLAUDE.md, CONSUMPTION, agent-fallbacks og Francis' felt-routing.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Beslutning: BCQuality skal vaere privat. En fork af et offentligt repo
kan ikke goeres privat, saa flyttet sker via detach/nyoprettelse - men
FOERST omlaegges al konsumtion fra tokenfri raw-URLs til git-baseret
adgang, shippet mens kanalen stadig er offentlig, saa flaaden aldrig
oplever et hul. GCM er token-haandteringen: udviklerne er allerede
autentificeret.
Kernen er KANAL-KLONEN: %USERPROFILE%\.claude\BCQuality, pinned til
stable. Alt kopieres derfra (filsystem-kopi = raa bytes; ingen
CDN-cache, ingen API-limits).
- sync-bcquality-knowledge.ps1 v2: git-baseret (klon/fetch/checkout
stable, mirror bygges lokalt, skriver selv versionsmarkoeren)
- Install-CurabisMachine.ps1 v2: onboarding = git clone + script fra
klonen; foerste GCM-login ER autentificeringen
- curabis-standard.agent.md v19: SRC/BASE-tokens peger paa klonen;
fetch betyder copy; Mode B Step 0 freshener klonen; ny Mode B-
sektion opdaterer maskin-CLAUDE.md ved konsumtionsmodel-skift
(gated, Identity bevares); CLAUDE.md-templatens self-heals er
git-baserede
- machine/CLAUDE.md v2: auto-update gater paa git fetch/rev-parse
i stedet for GitHub API; setup laeses fra klonen
- Ishikawa + al-triage + Francis: fallbacks peger paa mirror/klon;
al-triages hardcodede URL-liste fjernet (samme sygdom som Ishikawa
havde). Aerlig konsekvens: Copilot mister live custom-fallback
- CONSUMPTION.md: Access model-sektion + to-linjers onboarding
- Invoke-CurabisEvidence: RawBase markeret legacy/doed
Nul raw.githubusercontent-referencer tilbage i forbrugerkritiske filer.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Efter genstart var al stadig Failed. MCP-loggen gav beviskaeden:
cwd = .apps\PrebenZ (app-mappen - one-workspace-standarden binder
sessionen dertil), og CLAUDE_PROJECT_DIR er IKKE sat for MCP-launches,
saa ${CLAUDE_PROJECT_DIR:-.} faldt tilbage til app-mappen hvor .vscode
ikke findes. Workspace-standarden og .mcp.json-antagelsen var i
konflikt.
Fix - og en forbedring af standarden:
- find-altool.ps1 v3: cwd-agnostisk anker ($PSScriptRoot), og nyt
auto-argument der selv opdager alle AL-projektmapper (app.json under
.apps/Apps/apps) og substituerer dem i launchmcpserver-kaldet
- Setup v18, 4b: al-entryen er nu BYTE-IDENTISK paa tvaers af alle
repos - -Command med walk-up fra cwd til .vscode\find-altool.ps1 +
launchmcpserver auto. Ingen {APP_FOLDER}-substitution.
- Mode B check 4: aeldre former erstattes stille med den universelle
Live-testet fra praecis den cwd der fejlede (.apps\PrebenZ): serveren
overlever. PrebenZ + JP haandrettet paa Michaels maskine.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
/mcp viste al som Failed paa to maskiner efter korrekt deployment af
find-altool.ps1. Aarsag fundet via altool --help: signaturen er
launchmcpserver <projects> - projektmapperne er PAAKRAEVEDE argumenter,
og uden dem doer serveren straks. Kun Wareco passede stierne med
(haandlavet), alle andre .mcp.json-entries og selve setup-templaten
kaldte uden. Roegtestet i Jernpladsen: med stier overlever serveren.
- Setup v17, 4b: .mcp.json-templaten inkluderer {APP_FOLDER}-stierne
med eksplicit advarsel; een linje pr. app-projekt
- Mode B .mcp.json-validering, nyt check 4: manglende projektstier
mellem launchmcpserver og --transport korrigeres stille (een sti pr.
app-projekt) + genstartspaamindelse
- find-altool.ps1-templatens eksempel rettet tilsvarende
JP + PrebenZ .mcp.json er rettet direkte paa Michaels maskine;
Conzept faar rettelsen via Mode B efter promote.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Foerste felt-session med gh installeret foreslog en PR der ville have
committet direkte mod stable - den spurgte foerst (godt), men
beslutningen skal ikke improviseres. Routing nu eksplicit:
- Michaels maskine: fuld pipeline lokalt (branch + PR)
- Alle andre maskiner: GitHub Issue paa Curabis/BCQuality med komplet
Ferencz-format brief; universalisering og PR sker paa governance-
siden. Uden gh: brief til udvikleren, som paster som issue.
- Felt-sessioner aabner ALDRIG PRs mod stable (ff-only-kanal),
pusher aldrig regler direkte, falder aldrig tilbage til main ved
dokumenteret stable-404
Forudsaetter at Issues aktiveres paa repoet (Settings -> Features ->
Issues - deaktiveret som fork-default; Michaels klik).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Foerste felt-genererede regelforslag i BCQualitys historie: en session
paa en udviklermaskine (ConzeptALGo, 2026-07-03) ramte 404 paa
{BASE}/templates/find-altool.ps1 - setup v16 var merged til main, men
promoten laa efter, saa dokumentets egen stable-sti kunne ikke serveres.
Sessionen verificerede begge grene med curl, naegtede korrekt at falde
tilbage til main (kanaldisciplinen er selve pointen), og udformede
observation, evidens og filnavn selv.
Reglen: fil + reference shipper i samme PR; merge og promote er EEN
operation for reference-introducerende aendringer; forbrugere der
rammer 404 paa en dokumenteret stable-sti rapporterer gabet og omgaar
aldrig kanalen.
Rute: Francis (feltsession) -> Immanuel (denne universalisering) ->
Michael (merge). Promoten der lukkede det konkrete vindue er allerede
koert (stable @ 470524e).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Felttest paa fremmed maskine afsloerede at VS Code-kommandoen
AL: Configure MCP Server IKKE FINDES - den har staaet i setup-
dokumentationen siden v6 og er blevet gentaget ukritisk siden,
inkl. af Claude i dag. find-altool.ps1 var i virkeligheden
haandlavet i Jernpladsen/Wareco (funktionelt identiske kopier).
- custom/setup/templates/find-altool.ps1: kanonisk template med
robust versionssortering ([version]-parse i stedet for leksikalsk)
og klar fejlbesked ved manglende/for gammel AL-extension
- Setup v16: 4b deployer filen fra templaten (raa bytes) og skriver
ALTID al-entryen i .mcp.json; det betingede spor og fantom-noten
er fjernet. Mode B: ny raekke deployer filen hvis den mangler
- Install-CurabisMachine.ps1 + CONSUMPTION.md: pr.-repo-trinnet er nu
bare Opdater CURABIS Standard - AL-extensionen fra Marketplace er
eneste maskinforudsaetning
- Roemer v5, station 12: AL MCP-wiring paa runden med autoriseret
stille korrektion. Evidens: en session skrev AL-kode den ikke
kunne compile og flagede det foerst ved forespoergsel (Conzept)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Setup v15: projekt-CLAUDE.md-templatens self-heal udvidet fra kun
mirror til hele maskinen - mangler ~/.claude/CLAUDE.md eller bridgen,
koerer sessionen Install-CurabisMachine.ps1 fra stable selv
(idempotent, identitet fra git config), rapporterer de manuelle
rest-trin (personlig secret, AL: Configure MCP Server) og beder om
Claude Code-genstart. Mirror-only-staleness beholder det lette
self-heal.
CONSUMPTION.md: Auto-trigger-afsnit - een-linjes-kommandoen er
fallback, ikke procedure; foerste session i et klonet repo goer
arbejdet.
Torsten-scenariet (frisk maskine, manuel onboarding-viden paakraevet)
forsvinder dermed for alle fremtidige udviklere.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Torsten er den foerste friske udvikler paa kaeden, og maskinlaget
self-healer ikke: global CLAUDE.md, bridge og personlig BC-secret
skulle haandopsaettes uden procedure. Nu:
- custom/setup/machine/Install-CurabisMachine.ps1: idempotent
onboarding - global CLAUDE.md fra template (identitet fra git
config), bridge, config-template (personlig secret manuel),
sync-script + mirror, versionsmarkoer. Roerer ALDRIG eksisterende
CLAUDE.md eller config. Alt hentes som raa bytes fra stable.
- CONSUMPTION.md: Machine onboarding-sektion med een-linjes-kommandoen
og de to manuelle efterfoelgende trin (client secret + AL: Configure
MCP Server pr. repo).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
29 mojibake-sekvenser (em-dashes og specialtegn laest som cp1252 og
gen-gemt som UTF-8). Filen har shippet korrupt til alle projekter via
setup siden juni. Repareret ved cp1252->utf-8-reversering; indholdet
er uaendret semantisk.
Aarsagen er den fejlklasse, setup-agenten nu forbyder: artefakter
fetchet via strengindhold i stedet for raa bytes.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Michaels praecisering af workspace-standarden: der findes praecis EET
workspace pr. repo - i apps-mappen, efter referencelayoutet (app-
projekter + .AL-Go + ../docs). Alle oevrige *.code-workspace-filer,
inkl. rodens al.code-workspace, slettes - de er forkerte indgange, og
den forkerte bliver brugt. Apps-mappens navnevariant (.apps/Apps/apps)
er kosmetik; .apps er referencen.
- Regel al-development-must-use-apps-workspace skaerpet: uniqueness-
krav; rod-workspacet overlever ikke laengere til plumbing-formaal
(aabn repo-mappen direkte til det); AL-Go template-opdateringer der
gen-scaffolder rod-workspacet fjernes igen af runden
- roemer.agent.md v4: station 9 tjekker begge retninger og har
sletnings-autorisation (rapporteres bagefter)
- curabis-standard.agent.md v14: Mode B opretter/kompletterer apps-
workspacet og sletter alle oevrige
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Michaels krav: AI skal rejse flagene, naar BCQuality implementeres paa
et repo - ikke naar nogen tilfaeldigvis spoerger. Portefoeje-inventar
2026-07-02 (29 repos): 3 flade repos blokeret for testcases, 11 uden
test-app (een CreateTestApp-koersel hver, ikke migration).
- Ny regel al-go-template-layout-with-test-app-required: template-
layout + test-app-companion er paakraevet; strukturfund er report-
only (migration er aldrig stille korrektion); setup maa fortsaette
paa non-compliant repo, men aldrig tavst
- roemer.agent.md v3: station 10 (AL-Go template-layout) og 11
(test-app pr. main app)
- curabis-standard.agent.md v13: Mode A Step 1b koerer Roemers
strukturstationer FOER konfiguration og kraever at udvikleren
anerkender flagene inden Step 2
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Michaels observation: teamet arbejder i rod-workspacet og mister dermed
udviklingskonteksten - .apps-workspacet er det, der scoper til app-
projekterne + .AL-Go, baerer projektindstillingerne og (per denne regel)
inkluderer docs/, saa Columbo-specs, decisions og cleanup-checklister er
synlige, dér hvor udviklingen sker. Jernpladsen og Wareco er allerede
compliant - reglen kodificerer den eksisterende praksis.
- Ny regel al-development-must-use-apps-workspace (referencelayout:
app-projekter + .AL-Go + ../docs; rod-workspacet er til repo-plumbing)
- roemer.agent.md v2: station 9 - apps-workspace-check; manglende
docs-entry er autoriseret stille korrektion
- curabis-standard.agent.md v12: Mode B validerer docs-entry i
.apps/*.code-workspace
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Foerste eval-runde nogensinde (korpus: Jernpladsen @ b7656b1, 36 pages,
77 testprocedurer) fandt to regler med uskarpe graenser:
- pages-must-not-contain-business-logic: undtagelse 3 tilfoejet -
singleton-init-idiomet paa Cue/Activities-pages (if not Get then
Init+Insert i OnOpenPage) er praesentations-bootstrap, ikke
forretningslogik. Basisappen bruger samme moenster paa alle cue-pages.
Evidens: reglen flagede ScrapDealerActivities; adjudikeret FP.
Precision som skrevet: 0,67 (2 TP / 1 FP) - de to TP'er staar ved magt.
- test-one-when-per-test: flow-test-graensen defineret. Multi-WHEN er
tilladt naar navnet deklarerer flowet, hver WHEN er en runde af EET
scenarie, og THEN asserter den akkumulerede sluttilstand. Unit-tests
beholder streng een-WHEN. Evidens: 5 bevidst runde-maerkede
procedurer i SVPartialFlowTests, som reglen ikke kunne doemme.
Scorecards i PR-beskrivelsen. Rute: Edison -> Francis (Type A) ->
Immanuel -> Michael, jf. edison.agent.md Step 6.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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>