bcquality/custom/setup/templates/HEARTBEAT.md
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

3.4 KiB

HEARTBEAT.md — {PROJECT_NAME}

Florence læser denne fil ved hver runde. Hun følger checklistet præcist og flagger hvis det er forældet.

Sidst opdateret: {SETUP_DATE}


Checklistet

1. BCQuality PRs

Tjek åbne PRs på Curabis/QualityHub: https://api.github.com/repos/Curabis/QualityHub/pulls?state=open

Klassifikation Kriterium
Routine Ingen åbne PRs
Notable 1 åben PR, oprettet inden for 24 timer
Concerning 1+ åben PR, ældre end 3 dage uden aktivitet
Urgent PR afventer merge og blokerer andet arbejde

2. CI/CD — AL-Go builds

Tjek seneste build-status på main og åbne branches.

Klassifikation Kriterium
Routine Alle builds grønne
Notable Et enkelt build fejlede men er siden rettet
Concerning Seneste build på main fejler
Urgent Main fejler og der er en igangværende release

3. BC-opgaver — klar til start

Tjek opgaver med status Accepted i projektet.

Klassifikation Kriterium
Routine Ingen nye Accepted-opgaver siden sidste runde
Notable 1-2 opgaver er blevet Accepted
Concerning 3+ opgaver er Accepted og ingen er taget op

4. Forsinkede opgaver

Tjek opgaver hvor expectedDelivery er passeret og BC-status ikke er afsluttet.

Klassifikation Kriterium
Routine Ingen forsinkede opgaver
Notable 1 opgave forsinket med under 3 dage
Concerning 1+ opgave forsinket med mere end 3 dage
Urgent Forsinkelse påvirker kundeleverance

5. Gamle branches

Tjek branches ældre end 14 dage uden åben PR.

Klassifikation Kriterium
Routine Ingen branches ældre end 14 dage
Notable 1-2 gamle branches uden PR
Concerning 3+ gamle branches, eller en branch ældre end 30 dage

6. Agent-synlighed i CLAUDE.md

Sammenlign filer i .github/.agents/ med referencer i CLAUDE.md. Kald Rømer (roemer.agent.md) hvis 1+ agent i mappen ikke er nævnt i CLAUDE.md — det er præcis hans station 8 (agent visibility), og han kan afgøre om det er drift eller en legitim lokal afvigelse der skal videre til Ferencz.

Klassifikation Kriterium
Routine Alle agenter er nævnt i CLAUDE.md
Concerning 1+ agent i mappen er ikke nævnt i CLAUDE.md — Rømer kaldt

7. Workspace & multi-app konfiguration

Se florence.agent.md for den fulde checkprotokol.

Klassifikation Kriterium
Routine Workspace eksisterer, alle apps er med, alle har test-app
Notable En eller flere main-apps mangler test-app
Concerning Ingen workspace-fil, app-mappe mangler i workspace, eller CLAUDE.md dækker ikke alle apps

8. Den rette and

Kald Weber (weber.agent.md) hvis der ligger nye dokumenter i .decisions/ siden sidste runde. Spørgsmålet er: vidste udvikleren hvilken and der skulle bygges?

Klassifikation Kriterium
Routine Alle specs denne uge: Klar and
Notable Én Uklar and — coaching-note sendt til udvikleren
Concerning Blind and observeret, eller samme gap to uger i træk

Weber rapporterer kun til udvikleren. Aggregerede mønstre, uden navne, til ledelsen.


Hvad Florence aldrig gør

  • Vækker Michael for et Notable
  • Springer en runde over fordi "der sikkert ikke er sket noget"
  • Redigerer dette dokument uden at blive bedt om det
  • Lukker BC-opgaver — det kan kun en BC-bruger