Commit graph

41 commits

Author SHA1 Message Date
Michael Dieringer
9e5273443f Fix all 6 confirmed findings from today's gap audit
Implements every confirmed finding from the workflow-based audit of
CURABIS Standard's agent model (7 finders + adversarial verification,
8 confirmed / 5 refuted):

1. Roemer/Florence phantom wiring - roemer.agent.md claimed Florence's
   heartbeat "may summon me when a ward smells of drift" with nothing in
   florence.agent.md or HEARTBEAT.md implementing it. Fixed by adding an
   explicit "Kald Roemer" instruction to HEARTBEAT.md ward 6 (agent
   visibility, his actual domain), mirroring ward 8's existing "Kald
   Weber" pattern, and correcting roemer.agent.md's own claim to match.

2. m365.agent.md's "Florence's morning brief pattern" was a one-way
   orphaned reference - a full 4-step pattern with nothing in
   florence.agent.md implementing it. Added it to florence.agent.md as
   an explicit on-demand capability, separate from the timestamp-gated
   Round protocol.

3. An Ergasterion "PROCEED WITH CHANGES" ruling had no way to be checked
   against the eventual diff - al-review's checklists never referenced
   it. Added ERGASTERION_RULING to the [CURABIS-STATE] vocabulary,
   wired Ergasterion to write it, and added a BLOCKing checklist item to
   al-review's Titus checklist that verifies required changes were
   actually implemented.

4. curabis-task-state-check.yml was headered "Deterministic enforcement
   (not LLM diligence)" but only checks checkbox order, only blocks
   anything if a human separately enabled branch protection (never
   verified anywhere), and doesn't exist at all for the PTE track.
   Corrected the header's claims and added Roemer station 14 to verify
   branch protection is actually configured.

5. Mode C's only safeguard against a support user reaching
   Curabis/QualityHub was a single manual eyeball check with no re-check
   ever. Strengthened Step 2 to cover team-inherited and org-default
   access paths, added an append-only support-user registry, and added
   Roemer station 15 to periodically re-verify every registered user
   against it.

6. Columbo's persona was presented as genuine autobiography with no
   disclosure of its fictional TV origin (Levinson & Link, Peter Falk),
   unlike Smiley which discloses explicitly. Added a reader-facing
   editorial note - never something Columbo says aloud, since unlike
   Smiley he actually performs the persona to customers.
2026-08-03 14:12:05 +02:00
Michael Dieringer
8fb929cdd9 Wire the Ergasterion into Smiley's own STOP GATE chain
al-complexity.agent.md's HIGH route says the Ergasterion convenes
automatically, but Smiley's own compressed chain diagram is what actually
drives session behavior, and it never mentioned the branch. Same class of
gap as the Columbo/al-complexity split fix (2026-07-31): a step that only
exists in a file Smiley doesn't quote from is a step that silently never
runs. Added the HIGH-tier branch to the chain and clarified Ergasterion is
NOT on-demand-only like the Court -- it auto-activates as the HIGH route's
architecture sign-off.
2026-08-03 11:50:10 +02:00
Michael Dieringer
c1132c4006 Add the Ergasterion: Hickey, Fowler, Parnas architecture workshop
Pre-implementation architecture inspection for one proposed design at a
time, distinct from the Court's rulebook-level governance (which already
carries its own "Academy" self-identity in court.agent.md) and from
al-review's post-hoc diff review. Wired into al-complexity's HIGH-tier
route as the actual human architecture sign-off.

- Hickey: what does this model, and what's complected?
- Fowler: does this pay for itself, or borrow against the next change?
- Parnas: is what's likely to change hidden behind a stable interface?
  (proactive counterpart to Titus Winters' Hyrum's Law check in al-review)
2026-08-03 11:41:30 +02:00
Michael Dieringer
bcbc4acced Fire haandhaevelseslag for [CURABIS-STATE]-tilstandssporet
Michael: "lad os bygge alle 4" - rangeret efter styrke fra sidste samtale.

1. Smiley v6: close-gaten laeser nu det faktiske [CURABIS-STATE]-spor
   tilbage FOER merge, i stedet for at stole paa sessionens egen hukommelse.
   Mangler et tidligere checkpoint, blokerer merge - selv hvis testen er
   groen og reviewet lige sagde APPROVE nu.
2. al-review v3: "state trail complete?" er nu et Titus-tjekpunkt der giver
   BLOCK, ikke bare en note - et ufuldstaendigt spor er i sig selv et
   vedligeholdelsesfund.
