-
3.1. Create all databases up front UID: ARCH-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create the full set of databases at build time regardless of immediate use.
RELATIONS (Child): - DES-ARCH Full architecture created up front
- ARCH-003 Create even if used later
- TS-001 Create Training Sessions
- RACE-001 Create Races database
- LIB-001 Create Exercise Library
- TMP-001 Create Workout Templates
- TMP-002 Create Exercise Log
- SHO-001 Create Running Shoes
- RTE-001 Create Running Routes
- MET-001 Create Metrics/Check-ins
- NUT-001 Create Nutrition Log
- WKR-001 Create Weekly Reviews
- GOL-001 Create Goals
- BLK-001 Create Training Blocks
- DRL-001 Create Hockey Drills
- RES-001 Create Resources
-
3.3. Create even if used later UID: ARCH-003 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where a database will be used later but not immediately, the system shall still create it now with its schema in place.
RELATIONS (Parent): RELATIONS (Child):
Create all fifteen databases at build time with schema in place, regardless of immediate use. See design-schema section 3.
-
1.1. Personal Training OS page UID: NAV-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall be created as a Notion page titled "Personal Training OS".
RELATIONS (Child): -
1.2. Child of Personal Dashboard UID: NAV-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall exist as a child page under the "Personal Dashboard" page.
RELATIONS (Child): -
1.3. Link below Inbox UID: NAV-003 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Personal Training OS page is created, the system shall place a link to it directly below the "Inbox" link on the Personal Dashboard.
RELATIONS (Parent): RELATIONS (Child): -
1.4. Entry points to all databases UID: NAV-004 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall present, from its top-level page, entry points to every database.
RELATIONS (Parent): RELATIONS (Child): -
3.2. Linked references to existing game databases UID: ARCH-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall provide linked or embedded references to the existing Team A games and Team B games databases without recreating them.
RELATIONS (Child): -
9.1. Both teams equal UID: HOK-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall treat both teams, Team A and Team B, equally.
RELATIONS (Child): -
9.3. Linked views for both teams UID: HOK-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall present linked views for both teams on the dashboard.
RELATIONS (Parent): RELATIONS (Child):
A Personal Training OS page under Personal Dashboard, linked directly below Inbox, presenting linked views for every database and side-by-side equal linked views of the external Team A and Team B game databases. See design-schema section 18.
-
4.1. Build automation fields in now UID: AUTO-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall build automation fields into key databases at creation time.
RELATIONS (Child): -
4.2. Standard automation field set UID: AUTO-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each key database shall include Source, Source ID, External URL, Imported At, Last Synced At, Sync Status, Manual Override, and Raw Data/Notes where meaningful.
RELATIONS (Parent): RELATIONS (Child): - DES-AUTO Standard Automation Block
- AUTO-003 Source vocabulary
- AUTO-004 Manual default source
- AUTO-005 Manual override blocks overwrite
- AUTO-006 Sync populates provenance fields
- AUTO-007 Failure surfaces in Sync Status
- TS-002 Automation fields on sessions
- RACE-002 Person and automation fields on races
- MET-002 Automation fields on metrics
- NUT-002 Automation fields on nutrition
-
4.3. Source vocabulary UID: AUTO-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The Source field shall be a select whose options include Garmin, MyFitnessPal, Apple Health, Apple Watch, Strava, Calendar, Manual, Notion, and Hockey DB.
RELATIONS (Parent): RELATIONS (Child): -
4.4. Manual default source UID: AUTO-004 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When a record is created by hand rather than an integration, the system shall default its Source to Manual.
RELATIONS (Parent): RELATIONS (Child): -
4.5. Manual override blocks overwrite UID: AUTO-005 EARS_TYPE: State VERIFICATION: Test STATEMENT: While a record's Manual Override is set, the system shall not permit an automated sync to overwrite that record's fields.
RELATIONS (Parent): RELATIONS (Child): -
4.6. Sync populates provenance fields UID: AUTO-006 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When an automated import creates or updates a record, the system shall populate Source, Source ID, Imported At, and Last Synced At for that record.
RELATIONS (Parent): RELATIONS (Child): -
4.7. Failure surfaces in Sync Status UID: AUTO-007 EARS_TYPE: Unwanted VERIFICATION: Test STATEMENT: If an automated sync fails or is incomplete for a record, then the system shall reflect the failure in that record's Sync Status.
RELATIONS (Parent): RELATIONS (Child):
A shared eight-field automation block (Source, Source ID, External URL, Imported At, Last Synced At, Sync Status, Manual Override, Raw Data/Notes) applied to every integration-fed database, plus the sync contract that a set Manual Override blocks automated overwrite and failures surface in Sync Status. See design-schema section 2.
-
2.1. Create People database UID: PEO-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a People database.
RELATIONS (Child): -
2.2. People as primary identity model UID: PEO-002 EARS_TYPE: Ubiquitous VERIFICATION: Analysis STATEMENT: The system shall use People as the primary identity model for the entire system.
RELATIONS (Parent): RELATIONS (Child): -
2.3. Seed Primary User and Secondary User UID: PEO-003 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the People database is created, the system shall seed two people, Primary User and Secondary User.
RELATIONS (Parent): RELATIONS (Child): -
2.4. Optional Notion User and external IDs UID: PEO-004 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where a person record supports automation, the People database shall provide optional Notion User and external ID fields for that person.
RELATIONS (Parent): RELATIONS (Child): -
2.5. Secondary User first-class across areas UID: PEO-005 EARS_TYPE: Ubiquitous VERIFICATION: Test STATEMENT: The system shall allow Secondary User to be referenced from Goals, Races, Metrics/Check-ins, Nutrition Log, and future training structures, not solely as a placeholder.
RELATIONS (Parent): RELATIONS (Child): -
2.6. Person relation on attributable databases UID: PEO-006 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Every database that records person-attributable data shall relate to People via a Person relation rather than free text.
RELATIONS (Parent): RELATIONS (Child):
People database with Person title, Active, optional Notion User and External IDs, and Role. Seeded with Primary User and Secondary User both as Athlete so Secondary User is selectable everywhere. Every person-attributable database relates to People by relation, not free text. See design-schema section 3.
-
5.1. Create Training Sessions UID: TS-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Training Sessions database as the central log of all training activity.
RELATIONS (Parent): RELATIONS (Child): -
5.2. Automation fields on sessions UID: TS-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Training Session shall carry the standard automation fields.
RELATIONS (Parent): RELATIONS (Child): -
5.3. Session Type UID: TS-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Training Session shall provide a Session Type such as Run, Race, Workout, or Hockey Game.
RELATIONS (Parent): RELATIONS (Child): -
5.4. Status UID: TS-004 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Training Session shall provide a Status such as Planned or Completed.
RELATIONS (Parent): RELATIONS (Child): -
5.5. Relates to People UID: TS-005 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Training Session shall relate to People via a Person relation.
RELATIONS (Parent): RELATIONS (Child): -
5.6. Distance field UID: TS-006 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each running Training Session shall provide a Distance field.
RELATIONS (Parent): RELATIONS (Child): -
5.7. Run Type field UID: TS-007 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each running Training Session shall provide a Run Type field such as easy, very easy, long, tempo, intervals, or 5K pace.
RELATIONS (Parent): RELATIONS (Child): -
5.8. Shoe and Route relations UID: TS-008 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Training Session shall provide a Running Shoe relation and a Running Route relation.
RELATIONS (Parent): RELATIONS (Child): -
19.1. Session relationships UID: REL-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall relate Training Sessions to People, Training Blocks, Races, Running Shoes, Running Routes, Exercise Log, and the source game for hockey.
RELATIONS (Child):
Central activity log with Person, Session Type, Status, Date, Distance, Run Type, and relations to Training Blocks, Races, Running Shoes, Running Routes, and Exercise Log, carrying the Standard Automation Block. See design-schema section 4.
-
7.1. Seed 5-mile hill repeats UID: HIST-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall add a completed Training Session for the 5-mile hill repeats run on an example date.
RELATIONS (Parent): RELATIONS (Child): -
7.2. Seed 11-mile long run UID: HIST-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall add a completed Training Session for the 11-mile long run on an example date.
RELATIONS (Parent): RELATIONS (Child):
Two completed Training Session seed rows: 5-mile hill repeats and 11-mile long run. See design-schema section 4.
-
6.1. Calendar is source of planned runs UID: CAL-001 EARS_TYPE: Ubiquitous VERIFICATION: Demonstration STATEMENT: The system shall use calendar events as the source for planned running sessions.
RELATIONS (Child): -
6.2. Event creates a Training Session UID: CAL-002 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When a calendar event represents a run or race, the system shall create a Training Session for it.
RELATIONS (Parent): RELATIONS (Child): -
6.3. Source is Calendar UID: CAL-003 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When a Training Session is created from a calendar event, the system shall set Source to Calendar.
RELATIONS (Parent): RELATIONS (Child): -
6.4. Source ID is event ID UID: CAL-004 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When a Training Session is created from a calendar event, the system shall set Source ID to the calendar event ID.
RELATIONS (Parent): RELATIONS (Child): -
6.5. External URL from event link UID: CAL-005 EARS_TYPE: Optional VERIFICATION: Test STATEMENT: Where the calendar event provides a link, the system shall set External URL to the calendar event link.
RELATIONS (Parent): RELATIONS (Child): -
6.6. Future events are Planned UID: CAL-006 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When a calendar event is a future event, the system shall set the Training Session Status to Planned.
RELATIONS (Parent): RELATIONS (Child): -
6.7. Session Type Run or Race UID: CAL-007 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When creating a Training Session from a calendar event, the system shall set Session Type to Run or Race as appropriate.
RELATIONS (Parent): RELATIONS (Child): -
6.8. Distance from title when obvious UID: CAL-008 EARS_TYPE: Optional VERIFICATION: Test STATEMENT: Where the distance is obvious from the event title, the system shall populate the Training Session Distance.
RELATIONS (Parent): RELATIONS (Child): -
6.9. Run Type when explicit UID: CAL-009 EARS_TYPE: Optional VERIFICATION: Test STATEMENT: Where the run type is explicitly stated in the event, the system shall set Run Type accordingly.
RELATIONS (Parent): RELATIONS (Child): -
6.10. No inference when implicit UID: CAL-010 EARS_TYPE: Unwanted VERIFICATION: Test STATEMENT: If the run type is not explicitly stated in the event, then the system shall leave Run Type unset.
RELATIONS (Parent): RELATIONS (Child):
Calendar run/race events map to Training Sessions with Source Calendar, Source ID as event ID, External URL from event link, Status Planned for future events, Session Type Run or Race, Distance parsed from title when obvious, and Run Type set only when explicit else left unset. See design-schema section 4.1.
- CAL-001 Calendar is source of planned runs
- CAL-002 Event creates a Training Session
- CAL-003 Source is Calendar
- CAL-004 Source ID is event ID
- CAL-005 External URL from event link
- CAL-006 Future events are Planned
- CAL-007 Session Type Run or Race
- CAL-008 Distance from title when obvious
- CAL-009 Run Type when explicit
- CAL-010 No inference when implicit
-
9.2. Existing game databases are source of truth UID: HOK-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall keep the existing hockey game databases as the source of truth for game data.
RELATIONS (Child): -
9.4. Count only after Attended UID: HOK-004 EARS_TYPE: Ubiquitous VERIFICATION: Test STATEMENT: The system shall only count a hockey game toward training after it is marked Attended.
RELATIONS (Parent): RELATIONS (Child): -
9.5. Game Training Session fields UID: HOK-005 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: A hockey Game Training Session shall provide Attendance Status, Counts Toward Training?, Team, linked source game, RPE, Notes, and Recovery notes.
RELATIONS (Parent): RELATIONS (Child): -
9.6. Default not counted until Attended UID: HOK-006 EARS_TYPE: Ubiquitous VERIFICATION: Test STATEMENT: By default the system shall set a hockey game to not count toward training until it is marked Attended.
RELATIONS (Parent): RELATIONS (Child): -
9.7. Attended marks it counting UID: HOK-007 EARS_TYPE: Event VERIFICATION: Test STATEMENT: When a hockey Game Training Session is marked Attended, the system shall set Counts Toward Training? to true.
RELATIONS (Parent): RELATIONS (Child): -
9.8. Not attended excluded from load UID: HOK-008 EARS_TYPE: Unwanted VERIFICATION: Test STATEMENT: If a hockey game is not marked Attended, then the system shall exclude it from training-load calculations.
RELATIONS (Parent): RELATIONS (Child):
Hockey Game sessions carry Attendance Status, Team, RPE, Notes, Recovery notes, and relations to the external game databases. A Counts Toward Training? formula returns true only when a hockey game is Attended, so unplayed games never inflate training load. See design-schema section 4.
-
8.1. Create Races database UID: RACE-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Races database.
RELATIONS (Parent): RELATIONS (Child): -
8.2. Person and automation fields on races UID: RACE-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Race shall relate to People and carry the standard automation fields where meaningful.
RELATIONS (Parent): RELATIONS (Child): -
8.3. Seed Example Half Marathon UID: RACE-003 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Races database is created, the system shall seed the Example Half Marathon on an example date for Primary User, Type Half Marathon, Goal sub-2 ideal finish strong acceptable, Goal Time 2:00:00, Status Training/Registered.
RELATIONS (Parent): RELATIONS (Child): -
8.4. Seed Example 5K UID: RACE-004 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Races database is created, the system shall seed the Example 5K on an example date for Primary User, Type 5K, Status Registered/Planned.
RELATIONS (Parent): RELATIONS (Child): -
8.5. Runs relate to Race UID: RACE-005 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where a Race has associated training runs, the system shall allow those Training Sessions to relate to the Race.
RELATIONS (Parent): RELATIONS (Child):
Races database with Person, Date, Type, Goal, Goal Time, Status, Days Out formula, relations to Training Blocks/Goals/Training Sessions, and the Standard Automation Block. Seeded with Example Half Marathon and Example 5K. See design-schema section 13.
-
12.1. Create Running Shoes UID: SHO-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Running Shoes database.
RELATIONS (Parent): RELATIONS (Child): -
12.2. Seed an example running shoe UID: SHO-002 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Running Shoes database is created, the system shall seed an example running shoe.
RELATIONS (Parent): RELATIONS (Child): -
12.3. Session to Shoe relation UID: SHO-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Training Session shall provide a Running Shoe relation.
RELATIONS (Parent): RELATIONS (Child): -
12.4. Total mileage rollup UID: SHO-004 EARS_TYPE: Ubiquitous VERIFICATION: Test STATEMENT: The system shall compute total mileage per shoe via a rollup or formula that sums Distance across the Training Sessions related to that shoe.
RELATIONS (Parent): RELATIONS (Child): -
12.5. Garmin gear can improve mileage UID: SHO-005 EARS_TYPE: Optional VERIFICATION: Analysis STATEMENT: Where Garmin gear data becomes available later, the system shall allow that data to improve or override shoe mileage.
RELATIONS (Parent): RELATIONS (Child): -
19.3. Rollups for mileage and load UID: REL-003 EARS_TYPE: Ubiquitous VERIFICATION: Test STATEMENT: The system shall provide rollups such that shoe mileage and hockey training load are derivable without manual tallying.
RELATIONS (Child):
Running Shoes database with Retirement Threshold, a Total Mileage rollup summing related Training Session Distance, and % of Life Used / Status formulas. Seeded with an example running shoe. Garmin gear data can override later. See design-schema section 14.
-
13.1. Create Running Routes UID: RTE-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Running Routes database.
RELATIONS (Parent): RELATIONS (Child): -
13.2. Seed generic routes UID: RTE-002 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Running Routes database is created, the system shall seed generic routes Outdoor Run, Treadmill Run, Race Route, and Unknown/To Assign.
RELATIONS (Parent): RELATIONS (Child): -
13.3. Session to Route relation UID: RTE-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each running Training Session shall provide a Running Route relation.
RELATIONS (Parent): RELATIONS (Child):
Running Routes database with Type, Distance, Description, and a back-relation to Training Sessions. Seeded with four generic routes. See design-schema section 15.
-
17.4. Create Training Blocks UID: BLK-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Training Blocks database representing multi-week training phases.
RELATIONS (Parent): RELATIONS (Child): -
17.5. Sessions relate to Block UID: BLK-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall allow Training Sessions to relate to a Training Block.
RELATIONS (Parent): RELATIONS (Child):
Training Blocks database with date range, Focus, Status, relations to Goals/Races, and rollups over related Training Sessions. See design-schema section 5.
-
17.1. Create Goals UID: GOL-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Goals database.
RELATIONS (Parent): RELATIONS (Child): -
17.2. Goals relate to People including Secondary User UID: GOL-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Goal shall relate to People, including Secondary User.
RELATIONS (Parent): RELATIONS (Child): -
17.3. Goal to Race relation UID: GOL-003 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where a Goal is tied to a race, the system shall allow it to relate to a Race.
RELATIONS (Parent): RELATIONS (Child):
Goals database relating to People (including Secondary User) with Type, Target, Target Date, optional Race relation, and Status. See design-schema section 6.
-
11.1. Create Exercise Library UID: LIB-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create an Exercise Library database cataloguing individual exercises and drills.
RELATIONS (Parent): RELATIONS (Child): -
11.2. Record required equipment UID: LIB-002 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where an exercise requires equipment, the Exercise Library shall record the required equipment drawn from the available set.
RELATIONS (Parent): RELATIONS (Child): -
10.1. Templates reflect available equipment only UID: EQP-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall reflect currently available equipment only in workout templates and exercise library defaults.
RELATIONS (Child): -
10.2. Available equipment set UID: EQP-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall treat bodyweight, outdoor running, dumbbells, resistance bands, treadmill, stationary bike, foam roller, yoga mat, hockey stick, balance boards, shooting pad, cones, bench, and gym access as available.
RELATIONS (Parent): RELATIONS (Child): -
10.3. Treadmill constraints UID: EQP-003 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where the treadmill is referenced, the system shall record its constraints of no incline and fastest pace 8:00 per mile.
RELATIONS (Parent): RELATIONS (Child): -
10.4. Stickhandling ball pending UID: EQP-004 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall mark the stickhandling ball as pending and not currently usable.
RELATIONS (Parent): RELATIONS (Child): -
10.5. No unavailable equipment assumptions UID: EQP-005 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall not assume availability of kettlebells, net, barbell, or medicine ball in any template.
RELATIONS (Parent): RELATIONS (Child):
Exercise Library with Category, Movement Pattern, and an Equipment Required multi-select whose options are restricted to the available-plus-pending set only, so unavailable gear is not selectable. The treadmill option label carries its no-incline and 8:00/mi limits. See design-schema section 7.
-
11.3. Create Workout Templates UID: TMP-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Workout Templates database composed of exercises from the Exercise Library.
RELATIONS (Parent): RELATIONS (Child): -
10.6. No template requires unavailable equipment UID: EQP-006 EARS_TYPE: Unwanted VERIFICATION: Analysis STATEMENT: If a Workout Template would require unavailable equipment, then the system shall not present it as a currently-doable template.
RELATIONS (Parent): RELATIONS (Child):
Workout Templates composed of Exercise Library exercises via an Exercises relation (satisfying TMP-001's "composed of exercises"), plus a Drills relation to Hockey Drills for hockey templates and an Equipment relation; because the equipment set excludes unavailable gear, no template can require it, satisfying the no-unavailable-equipment rule by construction. See design-schema section 8.
-
11.4. Create Exercise Log UID: TMP-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create an Exercise Log database recording performed exercises, relatable to Training Sessions and People.
RELATIONS (Parent): RELATIONS (Child):
Exercise Log relating to Training Sessions and Exercise Library, with Person and Date rolled up from the session, plus sets/reps/weight/distance/duration/RPE. See design-schema section 9.
-
14.1. Create Metrics/Check-ins UID: MET-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Metrics/Check-ins database up front.
RELATIONS (Parent): RELATIONS (Child): -
14.2. Automation fields on metrics UID: MET-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Metrics/Check-ins record shall carry the standard automation fields.
RELATIONS (Parent): RELATIONS (Child): -
14.3. Metrics sources UID: MET-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The Metrics/Check-ins database shall be automation-ready for Garmin, Apple Health, Apple Watch, and Manual.
RELATIONS (Parent): RELATIONS (Child): -
14.4. Metrics relate to People UID: MET-004 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Metrics/Check-ins record shall relate to People.
RELATIONS (Parent): RELATIONS (Child):
Metrics/Check-ins as daily wide rows per person with weight, resting HR, HRV, sleep, readiness, soreness, mood, steps, VO2max, the Standard Automation Block, and sources Garmin/Apple Health/Apple Watch/Manual. See design-schema section 10.
-
15.1. Create Nutrition Log UID: NUT-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Nutrition Log database up front.
RELATIONS (Parent): RELATIONS (Child): -
15.2. Automation fields on nutrition UID: NUT-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Nutrition Log record shall carry the standard automation fields.
RELATIONS (Parent): RELATIONS (Child): -
15.3. Nutrition sources UID: NUT-003 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The Nutrition Log database shall be automation-ready for MyFitnessPal and Manual.
RELATIONS (Parent): RELATIONS (Child): -
15.4. CSV and API import later UID: NUT-004 EARS_TYPE: Optional VERIFICATION: Analysis STATEMENT: Where bulk historical data exists, the system shall support later CSV or API imports into the Nutrition Log.
RELATIONS (Parent): RELATIONS (Child): -
15.5. Nutrition relates to People UID: NUT-005 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Each Nutrition Log record shall relate to People.
RELATIONS (Parent): RELATIONS (Child):
Nutrition Log per person with Date, Meal, macros, the Standard Automation Block, sources MyFitnessPal/Manual, and support for later CSV/API import. See design-schema section 11.
-
16.1. Create Weekly Reviews UID: WKR-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Weekly Reviews database now.
RELATIONS (Parent): RELATIONS (Child): -
16.2. Manual at first UID: WKR-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall allow Weekly Reviews to be filled in manually initially.
RELATIONS (Parent): RELATIONS (Child): -
16.3. Automatable later UID: WKR-003 EARS_TYPE: Optional VERIFICATION: Analysis STATEMENT: Where automation is added later, the system shall allow Weekly Reviews to be populated automatically.
RELATIONS (Parent): RELATIONS (Child):
Weekly Reviews per person, manual numeric fields at first with narrative Wins/Challenges/Focus, automatable later. See design-schema section 12.
-
18.1. Create Hockey Drills UID: DRL-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Hockey Drills database.
RELATIONS (Parent): RELATIONS (Child): -
18.2. Drill equipment excludes net UID: DRL-002 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where a Hockey Drill requires equipment, the system shall reference only available equipment such as stick, shooting pad, cones, and balance boards, and not a net.
RELATIONS (Parent): RELATIONS (Child):
Hockey Drills with Category and an Equipment Required multi-select limited to stick, shooting pad, cones, balance boards, and pending stickhandling ball, with no net option. See design-schema section 16.
-
18.3. Create Resources UID: RES-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Resources database for reference material.
RELATIONS (Parent): RELATIONS (Child):
Resources reference database with Type, URL, Topic, and Notes. See design-schema section 16.
-
19.2. Metrics and Nutrition relate to People UID: REL-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall relate Metrics/Check-ins and Nutrition Log to People.
RELATIONS (Child): -
2.6. Person relation on attributable databases UID: PEO-006 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: Every database that records person-attributable data shall relate to People via a Person relation rather than free text.
RELATIONS (Parent): RELATIONS (Child):
Ownership and cardinality of all relations, ensuring Metrics and Nutrition relate to People and that shoe mileage and hockey load are derivable via rollups rather than manual tally. See design-schema section 17.
-
10.5. No unavailable equipment assumptions UID: EQP-005 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall not assume availability of kettlebells, net, barbell, or medicine ball in any template.
RELATIONS (Parent): RELATIONS (Child):
Availability is enforced by restricting Exercise Library / Hockey Drills equipment option lists rather than modeling an Equipment database, since the requirements mandate exactly fifteen databases and Equipment is not one.
Keeps to the baselined database list; unavailable gear is unselectable. Alternative (Equipment as a 16th database with an Availability status) is a candidate change request if inventory tracking is later wanted.
-
8.3. Seed Example Half Marathon UID: RACE-003 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Races database is created, the system shall seed the Example Half Marathon on an example date for Primary User, Type Half Marathon, Goal sub-2 ideal finish strong acceptable, Goal Time 2:00:00, Status Training/Registered.
RELATIONS (Parent): RELATIONS (Child):
Notion has no duration type, so Goal Time / Result Time are text H:MM:SS with an optional numeric seconds field where math is needed.
-
9.2. Existing game databases are source of truth UID: HOK-002 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall keep the existing hockey game databases as the source of truth for game data.
RELATIONS (Child):
Notion relations are single-target and the two game databases are separate sources of truth, so Training Sessions carry two relation properties disambiguated by Team.
-
14.1. Create Metrics/Check-ins UID: MET-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall create a Metrics/Check-ins database up front.
RELATIONS (Parent): RELATIONS (Child):
Metrics/Check-ins are one wide row per person per day, optimized for manual entry; high-frequency wearable streams would use a long-format companion added when an integration lands.
-
8.3. Seed Example Half Marathon UID: RACE-003 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Races database is created, the system shall seed the Example Half Marathon on an example date for Primary User, Type Half Marathon, Goal sub-2 ideal finish strong acceptable, Goal Time 2:00:00, Status Training/Registered.
RELATIONS (Parent): RELATIONS (Child): -
8.4. Seed Example 5K UID: RACE-004 EARS_TYPE: Event VERIFICATION: Inspection STATEMENT: When the Races database is created, the system shall seed the Example 5K on an example date for Primary User, Type 5K, Status Registered/Planned.
RELATIONS (Parent): RELATIONS (Child):
The compound seed statuses Training/Registered and Registered/Planned are preserved as literal select options alongside atomic options so the seeds match the requirements exactly.
-
20.1. Health data kept private UID: NFR-PRIV-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall keep personal health and fitness data for Primary User and Secondary User within the private Notion workspace and shall not expose it publicly.
RELATIONS (Child): -
20.2. Least-scope integrations UID: NFR-PRIV-002 EARS_TYPE: Optional VERIFICATION: Inspection STATEMENT: Where a third-party integration is added, the system shall request only the minimum data scopes required for that integration.
RELATIONS (Child):
Data lives in the private Notion workspace (not public); integrations request only the minimum scopes. See design-schema automation contract.
-
20.3. Backup and recovery UID: NFR-BKP-001 EARS_TYPE: Ubiquitous VERIFICATION: Demonstration STATEMENT: The system shall support periodic export of its data so that training records are recoverable after accidental loss.
RELATIONS (Child): -
20.4. Data portability UID: NFR-PORT-001 EARS_TYPE: Ubiquitous VERIFICATION: Analysis STATEMENT: The system shall keep its data API-accessible and exportable so it can be migrated off Notion if required.
RELATIONS (Child): -
20.7. Indefinite history retention UID: NFR-RET-001 EARS_TYPE: Ubiquitous VERIFICATION: Inspection STATEMENT: The system shall retain historical training data indefinitely, with no automatic deletion, to preserve long-term trends.
RELATIONS (Child):
Periodic Notion export provides backup and recovery; data stays API-accessible and exportable for portability; no automatic deletion so history is retained indefinitely.
-
20.5. Responsive rollups at expected volume UID: NFR-PERF-001 EARS_TYPE: Ubiquitous VERIFICATION: Analysis STATEMENT: The dashboard and key rollups shall remain responsive at the expected single-user data volume of low hundreds of records.
RELATIONS (Child): -
20.6. Mobile low-effort capture UID: NFR-USE-001 EARS_TYPE: Ubiquitous VERIFICATION: Demonstration STATEMENT: The system shall be usable on the Notion mobile apps so that data capture is low-effort across devices.
RELATIONS (Child):
Single-user, low-hundreds data volume keeps rollups responsive; the Notion mobile apps provide low-effort cross-device capture.