diff --git a/docs/MVP-PRD.md b/docs/MVP-PRD.md index a7d0403..0f06388 100644 --- a/docs/MVP-PRD.md +++ b/docs/MVP-PRD.md @@ -114,11 +114,11 @@ Requirements for initial setup, deployment configs, updating, and uninstall REQ-SNC-05 -, with outbound access to the internet and in/outbound access to the underlying OS network REQ-SNC-10 - The installation process shall be a single command which can be run interactively or silently REQ-SNC-15 - The insallation shall utilize best-practice settings and secrets storage - REQ-SNC-20 - + REQ-SNC-20 - 3.2 Platform requirements (REQ-PLT-XX) REQ-PLT-05 - All processes will run as standard user (no admin / sudo elevation necessary) - REQ-PLT-10 - All internet-facting HTTP endpoints shall be TLS protected with well known can + REQ-PLT-10 - ... REQ-PLT-15 - The system shall be Docker based limited to 150MB of memory Requirements addressing what OS and hardware support is in scope 3.3 Performance and scalability (REQ-PERF-XX) @@ -126,4 +126,21 @@ Requirements addressing what OS and hardware support is in scope 3.5 ### 3.1 Reliability -**REQ-REL-05:** Once setup and configured, the system will reliably operate without interaction from the user. +REQ-REL-05: Once setup and configured, the system will reliably operate without interaction from the user. +REQ-REL-10: The system shall automatically retry failed source fetches with exponential backoff. +REQ-REL-15: The system shall not lose previously stored data on restart or failure. +REQ-REL-20: The daily pipeline shall complete successfully even if one or more sources are unavailable. + +3.3 Observability and Diagnostics +REQ-DIAG-05: The system shall produce structured logs with timestamps and severity levels. +REQ-DIAG-10: A health check endpoint or command shall report overall system status and last successful run. +REQ-DIAG-15: Run logs shall capture per-source success/failure and basic metrics (items fetched, stored, failed). + +3.4 Security +REQ-SEC-05: All external HTTP calls shall use TLS. +REQ-SEC-10: No secrets shall be hardcoded or stored in plaintext. +REQ-SEC-15: The system shall support least-privilege access for outbound API calls. + +3.5 Integration and extensibility +REQ-INT-05: The system shall expose research output in a structured, machine-readable format (e.g., JSON files or API) consumable by external tools. +REQ-INT-10: The adapter layer shall support adding new sources without modifying core pipeline logic.