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:
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user