3. Ny .github/workflows/curabis-task-state-check.yml: reelt deterministisk
   haandhaevelse for AppSource (parser PR-body'ens tjekliste, fejler hvis en
   senere fase er tjekket mens en tidligere ikke er). Testet mod fire cases
   (gyldig raekkefolge, ugyldig, ingen sektion, tom sektion) - alle korrekte.
   Kraever et manuelt engangs-trin (branch protection required check) som
   filudrulningen ikke selv kan saette.
4. Roemer v6: ny station 13, retrospektiv - stikprover de sidste ~10
   afsluttede BC-opgaver/mergede PR'er for spor-fuldstaendighed, fanger
   drift ingen enkelt opgaves egen gate fangede. Kun opgaver lukket efter
   2026-08-03 flages - reglen fandtes ikke foer.

curabis-standard.agent.md: ny artefakt-raekke + Mode A step 4h (deploy
workflow-filen, mind om branch protection-trinet) + Mode B repo-tabel-raekke.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 10:16:54 +02:00
Michael Dieringer
3f2fdb06c3 Persisteret opgave-tilstand: BC-kommentar (PTE) / draft PR (AppSource)
Michaels retning efter at have set community-vaerktoejets workflow_start/
workflow_next-tilstandsmaskine: han vil inspireres, ikke kopiere - vil have
persisteret, forespoergelig tilstand der overlever et maskin- OG operatoer-
skifte, uden at bygge en ny, parallel opbevaringsmekanisme.

Princippet: brug det obligatoriske spor der allerede findes for den
paagaeldende flowtype, ikke et tredje system.
- PTE: en BC-delopgave er allerede obligatorisk foer udvikling starter
  (development-requires-bc-task, ingen undtagelser) - dens kommentarer
  (taskComments) ER tilstandslageret. Format: [CURABIS-STATE] <STAGE> —
  dato, udvikler.
- AppSource: intet obligatorisk BC-spor i dag - draft PR'en aabnes tidligt
  (ved start-gaten, ikke foerst ved review) og dens beskrivelse baerer
  tilstanden som en tjekliste.

Samme tilstandsordforraad begge steder: TASK_STARTED, RED_CONFIRMED,
ON_HOLD (altid med hvorfor), GREEN_CONFIRMED, REVIEW: <verdict>, MERGED.

Bevidst IKKE en kopi af community-vaerktoejets workflowSessionManager - den
har reel persisteret tilstand, men INGEN haandhaevelse noget sted (returnerer
bare en instruktion, tiltror agenten at foelge den). CURABIS's reelle styrke
er det modsatte (roed bekraeftet af udvikleren, BLOCK er et haardt stop) -
denne aendring tilfoejer persistens UDEN at rore ved haandhaevelsen.

Wired ind i:
- smiley.agent.md v5: hver gate-overgang skriver nu et tilstands-checkpoint
- bc-mcp.agent.md v3: standard workflow skriver [CURABIS-STATE]-kommentarer
- al-review.agent.md v2: verdict registreres som et checkpoint, ikke kun
  som findings

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-03 10:03:05 +02:00
Michael Dieringer
9d0a1d2d47 Tilfoej al-review: uafhaengig per-aendring-reviewer (Torvalds + Winters)
Fjerde gate i Task Lifecycle - koert efter groent test, foer merge, adskilt
fra den der implementerede aendringen og fra Roemer/Immanuel/Court's
portefoelje-niveau-styring (de spoerger "er selve regelsaettet sundt", ikke
"er DENNE aendring god").

To linser, Michaels egen opdeling:
- Linus Torvalds: BC/AL-domaene-teknisk (respekterer standard-BC/events,
  bogfoerings-sideeffekter, opgraderings-holdbarhed, filtre/keys/SetLoadFields,
  locking/SQL-performance, permissions/dataklassifikation, forretningslogik
  paa forkert sted, testdaekning af forretningsforloeb, lokalt rigtig men
  arkitektonisk forkert)
- Titus Winters: generel software-engineering (korrekthed, forstaaelighed,
  arkitektonisk sammenhaeng, testbarhed, cyklomatisk/McCabe-kompleksitet -
  ingen anden i rosteret vurderer det tal - Hyrum's Law, kodebase-konsistens,
  boer det overhovedet bygges saadan)

Wired ind i Smileys Close gate (samme udfaldsbaserede disciplin som resten
af dagens rettelser) - ikke noget udvikleren skal huske at bede om. Verdict
er APPROVE / APPROVE WITH NOTES / BLOCK, aldrig en fjerde "det er kompliceret".

