Non-Functional Requirements
Performance, security, reliability, and quality attributes.
35 requirements in this category.
| ID | Description | Status | Priority |
|---|---|---|---|
| REQ-NFR-001 | API median latency for read operations <= 200ms at 10 concurrent clients on reference machine | approved | P0 |
| REQ-NFR-002 | API median latency for write operations <= 500ms at 10 concurrent clients | approved | P0 |
| REQ-NFR-003 | Web UI initial page load <= 3s on reference machine over local network | approved | P0 |
| REQ-NFR-004 | Audit log search returns p95 <= 1s on 100k-row dataset | approved | P0 |
| REQ-NFR-010 | All non-localhost traffic over TLS 1.2+ | approved | P0 |
| REQ-NFR-011 | Bearer tokens revocable with configurable expiry | approved | P0 |
| REQ-NFR-012 | Passwords (if stored) hashed with modern KDF (Argon2id or bcrypt) | approved | P0 |
| REQ-NFR-013 | Audit log append-only at the DB role level | approved | P0 |
| REQ-NFR-014 | Agent delegated scope enforced server-side (not client-side trust) | approved | P0 |
| REQ-NFR-020 | Every mutation produces exactly one audit row regardless of API surface | approved | P0 |
| REQ-NFR-021 | Audit rows include actor, ts (UTC ISO 8601), entity kind/id, before/after, change reason | approved | P0 |
| REQ-NFR-022 | Audit log exportable in CSV/JSON/NDJSON for offline analysis | approved | P0 |
| REQ-NFR-030 | System tolerates single-process restarts without data loss | approved | P0 |
| REQ-NFR-031 | Fresh install comes up within 5 minutes from installer launch to first successful login | approved | P0 |
| REQ-NFR-032 | Backups schedulable; restore-from-backup produces identical operational state | approved | P0 |
| REQ-NFR-040 | First-time established_guidelines_literate user can create project, add deliverable, request sign-off in <10 min without docs | approved | P0 |
| REQ-NFR-041 | All forms show validation errors inline | approved | P0 |
| REQ-NFR-042 | Keyboard navigation works for primary flows (browse, claim, approve) | approved | P0 |
| REQ-NFR-050 | AIPM does not introduce parallel canonical store for data already canonical in MAS | approved | P0 |
| REQ-NFR-051 | Loss of MAS connectivity degrades gracefully (read-only on MAS-canonical entities, queue writes for replay) | approved | P0 |
| REQ-NFR-060 | Code includes automated tests; CI runs them on every commit | approved | P0 |
| REQ-NFR-061 | Documentation (help/dev/ai) updated in same change as source it documents | approved | P0 |
| REQ-NFR-062 | All scope changes flow through the change control plan | approved | P0 |
| REQ-NFR-063 | Read-only mode middleware adds <= 5 ms p99 overhead on read endpoints | approved | P0 |
| REQ-NFR-064 | PWA service worker MUST NOT cache approval-decision-bearing endpoints — only static shell | approved | P0 |
| REQ-NFR-065 | Worktree provisioning on claim completes within 5 seconds for repos up to 1 GB | approved | P0 |
| REQ-NFR-066 | Send-text/poll-output fallback channel rate-limited per agent token (60 send-text/min, 600 poll-output/min default) | approved | P0 |
| REQ-NFR-067 | Critical-path computation p95 <= 500 ms at 500 activities | approved | P0 |
| REQ-NFR-068 | Baseline rows insert-only at DB role level (schedule + cost) | approved | P0 |
| REQ-NFR-069 | EVM rollup deterministic + reproducible from inputs | approved | P0 |
| REQ-NFR-070 | Cost amounts stored as integer cents (fixed precision) | approved | P0 |
| REQ-NFR-071 | Gantt view legible at up to 200 activities (desktop) | approved | P1 |
| REQ-NFR-072 | Schedule recalculation p95 <= 1 s on activity edit | approved | P0 |
| REQ-NFR-073 | Post-baseline cost changes require approved Change Request | approved | P0 |
| REQ-NFR-074 | Cost ledger append-only + tamper-evident (audit log) | approved | P1 |