Kör ALVA:s tester i CI, och genomgången som incheckat test

CI körde `npm test` i roten, som delegerar till workspaces. Listan är
apps/mobile, services/api och infra — felsokning/app står inte där.
Pipelinen körde alltså 30 tester från en orelaterad tjänst och inte ett
enda av ALVA:s 311. Varken lint eller typkontroll nådde produkten heller.

Det är inte att testerna föll. Det är att ingenting upprätthöll dem.
Varje garanti som de två revisionerna skrivit som "låst av ett test" —
härkomsten, kvalitetsgrinden, raderingen, mätdonsspårbarheten,
högvoltsspärren, det stängda schemat, driftskydden mellan klient och
grind — låstes av tester som ingen pipeline körde. De höll därför att en
person körde dem för hand före varje commit. Det är en person, inte en
spärr.

Två nya jobb. `alva` kör produktens lint, typkontroll och hela sviten mot
sin egen lockfil. `genomgang` installerar Chromium och kör fyra ärenden
genom det byggda gränssnittet.

Genomgången kontrollerar tre saker: att varje ärende når avslutat läge,
att varje händelse klienten faktiskt producerar passerar det stängda
schemat, och att interaktionerna per ärende håller sig under 90. Bägge
felvägarna är provade, inte antagna — sänkt budget fäller tre fall, och
ett schemafilter som avvisar allt fäller fyra. En kontroll som inte kan
falla är dekoration.

Skriptet bygger appen själv med de två miljövariabler bygget kräver.
Lämnas det åt den som startar kommandot testar genomgången tyst en annan
applikation: utan hash-routing matchar ingen route, och utan
platshållare för den gamla butiksklienten kastar den innan routern
monteras så att sidan blir tom.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012EQg3rJsrQ1ZNTvkzmQAtt
This commit is contained in:
Claude
2026-08-05 19:41:15 +00:00
parent 31727a4ea0
commit 86d553b639
5 changed files with 611 additions and 2 deletions
+48
View File
@@ -19,3 +19,51 @@ jobs:
- run: npm run format:check
- run: npm run typecheck
- run: npm test
# ALVA låg utanför pipelinen. Roten kör `npm test --workspaces`, och
# felsokning/app är inte ett workspace — så samtliga 311 tester
# passerade bara när någon körde dem för hand.
#
# Det betyder att varje garanti de två revisionerna kallar "låst av ett
# test" — härkomsten, det stängda schemat, kvalitetsgrinden,
# högvoltsspärren, ALVA-RULE-200 — i praktiken var olåst. Ett test som
# ingen kör är dokumentation, inte en spärr.
alva:
runs-on: ubuntu-latest
defaults:
run:
working-directory: felsokning/app
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: felsokning/app/package-lock.json
- run: npm ci
- run: npm run lint
- run: npm run typkontroll
- run: npm test
# Genomgången: hela ärenden genom det byggda gränssnittet.
#
# Egen jobbrad därför att den kräver en webbläsare och tar längre tid.
# Den fångar en annan sorts fel än enhetstesterna: tre defekter i förra
# cykeln levde i ÖVERENSKOMMELSEN mellan moduler — mellan klient och
# grind, mellan metodikens krav och den evidens den producerar — och
# inget av dem syntes i en grön svit.
genomgang:
runs-on: ubuntu-latest
defaults:
run:
working-directory: felsokning/app
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 22
cache: npm
cache-dependency-path: felsokning/app/package-lock.json
- run: npm ci
- run: npx playwright install --with-deps chromium
- run: npm run genomgang