Commit graph

294 commits

Author SHA1 Message Date
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
6fb290fb03
Merge pull request #20 from Curabis/feat/ms-learn-mcp-and-add-repo
Tilføj Microsoft Learn MCP til udviklere + gør add_repo konkret
2026-07-31 20:06:44 +02:00
Michael Dieringer
85b2acc372 Tilfoej Microsoft Learn MCP til udviklere + goer add_repo konkret
To ting fra QualityHub-sporet:

1. Udviklere faar nu samme Microsoft Learn MCP som Mode C-supportbrugere
   allerede havde (https://learn.microsoft.com/api/mcp, HTTP, ingen auth) -
   registreret maskin-globalt via sync-bcquality-knowledge.ps1, samme
   moenster som al/businesscentral. Lukker hullet hvor udviklere kun havde
   den statiske microsoft/-videnfil-snapshot og ingen live dokumentationssoegning.

2. add_repo-mekanismen i curabis-app-sources-must-be-checked-first.md var
   kun naevnt, aldrig defineret - intet vaerktoej med det navn findes i
   Claude Code CLI. Erstattet med en konkret, testet mekanisme: en
   vedvarende, opdateret klon i ~/.claude/reference-repos/<org>/<repo>/,
   samme moenster som BCQualitys egen kanal-klon. Testet live mod det
   faktiske microsoft/BCApps-repo (shallow clone ~52s, ~36.000 .al-filer,
   git pull --depth 1 til opdatering).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 20:03:10 +02:00
Michael Dieringer
2d0f1c1eec
Merge pull request #19 from Curabis/fix/bc-mcp-static-tool-mode
bc-mcp.agent.md v2: dokumenter static tool mode + taskResponsible + score-logs
2026-07-31 19:50:01 +02:00
Michael Dieringer
c8790b7ffb bc-mcp.agent.md v2: dokumenter static tool mode + taskResponsible + score-logs
BC MCP-serveren (CURABIS_DEV) er skiftet fra Dynamic til Static Tool Mode -
de generiske bc_actions_search/describe/invoke findes ikke laengere, hver
BC-handling er nu sit eget navngivne, typede MCP-vaerktoej (bekraeftet live
efter et reconnect). Det fjerner navnedrift-risikoen dokumentet selv
tidligere advarede om (consultants/users-forvekslingen).

Samtidig:
- taskResponsible tilfoejet som skrivbar paa activeTasks (matcher AL-rettelsen
  i CURMCPActiveTasks.Page.al/CURSubTask.Table.al - opgaveansvarlig kan nu
  omfordeles mellem konsulenter via MCP)
- De to hidtil udokumenterede entiteter projectAIScores/projectWeberScores
  tilfoejet med korrekt insert-only-regel og ejerskab (Edison hhv. Weber)
- Alle workflow-referencer opdateret til at kalde vaerktoejerne direkte

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-31 19:48:59 +02:00
Michael Dieringer
fc41870098
Merge pull request #17 from Curabis/feat/v24-user-level-redesign
v24: flyt roster-agenter, .mcp.json og find-altool.ps1 fra repo til maskine
2026-07-30 13:12:25 +02:00
Michael Dieringer
11b4e2ec99 v24: flyt roster-agenter, .mcp.json og find-altool.ps1 fra repo til maskine
19 af 21 agent-filer, de to standard MCP-servere (al, businesscentral) og
find-altool.ps1 var byte-identiske kopier duplikeret ind i hvert af de 14
CURABIS-repos. De flyttes til ~/.claude/ (én kopi pr. maskine i stedet for
pr. repo), gated paa den eksisterende .github/.agents/bcquality.agent.md-
markoer. Kun bcquality.agent.md og feynman.agent.md forbliver repo-lokale
(Mode C support-brugere har intet ~/.claude/ at laese globalt indhold fra),
og CLAUDE.md's machine-self-heal-blok forbliver repo-lokal (den installerer
selve den globale fil, kan ikke ligge i den).

