Files
tessera-ctl/.planning/phases/07-dkv-fleet-module/07-VALIDATION.md
T
schalli e9f4f2dcad
Tessera CI/CD / Build & Deploy (push) Blocked by required conditions
Tessera CI/CD / Lint & Type Check (push) Successful in 40s
Tessera CI/CD / Tests (push) Waiting to run
docs(07): UI design contract and validation strategy for DKV fleet module
2026-06-26 14:55:41 +02:00

3.7 KiB
Raw Blame History

phase, slug, status, nyquist_compliant, wave_0_complete, created
phase slug status nyquist_compliant wave_0_complete created
7 dkv-fleet-module draft false false 2026-06-26

Phase 7 — Validation Strategy

Per-phase validation contract for feedback sampling during execution.


Test Infrastructure

Property Value
Framework Vitest 4.1.9 (apps/web); no test framework in apps/api
Config file apps/web/vitest.config.ts
Quick run command pnpm --filter @tessera/web test
Full suite command pnpm --filter @tessera/web test && pnpm --filter @tessera/api type-check
Estimated runtime ~30 seconds

Sampling Rate

  • After every task commit: Run pnpm --filter @tessera/web test
  • After every plan wave: Run pnpm --filter @tessera/web test && pnpm --filter @tessera/api type-check
  • Before /gsd-verify-work: Full suite must be green + manual PDF parse inspection + manual Excel file inspection
  • Max feedback latency: ~30 seconds

Per-Task Verification Map

Task ID Plan Wave Requirement Threat Ref Secure Behavior Test Type Automated Command File Exists Status
07-01-01 01 0 DKV-02 A2 PDF parse output inspected manually Manual — ❌ Wave 0 ⬜ pending
07-01-02 01 0 — — ScheduleModule registered in AppModule Manual type-check pnpm --filter @tessera/api type-check ✅ ⬜ pending
07-02-01 02 1 DKV-01 — Inbox polling returns attachments Manual integration — ❌ Wave 0 ⬜ pending
07-02-02 02 1 DKV-04 — Excel 5-column buffer generated Manual (open .xlsx) — — ⬜ pending
07-03-01 03 1 DKV-03 — Vehicle CRUD table renders unit pnpm --filter @tessera/web test ❌ Wave 0 ⬜ pending
07-03-02 03 1 DKV-05 — SMTP settings form saves + reads unit pnpm --filter @tessera/web test ❌ Wave 0 ⬜ pending

Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky


Wave 0 Requirements

  • apps/api/src/dkv/dkv-parser.validate.ts — manual validation script: parse user-files/invoice.pdf, print structured output, verify vehicle block regex
  • apps/web/src/app/(portal)/modules/dkv-fleet/settings/components/VehicleTable.test.tsx — covers DKV-03 (vehicle CRUD table)
  • apps/web/src/app/(portal)/settings/general/smtp/smtp-settings.test.tsx — covers DKV-05 (SMTP settings form)

Manual-Only Verifications

Behavior Requirement Why Manual Test Instructions
Inbox polling detects DKV emails DKV-01 Requires live IMAP/Exchange inbox Configure module with test inbox, trigger "Jetzt prüfen", verify email detected and PDF downloaded
PDF parser extracts correct data DKV-02 No API test framework; PDF content is binary Run Wave 0 validation script against user-files/invoice.pdf; inspect 27 vehicles × transactions in output
Excel export correct format DKV-04 Requires human visual inspection in Excel Open generated .xlsx, verify 5 columns (Lieferdatum, Fahrzeug, Fahrer, Ort, Kilometerstand), German date format TT.MM.JJJJ
SMTP delivery DKV-04 Requires live SMTP server Trigger export with test SMTP config, verify email received with xlsx attachment

Validation Sign-Off

  • All tasks have <automated> verify or Wave 0 dependencies
  • Sampling continuity: no 3 consecutive tasks without automated verify
  • Wave 0 covers all MISSING references
  • No watch-mode flags
  • Feedback latency < 30s
  • nyquist_compliant: true set in frontmatter

Approval: pending