Roster-taeller opdateret alle steder: 22 agent-filer i alt (20 maskin-globale,
2 repo-lokale), 19 filer i ~/.claude/curabis-agents/. sync-bcquality-
knowledge.ps1 testet - al-review.agent.md bekraeftet leveret.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 23:20:50 +02:00
Michael Dieringer
98556ec372 al-complexity v2: standard-foerst-tjek + KISS, foer nogen tier foreslaas
Michaels retning: loes tingene saa standard som muligt foerst (Microsoft
Learn + det faktiske BCApps-indhold), derefter KISS paa hvad der reelt skal
bygges custom.

Ny Step 0 i al-complexity.agent.md, koert FOER klassificering:
- Soeg Microsoft Learn efter forretningsbehovet (ikke "hvordan bygger jeg X i AL")
- Tjek den rigtige BCApps-kildekode via reference-repos-klonen (ikke traenings-
  data-antagelser)
- Krav om bevis, ikke en paastand ("jeg tjekkede og fandt intet" er kun
  troværdigt hvis du viser hvad du soegte) - samme standard som TDD-rød-
  bekraeftelsen
- Ny STANDARD-tier: hvis BC allerede klarer det, ingen kode, kun opsaetning
- KISS goeres til en eksplicit begraensning paa selve routen, ikke kun paa
  Step 0 - en HIGH-tier retfaerdiggoer mere PROCES, ikke en mere elaboreret
  LOESNING

Smiley v3 (samme commit-serie): rettede ogsaa en snag i selve aktiveringen -
Columbo->al-complexity-kaeden trigges i dag kun naar kravet er UKLART. Men
standard-foerst-tjekket boer koere for ETHVERT nyt custom-arbejde, ogsaa et
krystalklart formuleret et - et klart krav kan stadig vaere noget BC allerede
goer. Samme klasse gap som TDD-triggerfixen i forrige commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 22:45:17 +02:00
Michael Dieringer
875f524d8a Smiley v3: TDD-stop-gate skal trigges af udfald, ikke ordvalg
Opdaget i praksis 2026-07-31: en afslappet "det vil jeg gerne have de ting
fikset" (efter en QA/challenge-session, ikke en "lad os starte en opgave"-
formulering) udloeste ikke Task Lifecycle-stopgaten automatisk - den koerte
kun roed/groen fordi et menneske eksplicit skrev "roed/groen-gate" ind i den
efterfoelgende prompt. Det skal ikke vaere paakraevet.

