docs: Capability Parity Principle + Definition of Done update

- LANDVEX_DESIGN_CONSTITUTION.md:
  - Added §0a: Capability Parity Principle
  - All user functions must work on smartphone
  - Desktop may enhance, never require
  - Two-question rule for every new feature
  - Desktop as enhancer (not exclusive)
  - Examples: Payments, History, KYC
  - Verification checklist for every new feature

- RFC_DEFINITION_OF_DONE.md:
  - Added criterion #3: Capability Parity
  - Can be used on smartphone; desktop is enhancement
  - Total criteria: 14 (was 13)
  - Exit criteria: must pass all 14

Rationale: quiXzoom targets field workers. Phone is primary or only
computer. Phone must always be a full client. Desktop is a more
comfortable workspace for some tasks, not a prerequisite. This is a
constitutional principle, not implementation.
This commit is contained in:
Bernt
2026-07-02 11:40:57 +00:00
parent c087043408
commit 5beb8fb640
2 changed files with 67 additions and 13 deletions
@@ -33,6 +33,59 @@ Landvex har ett enda syfte: omvandla verklighet till handling.
---
## 0a. CAPABILITY PARITY PRINCIPLE
**Alla användarfunktioner ska kunna utföras från en smartphone.**
Desktop får utöka upplevelsen, men aldrig vara ett krav.
### The Rule
Varje ny funktion måste besvara två frågor:
| Fråga | Krav |
|-------|------|
| Går detta att göra i appen? | **Ja (obligatoriskt)** |
| Kan desktop göra det bekvämare? | Ja (valfritt) |
Om svaret på första frågan är nej ska funktionen inte godkännas.
### Desktop as Enhancer
Desktop kan vara bättre på:
- Längre historik
- Avancerad filtrering
- Export till PDF/CSV
- Utskrifter
- Stora tabeller
- Bokföringsunderlag
- Flera fönster samtidigt
Men det är en förbättring av användarupplevelsen — inte en exklusiv funktion.
### Examples
**Utbetalningar:**
- 📱 App: Se saldo, se kommande utbetalning, ladda ned PDF, dela PDF, exportera CSV, skicka till e-post, visa årsöversikt
- 🖥 Desktop: Samma funktioner, men dessutom större tabeller, flera rapporter samtidigt, bekvämare utskrift
**Historik:**
- 📱 App: Filtrera datum, sök, exportera, visa kvitton
- 🖥 Desktop: Exakt samma funktioner, men fler rader på skärmen
**KYC:**
- 📱 App: Kamera, NFC, Face ID, biometrisk verifiering — bättre i mobilen
- 🖥 Desktop: Visa status
### Verification
För varje ny funktion:
- ✅ Kan en användare utföra hela arbetsflödet i appen?
- ✅ Kräver ingen del en dator?
- ✅ Om desktop erbjuder mer, är det en produktivitetsförbättring och inte en exklusiv funktion?
---
## 1. INTRODUKTION
Landvex är inte en traditionell webbplats.
@@ -16,17 +16,18 @@
|---|-----------|-------------|-------------|
| 1 | **RFC Structure** | 100% complete per `COMPONENT_TEMPLATE.md` | Self-check + Review |
| 2 | **Core Principle** | Supports "From Reality → Decision" | Self-check + Review |
| 3 | **Cognitive Purpose** | Documented — what problem does this solve? | Self-check + Review |
| 4 | **User Expectation** | Documented — what does the user expect? | Self-check + Review |
| 5 | **Interaction Contract** | Documented — events, responses, state machine | Self-check + Review |
| 6 | **Failure Behaviour** | Documented — every failure mode handled | Self-check + Review |
| 7 | **Accessibility Contract** | Documented — WCAG 2.1 AA compliance | Self-check + Review |
| 8 | **AI Contract** | Documented — when AI chooses this component | Self-check + Review |
| 9 | **Token Dependencies** | All tokens listed, no hardcoded values | Automated lint |
| 10 | **Motion** | Follows Motion System v1, reduced motion included | Self-check + Review |
| 11 | **Anti-Patterns** | Relevant anti-patterns listed and avoided | Self-check + Review |
| 12 | **Compliance Matrix** | Updated in same PR | Self-check |
| 13 | **Reference Example** | Working implementation or Storybook story | Implementation |
| 3 | **Capability Parity** | Can be used on smartphone; desktop is enhancement | Self-check + Review |
| 4 | **Cognitive Purpose** | Documented — what problem does this solve? | Self-check + Review |
| 5 | **User Expectation** | Documented — what does the user expect? | Self-check + Review |
| 6 | **Interaction Contract** | Documented — events, responses, state machine | Self-check + Review |
| 7 | **Failure Behaviour** | Documented — every failure mode handled | Self-check + Review |
| 8 | **Accessibility Contract** | Documented — WCAG 2.1 AA compliance | Self-check + Review |
| 9 | **AI Contract** | Documented — when AI chooses this component | Self-check + Review |
| 10 | **Token Dependencies** | All tokens listed, no hardcoded values | Automated lint |
| 11 | **Motion** | Follows Motion System v1, reduced motion included | Self-check + Review |
| 12 | **Anti-Patterns** | Relevant anti-patterns listed and avoided | Self-check + Review |
| 13 | **Compliance Matrix** | Updated in same PR | Self-check |
| 14 | **Reference Example** | Working implementation or Storybook story | Implementation |
## Sign-Off
@@ -39,9 +40,9 @@
## Exit Criteria
**MUST** pass all 13 criteria before component is marked "Complete" in Compliance Matrix.
**MUST** pass all 14 criteria before component is marked "Complete" in Compliance Matrix.
**MAY** merge with criteria 13 pending if implementation is in separate PR.
**MAY** merge with criteria 14 pending if implementation is in separate PR.
---