find-altool.ps1 finder nu repo-roden ved cwd-walkup til en .AL-Go-markoer
i stedet for sin egen placering, og MCP-registrering sker idempotent via
`claude mcp add --scope user`. Mode B faar en engangs-migreringssektion for
de 14 eksisterende v23-repos; .mcp.json-oprydningen kraever eksplicit
bekraeftelse af at alle udviklere paa repoet har migreret foerst, da filen
er delt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-30 13:06:58 +02:00
Michael Dieringer
34d9d765d0
Merge pull request #16 from Curabis/feat/feynman-support-role
v23: Feynman — support-rolle for ikke-udviklere + Mode C support-profil
2026-07-30 09:59:42 +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
c5d793f291
Merge pull request #15 from Curabis/rule/task-lifecycle-governance
[BCQuality] Task lifecycle governance — BC-opgave, én opgave ad gangen, rød/grøn-gate, versionsløft
2026-07-25 09:11:47 +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
900406b3aa
Merge pull request #14 from Curabis/rule/mode-b-never-overwrite-files-still-need-staleness-checks
[BCQuality] never-overwrite files in Mode B need staleness checks
2026-07-23 15:46:56 +02:00
Michael Dieringer
96b98acf73 v22: HEARTBEAT.md staleness check i Mode B (Curabis/BCQuality -> Curabis/QualityHub) 2026-07-23 15:46:28 +02:00
Michael Dieringer
7b8e0308bf Foreslaa regel: mode-b-never-overwrite-files-still-need-staleness-checks 2026-07-23 15:42:33 +02:00
Michael Dieringer
8438fdbd88 Ret HEARTBEAT.md-skabelon: Florence tjekkede aabne PRs paa Curabis/BCQuality (dodt, forladt repo) i stedet for Curabis/QualityHub 2026-07-23 14:53:33 +02:00
Michael Dieringer
cefc85da6b Ret bc-mcp.agent.md: users (6102903) findes ikke, korrekt entitet er consultants (PAG50009) 2026-07-23 14:21:36 +02:00
Michael Dieringer
9060396ba0
Merge pull request #13 from Curabis/rule/bc-mcp-task-responsible-must-be-writable-on-active-task
[BCQuality] taskResponsible must be writable alongside gitHubBranch/gitHubDevStatus
2026-07-23 13:57:30 +02:00
Michael Dieringer
995613163e Foreslaa regel: taskResponsible must be writable alongside gitHubBranch/gitHubDevStatus 2026-07-23 13:55:35 +02:00
Michael Dieringer
e0906a38a7
Merge pull request #12 from Curabis/fix/upstream-watch-invalid-permission
Fix PR #9: revert invalid workflows: write permission
2026-07-22 12:27:39 +02:00
Michael Dieringer
ffdacd56ea Fix PR #9: revert invalid 'workflows: write' permission, strip workflow-file changes from sync branch instead
PR #9's fix was wrong: 'workflows' is not a real GitHub Actions permission
scope (verified list: actions, contents, issues, pull-requests, etc. - no
'workflows'). Merging it broke workflow_dispatch outright:

  Invalid Argument - failed to parse workflow: (Line: 21, Col: 3):
  Unexpected value 'workflows'

