# Category 9: Constraints

> **Usage:** Technical and organizational constraints
> **When to load:** If constraints identified or workflow feature

---

## 9.1 Technical

| # | Question | Answer Type |
|---|----------|-------------|
| Q9.1 | Mandated tech stack? | Technologies |
| Q9.2 | Infrastructure limitations? | Description |
| Q9.3 | Technology dependencies? | List |
| Q9.4 | Compatibility constraints? | List |

---

## Platform Constraints

| Constraint | Impact | Non-négociable |
|-----------|--------|----------------|
| Multi-tenant | TenantId sur toutes les entités, isolation par tenant | Oui |
| .NET 8+ | Version minimum du backend | Oui |
| React 19+ | Version minimum du frontend | Oui |
| SQL Server/PostgreSQL | Bases de données supportées | Oui |
| CQRS | Commands/Queries séparées via MediatR | Oui |
| FluentValidation | Validation côté serveur | Oui |
| i18n (4 langues) | FR, EN, IT, DE obligatoires | Oui |

## Elicitation Guide

### Follow-ups by Question

| Question | If answer is vague/insufficient | Probe |
|----------|-------------------------------|-------|
| Q9.1 (tech stack) | Propose une technologie hors plateforme | "La plateforme impose .NET 8 + React 19. Cette contrainte est-elle compatible avec votre besoin ?" |
| Q9.2 (infrastructure) | "Cloud" sans précision | "Azure, AWS, on-premise ? Contraintes de localisation des données (pays) ?" |

### Anti-patterns to Detect

| Signal | Anti-pattern | Action |
|--------|-------------|--------|
| Technologie imposée hors stack | **Incompatibilité plateforme** | Clarifier : est-ce une intégration (OK) ou un remplacement de composant (risqué) ? |
| "Pas de contrainte" | **Contraintes implicites oubliées** | Multi-tenant, RGPD, audit, i18n sont des contraintes de la plateforme obligatoires |
