Commit graph

302 commits

Author SHA1 Message Date
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
5070bc22e4
Merge pull request #24 from Curabis/feature/weber-developer-coach
Tilfoej Weber — Developer AI Coach med Verstehen-protokol
2026-06-25 19:30: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
28c2450db5
Merge pull request #23 from Curabis/feature/agent-presentations
Feature/agent presentations
2026-06-25 19:18:51 +02:00
Michael Dieringer
49a454ee82 Tilfoej algo-settings.agent.md som BCQuality-template med Taylor-selvpraesentation
Mode B deployer nu algo-settings automatisk til alle nye projekter.
Frederick Winslow Taylor — videnskabelig arbejdsledelse, 'one best way'.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 19:18:07 +02:00
Michael Dieringer
894d17b41c AL-Triage: Dominique Jean Larrey — opfinderen af triage og den flyvende ambulance
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 19:14:53 +02:00
Michael Dieringer
0b1a67dd56
Merge pull request #22 from Curabis/feature/agent-presentations
Feature/agent presentations
2026-06-25 19:13:09 +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
4e865db566
Merge pull request #21 from Curabis/feature/knowledge-cache-florence-timestamp
Mode B: valider og ret businesscentral-sti i .mcp.json
2026-06-25 18:48:04 +02:00
Michael Dieringer
e1e7c1a2a1 Mode B: valider og ret businesscentral-sti i .mcp.json
Den hyppigste setup-fejl i pre-CURABIS-Standard projekter:
.mcp.json peger paa en projektlokal bc-mcp-bridge.js der ikke
eksisterer i stedet for ~/.claude/bc-mcp-bridge.js.

Mode B tjekker nu businesscentral-stien og retter den stille
hvis den er forkert. Rapporterer aendringen til udvikleren.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 18:46:27 +02:00
Michael Dieringer
9b5664ba20
Merge pull request #20 from Curabis/feature/knowledge-cache-florence-timestamp
Knowledge cache + Florence timestamp-gate
2026-06-25 18:34:03 +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
6cfb1498e2
Merge pull request #19 from Curabis/feature/columbo-sharpening-florence-workspace
Skarp Columbo + Florence workspace-ward
2026-06-25 18:19:50 +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
7f24dc5d32
Merge pull request #18 from Curabis/feature/heartbeat-template
Fiks 4 gaps i Mode B og auto-update
2026-06-25 18:09:38 +02:00
Michael Dieringer
f482a8f09e Fiks 4 gaps i Mode B og auto-update
Fix 1: Mode B laes agent frontmatter description og foreslaer
       praecis CLAUDE.md-tekst for manglende agenter
Fix 3: Mode B substituerer {PROJECT_NAME} og {SETUP_DATE} i
       HEARTBEAT.md fra CLAUDE.md-overskrift eller git remote

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 18:07:05 +02:00
Michael Dieringer
e58961071b
Merge pull request #17 from Curabis/feature/heartbeat-template
Add HEARTBEAT.md template og opdater curabis-standard setup
2026-06-25 18:00:05 +02:00
Michael Dieringer
0be4b54de4 Add HEARTBEAT.md template og opdater curabis-standard setup
- custom/setup/templates/HEARTBEAT.md: Florence's vagtliste-template
  med 6 standard ward-checks (BCQuality PRs, CI/CD, BC-opgaver,
  forsinkede opgaver, gamle branches, agent-synlighed i CLAUDE.md)

- curabis-standard.agent.md:
  * Mode A: HEARTBEAT.md oprettelse som step 4f
  * Mode A: court/lincoln/aurelius/munger tilfoejt til agent-liste
  * Mode B: court-agenter og HEARTBEAT.md tilfoejt til opdateringstabel
  * Mode B: agent-synligheds-check efter opdatering
  * CLAUDE.md-template: court.agent.md og Francis-trigger tilfoejt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 17:58:53 +02:00
Michael Dieringer
d75783c311
Merge pull request #16 from Curabis/rule/claude-md-must-reference-all-agents
Foreslaa regel: claude-md-must-reference-all-agents
2026-06-25 17:52:38 +02:00
Michael Dieringer
659a6326a1 Foreslaa regel: claude-md-must-reference-all-agents
Observation fra session 2026-06-25: agenter installeret via Mode B forbliver
usynlige for Claude fordi CLAUDE.md ikke opdateres automatisk.

