Skip to content
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).