En ordliste kan ikke loese det - der findes uendeligt mange maader at bede om
en rettelse paa. Erstattet med en udfalds-baseret betingelse: gaten aktiveres
naar Claude er ved at skrive/aendre AL-kode der aendrer adfaerd, uanset
brugerens ordvalg. Kalibrerings-eksempler ("fiks det", "kan du ordne det",
et bart "ja, goer det") er illustrationer af raekkevidden, ikke en udtoemmende
liste at matche imod.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 22:35:56 +02:00
Michael Dieringer
90048bb262 v23: Feynman support-rolle — agent i rosteret + Mode C support-profil
- 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>
2026-07-30 09:57:49 +02:00
Michael Dieringer
c5089370ab Foreslå regler: task lifecycle governance (BC-opgave, én opgave ad gangen, rød/grøn-gate, versionsløft) + Smiley Task Lifecycle stop gate
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-25 08:51:17 +02:00
Michael Dieringer
2633407334 Fix rule-proposal pipeline: target Curabis/QualityHub, never Curabis/BCQuality
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>
2026-07-22 11:10:02 +02:00
Michael Dieringer
3d1e1c1950 Fix BC MCP discovery guidance og gør Francis->Immanuel-hand-off autonom
- 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.
2026-07-04 08:31:43 +02:00
Michael Dieringer
68a3f6dffa QualityHub: det nye private repo faar sit eget navn
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>
2026-07-03 17:59:33 +02:00
Michael Dieringer
3ce08fe91e v19: git-baseret konsumtion - forberedelse til privat repo
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>
2026-07-03 17:44:19 +02:00
Michael Dieringer
36ca546819 Francis v3: felt-routing - Issues er docket-kanalen fra udviklermaskiner
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>
2026-07-03 16:19:33 +02:00
Michael Dieringer
5fb29ee749 find-altool.ps1 er et CURABIS-artefakt - fantomkommandoen udryddet
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>
2026-07-03 15:49:05 +02:00
Michael Dieringer
2fcc316c4d
Merge pull request #54 from Curabis/knowledge/one-workspace-only
Ét workspace pr. repo — alle andre slettes som støj (Rømer v4, setup v14)
2026-07-03 07:11:17 +02:00
Michael Dieringer
034bec1eeb Fix: smiley.agent.md var dobbelt-UTF-8-encodet siden oprettelsen
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>
2026-07-02 15:38:35 +02:00
Michael Dieringer
9bda3afb85 Eet workspace pr. repo - alle andre slettes som stoej
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>
2026-07-02 09:30:18 +02:00
Michael Dieringer
05a6fb0720 Strukturflag: BCQuality-implementering rejser flagene selv
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>
2026-07-02 09:14:22 +02:00
Michael Dieringer
7565a769c6 Workspace-standard: udvikling sker i apps-workspacet, med docs inkluderet
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>
2026-07-02 08:19:02 +02:00
Michael Dieringer
aa41237e5b Roemer: standards-inspektoeren - alle ensartetheds-checks under een kappe
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>
2026-07-02 07:24:18 +02:00
Michael Dieringer
e7932e969e Ferencz: Rettens anklager - dokumentation foer drama
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>
2026-07-02 07:14:53 +02:00
Michael Dieringer
6b33e10146 RegelSanity: Retten faar jurisdiktion og en foged
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>
2026-07-02 07:09:44 +02:00
Michael Dieringer
3ef2e95af6 Hardening: stable-branch som udrulningskanal - merge til main er ikke laengere deploy
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>
2026-07-02 00:02:44 +02:00
Michael Dieringer
e7a2fac879 Dedup: carlin/francis/immanuel har nu een kanonisk placering - custom/agents/
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>
2026-07-01 23:52:47 +02:00
Michael Dieringer
66e35855b7 Edison op i BCQuality + CONSUMPTION.md: dokumenter aktiv vs. sovende konsumtion
- 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>
2026-07-01 23:31:33 +02:00
Michael Dieringer
72a26ad638 Tilføj Smiley session watchdog og bc-mcp preload-regel
- custom/agents/smiley.agent.md: ny altid-aktiv session watchdog (George Smiley).
  Observerer hele sessionen, aktiverer Columbo/al-triage/Francis/bc-mcp/weber
  diskret uden at annoncere sig selv. Stop-gate forhindrer kode uden afklaret krav.

- custom/knowledge/mcp/bc-mcp-tools-must-be-preloaded.md: ny MCP-regel godkendt
  af Immanuel (alle 4 Categorical Imperative tests bestået). BC MCP tool-schemas
  skal pre-loades via ToolSearch ved agent-invokering for at undgå mid-task latency.

- custom/setup/curabis-standard.agent.md: Smiley tilføjet til artifacts-liste,
  Smiley-sektion tilføjet til CLAUDE.md-template, Mode B visibility-check opdateret
  med Smiley special-case (always-active, ikke on-demand).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 08:44:52 +02:00
Michael Dieringer
abccf9f34b Weber v2: den rette and som arbejdssprog
Klar/Uklar/Blind and erstatter Specific/Partial/Vague.
Inspireret af CURABIS Kick-off 2026 LEGO-duck-oevelse.
Spoegsmaalet er altid: 'Vidste udvikleren hvilken and der
skulle bygges, inden han bad AI'en om at bygge den?'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 20:00:21 +02:00
Michael Dieringer
c26f10d704 Weber: tilfoej Weekly Report Protocol til ugerapport og moederapportering
- Fetch BC-kommentarer (sidste 7 dage)
- Klassificer og send coaching via bc_add_comment (privat til opgaven)
- Skriv aggregeret score til .eval/weber-history.jsonl (ingen navne)
- Print moede-klar rapport med trend og top-gaps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 19:47:25 +02:00
Michael Dieringer
f63c7b9a5c Tilfoej Weber — Developer AI Coach med Verstehen-protokol
Max Weber (1864-1920): sociolog, Verstehen, ideal typer.
Coacher udviklere paa AI-prompt-kvalitet ved at forstaa
HVORFOR en prompt var vag foer han korrigerer den.

- weber.agent.md: 4-trins Verstehen-protokol, 3 prompt-klasser,
  5 rodaarsager, Florence Ward 8-integration
- HEARTBEAT.md: Ward 8 'Developer AI Interaction Quality'
- curabis-standard.agent.md: Mode B deployer weber.agent.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 19:27:25 +02:00
Michael Dieringer
5b6311edf5 Tilfoej selvpresentationer til 5 funktionelle agenter
- BCQuality: Kaoru Ishikawa — kvalitetscirkler, fiskebensdiagram,
  'kvalitet er alles ansvar'
