CRITICAL Phase 0 Draft
Requirements Definition#
REQ-000 Series - Foundational Document
DESCRIPTION: Requirements tables for solution based on REQ-000 docs
This is the centralized information related to the requirements outlined in UCBDs file.
Legend#
Template#
| Component | Unique ID | Description |
|---|---|---|
| System.SubComponent.Deliverable | ORX.N | TBD |
Example#
| Component | Unique ID | Description |
|---|---|---|
| System.GenUser.PlantSearch | OR1.N | Used for original requirements of the plant search component all users have access to. |
| System.GenUser.PlantFilter | OR2.N | Used for original requirements of the plant search filtering component all users have access to. |
| TBD | OR3.N | TBD |
Component Index#
This section lists all component IDs currently used in the Full Requirements Table.
Confirmed Requirements:
Note
These numbers were generated by AI but need to be updated per the FFBDs. Should try to have a verbal explanation of how they work at minimum for using the SDD process.
- OR1.N - System.GenUser.PlantSearch
- OR2.N - System.GenUser.PlantFilter
Provisional Requirements (pending formal review via SDD):
- OR3.N - System.Admin.DataManagement - Loading and validating plant data from CSV
- OR4.N - System.Admin.PlantLinksManagement - Loading and associating resource links with plants
- OR5.N - System.Admin.NurseryManagement - Loading and associating nursery data with plants
- OR6.N - System.Admin.CompanionPlants - Loading companion plant relationships
- OR7.N - System.Admin.DataIntegrity - Ensuring proper data loading order and canonical sources
Full Requirements Table#
| Component | Deliverable | Deliverable Unique ID | Requirement Unique ID | Description |
|---|---|---|---|---|
| System.GenUser | Plant Search | OR.1 | OR1.1 | The system shall display the plant list view with max_visible_plants_num showing in the same state the user last searched for a plant. |
| System.GenUser | Plant Search | OR.2 | OR1.2 | The system shall filter out all plants that do not at least partially match the search term. |
| System.GenUser | Plant Search | OR.3 | MULTI | If no plants in the database match search criteria, the system shall provide a clear message about this to the user. |
| System.GenUser | Plant Filter | OR.4 | OR2.1 | The system shall show all plants that match 1 or more criteria. |
| System.GenUser | Plant Filter | OR.5 | OR2.2 | The system shall only show plants that match all requested criteria. |
The below section was added by AI when cleaning up other work and planning for MVP. It has not yet been reviewed nor confirmed as required but likely will be leveraged with SDD to do so.
| Component | Deliverable | Deliverable Unique ID | Requirement Unique ID | Description |
|---|---|---|---|---|
| System.Admin | Data Management | OR.6 | OR3.1 | The system shall support loading plant data from CSV files. |
| System.Admin | Data Management | OR.7 | OR3.2 | The system shall support clearing existing plant data before reload using a --clear flag. |
| System.Admin | Data Management | OR.8 | OR3.3 | The system shall prevent duplicate plants based on common name during import. |
| System.Admin | Data Management | OR.9 | OR3.4 | The system shall validate required fields (name_common, plant_type, exposure) during import. |
| System.Admin | Data Management | OR.10 | OR3.5 | The system shall validate choice fields (plant_type, exposure, hardiness_zone) against valid values during import. |
| System.Admin | Data Management | OR.11 | OR3.6 | The system shall report missing or invalid data without failing the entire import operation. |
| System.Admin | Data Management | OR.12 | OR3.7 | The system shall handle UTF-8 encoded CSV files. |
| System.Admin | Data Management | OR.13 | OR3.8 | The system shall validate boolean fields as 0 (false) or 1 (true) during import. |
| System.Admin | Data Management | OR.14 | OR3.9 | The system shall handle commas within quoted CSV fields (e.g., descriptions). |
| System.Admin | Data Management | OR.15 | OR3.10 | The system shall report the count of successfully loaded plants after import. |
| System.Admin | PlantLinks Management | OR.16 | OR4.1 | The system shall support loading PlantLink data from CSV files. |
| System.Admin | PlantLinks Management | OR.17 | OR4.2 | The system shall associate PlantLinks with multiple plants using pipe-delimited common names. |
| System.Admin | PlantLinks Management | OR.18 | OR4.3 | The system shall support clearing existing PlantLinks before reload using a --clear flag. |
| System.Admin | PlantLinks Management | OR.19 | OR4.4 | The system shall validate PlantLink type codes (aa, bl, bk, mg, nu, yt, ot) during import. |
| System.Admin | PlantLinks Management | OR.20 | OR4.5 | The system shall report when a referenced plant is not found during PlantLink import. |
| System.Admin | Nursery Management | OR.21 | OR5.1 | The system shall support loading Nursery data from CSV files. |
| System.Admin | Nursery Management | OR.22 | OR5.2 | The system shall associate Nurseries with multiple plants using pipe-delimited common names. |
| System.Admin | Nursery Management | OR.23 | OR5.3 | The system shall support clearing existing Nurseries before reload using a --clear flag. |
| System.Admin | Nursery Management | OR.24 | OR5.4 | The system shall report when a referenced plant is not found during Nursery import. |
| System.Admin | Companion Plants | OR.25 | OR6.1 | The system shall support loading companion plant relationships from CSV files. |
| System.Admin | Companion Plants | OR.26 | OR6.2 | The system shall create bidirectional companion plant relationships using pipe-delimited common names. |
| System.Admin | Companion Plants | OR.27 | OR6.3 | The system shall report when a referenced plant is not found during companion plant import. |
| System.Admin | Companion Plants | OR.28 | OR6.4 | The system shall handle self-referential many-to-many relationships for companion plants. |
| System.Admin | Data Integrity | OR.29 | OR7.1 | The system shall ensure plants are loaded before loading relationships (PlantLinks, Nurseries, Companions). |
| System.Admin | Data Integrity | OR.30 | OR7.2 | The system shall treat CSV files as the canonical data source (single source of truth). |