GITHUB_TOKEN can never push .github/workflows/* changes - that's a hard
GitHub restriction, not something the permissions: block controls. The
correct fix is to never let the sync branch carry workflow-file changes in
the first place: after a clean merge, restore .github/workflows from
origin/main and amend. This also closes a latent risk - a clean upstream
merge could otherwise silently overwrite QualityHub's own CI files
(including this one) with whatever microsoft/BCQuality ships under the same
paths.
2026-07-22 12:26:03 +02:00
Michael Dieringer
ffc0b8286f
Merge pull request #11 from Curabis/fix/promote-stable-reindex
Force GitHub to re-index promote-stable.yml
2026-07-22 12:21:34 +02:00
Michael Dieringer
21ef545577 Force GitHub to re-index promote-stable.yml (never registered as a workflow)
Confirmed via both REST API and gh CLI: promote-stable.yml has been on main
since 2026-07-03 but GitHub Actions never listed it as a dispatchable
workflow (404 on both). File content is valid, no encoding issues - a known
GitHub indexing gap. A no-op touch to the file forces re-discovery.
2026-07-22 12:19:22 +02:00
Michael Dieringer
cb647f8424
Merge pull request #8 from Curabis/rule/ai-test-toolkit-for-llm-feature-eval
[BCQuality] Evaluer AI Test Toolkit foer custom eval-harness til LLM-features
2026-07-22 12:08:20 +02:00
Michael Dieringer
ac1794f35a
Merge pull request #7 from Curabis/fix/qualityhub-pr-target
Fix rule-proposal pipeline: target Curabis/QualityHub, never Curabis/BCQuality
2026-07-22 12:07:45 +02:00
Michael Dieringer
e8789141ee
Merge pull request #10 from Curabis/feat/mandatory-breaking-changes-performance-gate
Make breaking-changes/performance review mandatory, not keyword-triggered
2026-07-22 12:06:51 +02:00
Michael Dieringer
c2b1471dd7
Merge pull request #9 from Curabis/fix/upstream-watch-workflows-permission
Fix upstream-watch: grant workflows:write, add push-failure fallback issue
2026-07-22 12:06:34 +02:00
Michael Dieringer
9f648d782e Make breaking-changes/performance review mandatory, not keyword-triggered
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.
2026-07-22 11:51:00 +02:00
Michael Dieringer
8480675c8c Fix upstream-watch: grant workflows:write, add fallback issue on push failure
The last two scheduled runs (2026-07-13, 2026-07-20) failed silently: merge
was clean and validators green, but the push of the sync branch was rejected
by GitHub because upstream commits touch .github/workflows/*.yml and the
default token lacked the workflows scope. No issue was opened for this
failure mode, so the drift (now 3+ weeks / 31 commits) went unnoticed.
2026-07-22 11:39:46 +02:00
Michael Dieringer
1037d96a1c Foreslaa regel: Evaluer BCApps AI Test Toolkit foer custom eval-harness til LLM-features 2026-07-22 11:14:07 +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
7f925855b4
Merge pull request #6 from Curabis/rule/bc-mcp-discovery-and-governance-autonomy
[BCQuality] BC MCP discovery guidance + autonomous Francis->Immanuel hand-off
2026-07-04 08:32:46 +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
391c18be3f
Merge pull request #5 from Curabis/fix/template-agent-visibility
Setup v21: CLAUDE.md-templaten refererer alle deployerede agenter
2026-07-03 21:35:19 +02:00
Michael Dieringer
9e70030ca7 Setup v21: CLAUDE.md-templaten refererer ALLE deployerede agenter
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.
2026-07-03 21:34:37 +02:00
Michael Dieringer
1461f95484
Merge pull request #4 from Curabis/setup/florence-upstream-watch
Florence: upstream-watch — automatisk vagt mod microsoft/BCQuality
2026-07-03 20:13:58 +02:00
Michael Dieringer
0c8b761a66
Merge pull request #3 from Curabis/chore/upstream-sync-2026-07-03
Upstream-sync: 6 Microsoft-commits — 15+ nye knowledge-artikler + lag-promoveringer
2026-07-03 20:13:40 +02:00
Michael Dieringer
9654db4ff6 Florence: upstream-watch - hjerteslaget mod microsoft/BCQuality
Michaels instinkt (Florence som upstream-vagt) realiseret efter ugens
staffing-lektion: opdagelse er mekanik, doemmekraft er menneske. En
cron ER et heartbeat - Florence gaar runden hver mandag 05:00 (eller
paa workflow_dispatch: Florence, gaa din runde) og taender lampen:

- Nye upstream-commits + rent merge + begge validatorer groenne over
  det mergede korpus -> faerdigvalideret sync-PR (validatorer koerer
  I workflowet, da GITHUB_TOKEN-PRs ikke trigger CI)
- Konflikt eller validator-fejl -> Issue med commit-liste og manuel
  procedure
- Intet nyt -> een linje i summary, lampen forbliver slukket
  (CURABIS-ROEMER-004-stil: orden faar tavshed)

Review, merge og promote forbliver Michaels. Florence lyser kun.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 19:56:09 +02:00
Michael Dieringer
7c521fdbe2 Merge remote-tracking branch 'bcquality/main' into chore/upstream-sync-2026-07-03 2026-07-03 19:54:09 +02:00
Michael Dieringer
57c8674d63
Merge pull request #2 from Curabis/setup/stale-machine-selfheal
Setup v20: self-heal fanger også forældede maskiner (Rasmus-casen)
2026-07-03 19:29:30 +02:00
Michael Dieringer
9235886816 Setup v20: self-heal fanger ogsaa FORAELDEDE maskiner, ikke kun manglende
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>
2026-07-03 19:25:21 +02:00
Michael Dieringer
0b23ce93dd
Merge pull request #1 from Curabis/knowledge/friday-rules
Fredagsregler: encoding-disciplin, rollback-sikker logging, git som kanal-sandhed
2026-07-03 19:06:10 +02:00
Michael Dieringer
d2e2f2adb4 Fredagsregler: tre evidensbaserede tilfoejelser fra ugens haendelser
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>
2026-07-03 19:03:23 +02:00
Michael Dieringer
3a70d10afd
Merge pull request #66 from Curabis/setup/git-based-consumption
QualityHub: det nye private repo får sit eget navn
2026-07-03 18:04:35 +02:00
Michael Dieringer
12fe324500 To-repo-arkitekturen dokumenteret: BCQuality (intake) + QualityHub (produkt)
Michaels arkitektur: den offentlige fork bestaar - uden custom-laget -
som intake fra og bidragsvej til microsoft/BCQuality; QualityHub er
produktet og opdateres fra forken via rent git-merge (delt ancestry).
Ny vedligeholdsbevaegelse: Opdater QualityHub fra BCQuality =
fetch -> merge-PR -> CI validerer det mergede korpus -> merge ->
promote. Aldrig upstream direkte i stable.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 18:04:22 +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
e95f40c478
Merge pull request #65 from Curabis/setup/git-based-consumption
v19: git-baseret konsumtion — forberedelse til privat repo
2026-07-03 17:47:42 +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
a95cf7f43f
Merge pull request #64 from Curabis/setup/cwd-agnostic-al-mcp
AL MCP cwd-agnostisk: walk-up + auto-projektopdagelse (setup v18)
2026-07-03 17:09:58 +02:00
Michael Dieringer
e6c362e560 AL MCP cwd-agnostisk: walk-up + auto-projektopdagelse (setup v18)
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>
2026-07-03 17:08:36 +02:00