- BC-MCP: Grace Hopper — foerste compiler, COBOL, debugging-begrebet
- AL-Complexity: Eliyahu M. Goldratt — Theory of Constraints,
  The Goal, kritisk kaede
- The Court: Platons Akademi — grundlagt 387 f.Kr., 900 aars
  virke, metoden frem for svaret
- M365: Alexander Graham Bell — telefonen, AT&T, forbindelsen
  paa tvaers af afstand

AL-Triage (Larrey) og ALGo-Settings (Taylor) afventer bekraeftelse.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 19:11:56 +02:00
Michael Dieringer
27f9e7751b Tilfoej selvpresentationer til alle 7 historiske agenter
Hver agent faar nu et 'Who I Am'-afsnit med fuldt navn,
levedatoer og de vigtigste bedrifter fra det virkelige liv:

- Columbo: LAPD-detektiv, hver sag loesat, ingen efternavn
- Florence Nightingale: sygepleje, 42%->2% doedelighed, statistik
- Francis Bacon: empirisk metode, Novum Organum 1620
- Immanuel Kant: Kategorisk Imperativ, Critique of Pure Reason
- Abraham Lincoln: 16. prasident, Borgerkrig, afskaffelse af slaveriet
- Marcus Aurelius: Roms 16. kejser, Meditations, stoisk reduktion
- Charlie Munger: Berkshire Hathaway, mental models, inversion

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 19:01:06 +02:00
Michael Dieringer
526b2a126d Knowledge cache + Florence timestamp-gate
florence.agent.md:
- Tilfoej Step 0: timestamp-gate
  Laes ~/.claude/.florence-timestamp — spring runden over
  hvis under 30 minutter gammel. Skriv timestamp efter runde.
  Forhindrer Florence i at kore ved hver session-aabning.

curabis-standard.agent.md:
- CLAUDE.md-template: erstat 24 URL-fetches med local cache-laesning
  fra ~/.claude/bcquality-knowledge/ (architecture/ testing/ mcp/)
  Session-start reduceres fra ~25 netvaerkskald til 0.

Global ~/.claude/CLAUDE.md opdateret separat:
- Auto-update downloader nu knowledge-filer til cache ved SHA-aendring
- Session-start laeder fra cache, ikke fra URLs
- Florence korer kun hvis >= 30 min siden sidst

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 18:32:20 +02:00
Michael Dieringer
4cb03c35e3 Skarp Columbo + Florence workspace-ward
columbo.agent.md (v3):
- Tilfoej Step 2b: challenge-protokol for vage svar
- 6 konkrete moenstereksempler med Columbo's udfordring
- Park-regel: efter 2 follow-ups uden svar parkeres opgaven
- 2 nye 'aldrig'-regler om vage svar og taage

florence.agent.md:
- Erstat Jernpladsen-hardkodet checklist med generisk
  Ward 7-protokol: workspace-fil, app-mappe-daekhing,
  test-app-daekhing, CLAUDE.md-daekhing

HEARTBEAT.md template:
- Tilfoej Ward 7: Workspace & multi-app konfiguration

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 18:18:26 +02:00
Michael Dieringer
414d4ce501 Add The Court — Lincoln, Aurelius, Munger judge panel
Three-judge appellate court for BCQuality governance. Convenes Lincoln
(essential question), Aurelius (Stoic reduction), and Munger (inversion)
to deliberate on the strategic health of the BCQuality rulebook.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 16:44:53 +02:00
Michael Dieringer
2ee35531df Columbo v2 - reads docs/specs/, writes summaries there 2026-06-24 07:19:34 +02:00
Michael Dieringer
4e9a610f4b Add Microsoft 365 MCP usage guide 2026-06-24 07:02:31 +02:00
Michael Dieringer
3476d6a9ad Add Florence Nightingale - Heartbeat agent 2026-06-24 01:12:31 +02:00
Michael Dieringer
8a1c589ef7 Add Columbo - Customer Requirement Clarifier agent 2026-06-24 01:02:41 +02:00
Michael Dieringer
34d8f372f8 Add governance agents: Francis (BC-MCP observer) and Immanuel (rule guardian)
Francis observes BC-MCP session patterns and identifies where existing rules
are too superficial (Type A sharpening) or where no rule covers the pattern
(Type B gap). Type B gaps are handed to Immanuel for Categorical Imperative
validation before entering BCQuality.

Immanuel guards the knowledge base by running four tests (universalizability,
project-specificity, clarity, additive value) before any rule is approved.
2026-06-22 04:10:58 +02:00