Non-Functional Requirements
Document ID: PRD-005
File Path: docs/01-product/non-functional-requirements.md
Version: 1.0.0
Status: Draft
Owner: Product Team
Last Updated: 2026-06-27
1. Purpose
Section titled “1. Purpose”This document defines the non-functional requirements (NFRs) — the quality attributes the Wovyr AI Platform must meet. It elaborates PRD §13 and aggregates the per-service targets specified throughout the docs.
2. Conventions
Section titled “2. Conventions”NFR-<attribute>-<n> · measured by <metric> · target <value>Targets are validated by performance, chaos, and security testing.
3. Performance
Section titled “3. Performance”| ID | Requirement | Target |
|---|---|---|
| NFR-PERF-1 | API latency | p95 < 200 ms |
| NFR-PERF-2 | LLM Gateway overhead (non-cached) | p95 < 8 ms (gateway NFRs) |
| NFR-PERF-3 | Memory warm retrieval | p95 < 30 ms (memory NFRs) |
| NFR-PERF-4 | Tool warm sandbox start | p95 < 20 ms (tool NFRs) |
4. Reliability & Availability
Section titled “4. Reliability & Availability”| ID | Requirement | Target |
|---|---|---|
| NFR-REL-1 | Core service availability | 99.99% |
| NFR-REL-2 | Durable workflow execution (survive restart) | No lost executions (checkpointing) |
| NFR-REL-3 | Graceful degradation on dependency failure | Validated by chaos |
| NFR-REL-4 | Provider failover success when any healthy | > 99% (resilience) |
5. Scalability
Section titled “5. Scalability”| ID | Requirement | Target |
|---|---|---|
| NFR-SCALE-1 | Horizontal scaling of stateless services | Linear with replicas |
| NFR-SCALE-2 | Memory corpus | Billions of records (memory) |
| NFR-SCALE-3 | Concurrent tool executions | Thousands (worker pool) |
| NFR-SCALE-4 | Autoscaling reaction | < 30 s to add capacity |
6. Security
Section titled “6. Security”| ID | Requirement | Target |
|---|---|---|
| NFR-SEC-1 | Cross-tenant data leakage | 0 (hard) (authorization) |
| NFR-SEC-2 | Encryption in transit & at rest | Always (encryption) |
| NFR-SEC-3 | Untrusted code isolation | Enforced sandboxing (tool isolation) |
| NFR-SEC-4 | Auditability of sensitive actions | 100% (audit) |
7. Maintainability & Extensibility
Section titled “7. Maintainability & Extensibility”| ID | Requirement | Target |
|---|---|---|
| NFR-MAINT-1 | Clean Architecture boundaries | Enforced (ADR-0006) |
| NFR-EXT-1 | Extend without core changes | Via plugins |
| NFR-MAINT-2 | Test coverage on critical paths | High (testing) |
8. Observability
Section titled “8. Observability”| ID | Requirement | Target |
|---|---|---|
| NFR-OBS-1 | Logs, metrics, traces on every service | Always (observability) |
| NFR-OBS-2 | Request correlation across services | request_id/trace_id everywhere |
| NFR-OBS-3 | Cost observability | Per tenant/project/model (cost) |
9. Portability
Section titled “9. Portability”| ID | Requirement | Target |
|---|---|---|
| NFR-PORT-1 | Cloud-neutral deployment | Docker/K8s, self-host or managed (deployment) |
| NFR-PORT-2 | Provider independence | No hard vendor lock-in (provider SDK) |
| NFR-PORT-3 | Air-gapped operation | Supported (distribution) |
10. Compliance
Section titled “10. Compliance”| ID | Requirement | Target |
|---|---|---|
| NFR-COMP-1 | Support SOC 2 / ISO 27001 / GDPR controls | Designed-for (security index) |
| NFR-COMP-2 | Data residency / retention controls | Configurable (ABAC + retention) |
11. Usability
Section titled “11. Usability”| ID | Requirement | Target |
|---|---|---|
| NFR-UX-1 | Dashboard accessibility | WCAG 2.1 AA (dashboard) |
| NFR-UX-2 | Time-to-first-agent | Minutes (hello agent) |
12. Related
Section titled “12. Related”01-product/functional-requirements.md01-product/acceptance-criteria.md00-executive/success-metrics.md
13. Revision History
Section titled “13. Revision History”| Version | Date | Description |
|---|---|---|
| 1.0.0 | 2026-06-27 | Initial Non-Functional Requirements |