Foreslaaet af Francis. Valideret af Immanuel (alle 4 tests bestaaet).
Afventer Michaels godkendelse via merge.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 17:50:42 +02:00
Michael Dieringer
d6777894d0
Merge pull request #15 from Curabis/feature/court-judges
Add The Court — Lincoln, Aurelius, Munger judge panel
2026-06-25 17:38:33 +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
Jesper Schulz-Wedde
8904ce583b
Fix CODEOWNERS: correct @jeschulz -> @jesperschulz on base rules (#53)
Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 14:28:48 +02:00
Jesper Schulz-Wedde
e2b7d534f9 Promote events knowledge from community to Microsoft layer
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 14:04:14 +02:00
Jeffrey Bulanadi
3769d2fbf4
Add knowledge file for raising events inside try functions (#31) 2026-06-25 13:55:06 +02:00
Jesper Schulz-Wedde
1eaf473e78
Wiring-fix: single source of truth for review leaf list + CI enforcement (#48)
De-enumerate the AL review leaf list so it lives in exactly one place:
the al-code-review super-skill's frontmatter sub-skills list.

- al-code-review.md: drop the enumerated parenthetical from description
  and remove the redundant bullet re-list in the Source section.
- README.md: remove the hardcoded count word and the enumerated domain
  list from the leaf-skill sentence.
- validate_frontmatter.py: add cross-file rule R26 asserting a
  super-skill's declared sub-skills exactly match the sibling
  al-*-review.md leaf files on disk (missing, stale, and unregistered
  leaves all fail CI).

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 13:49:10 +02:00
Jesper Schulz-Wedde
13f47f65a8
Seed web-services (API v2) knowledge domain (#45)
* Seed web-services (API v2) knowledge domain

Add eight web-services API page knowledge articles (each with .good.al/.bad.al samples), a new al-web-services-review leaf skill, and wire it into al-code-review and the README.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Trim web-services domain to 6 non-duplicative articles

Drop API entity-naming/camelCase and DelayedInsert articles (owned by the style domain). Reframe the committed-data and API-versioning articles to stay strictly within the endpoint design/behavior lane, and update the leaf skill's worklist tokens and Output example accordingly.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 12:37:40 +02:00
Jesper Schulz-Wedde
6140a52b03
Add breaking-changes knowledge domain and review leaf skill (#44)
Seed a new breaking-changes (AL API stability) knowledge domain with six
articles plus good/bad AL samples, a new al-breaking-changes-review leaf
skill, and minimal wiring into al-code-review and the README.

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 12:33:30 +02:00
Jesper Schulz-Wedde
f19f0618fb
Add events knowledge domain and review leaf skill (#43)
* Add events knowledge domain and review leaf skill

Add a new `events` knowledge domain covering AL events & subscribers,
wired into the AL review pipeline.

- 3 atomic articles (+ .good.al/.bad.al samples) under
  microsoft/knowledge/events/: the IsHandled override pattern, thin
  OnBefore/OnAfter integration-event publishers, and static vs manual
  subscribers.
- New leaf skill microsoft/skills/review/al-events-review.md sourcing the
  events domain.
- Wired into microsoft/skills/review/al-code-review.md (sub-skills + Source
  + description) and README.md (leaf-skill count + domain list).

AL event syntax verified against Microsoft Learn. Samples are
demonstration-only (not compiled by CI). Additive change; no contract change.

Part of #34.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add 12 general AL event-design articles to events domain

Add 12 atomic knowledge articles under microsoft/knowledge/events covering
general AL event-design best practices: IsHandled initialization and OnAfter
preservation, appending new event parameters, position-based event naming,
reusing/extending events, avoiding per-iteration publishing, Temp-prefixing
temporary record parameters, unabbreviated parameter names, preferring the
this keyword over IncludeSender, avoiding loosely typed parameters, not
mutating existing event contracts, and not bypassing critical operations
with IsHandled. Each article ships a .good.al and .bad.al demonstration
sample (object IDs 50240-50296; not compiled by CI). Extend the
al-events-review leaf Worklist with one targeted check per new rule.

Additive only; no contract or wiring change (events leaf already wired).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Refine events articles after review feedback

Correct wording in five events articles to reflect that AL event
subscribers bind by parameter name, not position:

- add-new-event-parameters-at-the-end: drop the inaccurate claim that
  appending a parameter forces subscribers to be updated or causes wrong
  values; keep the append-at-end best practice.
- do-not-add-ishandled-to-an-existing-event: reframe from "breaking
  change" to the semantic/purpose shift that leaves existing subscribers
  pointless; rename the breaking-change keyword to semantic-change.
- name-events-by-publisher-position: extend the good sample with
  position-named publishers raised from table and report trigger
  contexts.
- initialize-ishandled-to-false-before-publishing: scope the detection
  and best practice to events that actually carry a var IsHandled, so an
  OnBefore with no IsHandled is not flagged.
- do-not-bypass-critical-operations-with-ishandled: add a litmus-test
  definition of a critical operation (code that cannot stand as an
  independent, self-contained unit).

Knowledge-only; no contract or wiring change.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Soften Anti Pattern wording in add-new-event-parameters article

Remove the last name-vs-position misconception from the Anti Pattern so it
is consistent with the corrected Description: mid-list insertion is framed
as noisy and harder to review rather than as forcing subscriber re-mapping.
Detection sentence unchanged.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

* Add events domain reviewers to CODEOWNERS

Add @AleksandricMarko and @pchriste-microsoft-com as required reviewers
for the events knowledge domain, matching the existing per-domain expert
ownership convention. Inserted in alphabetical order ahead of the
performance line.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

---------

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 12:24:25 +02:00
Jesper Schulz-Wedde
23d5478ac6
Add interfaces knowledge domain and review leaf skill (#42)
Adds the interfaces knowledge domain covering AL interfaces and enum-with-implementation: three atomic articles with good/bad AL samples, a new al-interfaces-review leaf skill, and additive wiring into al-code-review and the README. Purely additive; no contract change.

Part of #34.

Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 12:20:56 +02:00
Jesper Schulz-Wedde
45c2b2f5ec
Add domain expert reviewers to CODEOWNERS (#47)
Co-authored-by: Jesper Schulz-Wedde <jesper.schulzwedde@microsoft.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-06-25 11:10:54 +02:00
Jesper Schulz-Wedde
08160b16ad
Remove warning about active development status 2026-06-24 16:22:38 +02:00
Wenjie Fan
5277150469
do.md: require strict RFC 8259 JSON with escaped quotes/newlines (#46)
Action skills emit AL source in message/suggested-code fields. Quoted
identifiers and multi-line snippets must have their embedded quotes and
newlines escaped, otherwise the consumer JSON parse fails and silently
drops the report. Add a JSON validity subsection to the output contract
making the escaping requirement explicit.

Co-authored-by: wenjiefan <wenjiefan@microsoft.com>
2026-06-24 14:06:50 +02:00
Michael Dieringer
416b30ee44
Merge pull request #14 from Curabis/curabis-docs-structure
Standard v3 + Columbo v2 - docs/ struktur og requirement persistence
2026-06-24 07:22:14 +02:00
Michael Dieringer
f13c9962de Standard v3 - add docs/ structure, Columbo writes to docs/specs/ 2026-06-24 07:21:25 +02:00
Michael Dieringer
2ee35531df Columbo v2 - reads docs/specs/, writes summaries there 2026-06-24 07:19:34 +02:00
Michael Dieringer
79230edd24
Merge pull request #13 from Curabis/curabis-standard-agents
Standard v2 - Add Columbo, Florence, M365 to all new projects
2026-06-24 07:11:29 +02:00
Michael Dieringer
80e225e58d Add Columbo, Florence, M365 to standard setup (v2) 2026-06-24 07:10:46 +02:00
Michael Dieringer
4b50a7ccc4
Merge pull request #12 from Curabis/curabis-m365
Add Microsoft 365 MCP usage guide
2026-06-24 07:02:56 +02:00
Michael Dieringer
4e9a610f4b Add Microsoft 365 MCP usage guide 2026-06-24 07:02:31 +02:00
Michael Dieringer
a12aac2b59
Merge pull request #11 from Curabis/curabis-florence
Add Florence Nightingale - Heartbeat Agent
2026-06-24 01:17:18 +02:00
Michael Dieringer
3476d6a9ad Add Florence Nightingale - Heartbeat agent 2026-06-24 01:12:31 +02:00
Michael Dieringer
47e6bde4d9
Merge pull request #10 from Curabis/curabis-columbo
Add Columbo - Customer Requirement Clarifier
2026-06-24 01:04:04 +02:00
Michael Dieringer
8a1c589ef7 Add Columbo - Customer Requirement Clarifier agent 2026-06-24 01:02:41 +02:00
Michael Dieringer
33b48fc9bc
Merge pull request #9 from Curabis/curabis-mcp-008
CURABIS-MCP-008: AI eval scores must be posted to BC posting table
2026-06-24 00:07:35 +02:00
Michael Dieringer
fb2f8f5b00 Add CURABIS-MCP-008: AI eval scores must be posted to BC posting table 2026-06-24 00:06:42 +02:00
Michael Dieringer
b7a5359b82
Merge pull request #8 from Curabis/rule/agent-must-resolve-developer-identity-from-bc
[BCQuality] Agent must resolve developer identity from BC
2026-06-23 22:22:25 +02:00
Michael Dieringer
cec927df81 Foreslaa regel: Agent must resolve developer identity from BC 2026-06-23 22:19:02 +02:00