-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
3.3. Create even if used later ARCH-003 Where a database will be used later but not immediately, the system shall still create it now with its schema in place.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
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 NAV-001 The system shall be created as a Notion page titled "Personal Training OS".
-
1.2. Child of Personal Dashboard NAV-002 The system shall exist as a child page under the "Personal Dashboard" page.
-
1.3. Link below Inbox NAV-003 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.
-
1.1. Personal Training OS page NAV-001 The system shall be created as a Notion page titled "Personal Training OS".
-
-
1.4. Entry points to all databases NAV-004 The system shall present, from its top-level page, entry points to every database.
-
1.1. Personal Training OS page NAV-001 The system shall be created as a Notion page titled "Personal Training OS".
-
-
3.2. Linked references to existing game databases ARCH-002 The system shall provide linked or embedded references to the existing Team A games and Team B games databases without recreating them.
-
9.1. Both teams equal HOK-001 The system shall treat both teams, Team A and Team B, equally.
-
9.3. Linked views for both teams HOK-003 The system shall present linked views for both teams on the dashboard.
-
9.1. Both teams equal HOK-001 The system shall treat both teams, Team A and Team B, equally.
-
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 AUTO-001 The system shall build automation fields into key databases at creation time.
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
4.3. Source vocabulary AUTO-003 The Source field shall be a select whose options include Garmin, MyFitnessPal, Apple Health, Apple Watch, Strava, Calendar, Manual, Notion, and Hockey DB.
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
4.4. Manual default source AUTO-004 When a record is created by hand rather than an integration, the system shall default its Source to Manual.
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
4.5. Manual override blocks overwrite AUTO-005 While a record's Manual Override is set, the system shall not permit an automated sync to overwrite that record's fields.
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
4.6. Sync populates provenance fields AUTO-006 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.
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
4.7. Failure surfaces in Sync Status AUTO-007 If an automated sync fails or is incomplete for a record, then the system shall reflect the failure in that record's Sync Status.
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
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 PEO-001 The system shall create a People database.
-
2.2. People as primary identity model PEO-002 The system shall use People as the primary identity model for the entire system.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
-
2.3. Seed Primary User and Secondary User PEO-003 When the People database is created, the system shall seed two people, Primary User and Secondary User.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
-
2.4. Optional Notion User and external IDs PEO-004 Where a person record supports automation, the People database shall provide optional Notion User and external ID fields for that person.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
-
2.5. Secondary User first-class across areas PEO-005 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.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
-
2.6. Person relation on attributable databases PEO-006 Every database that records person-attributable data shall relate to People via a Person relation rather than free text.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
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 TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
5.2. Automation fields on sessions TS-002 Each Training Session shall carry the standard automation fields.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
5.3. Session Type TS-003 Each Training Session shall provide a Session Type such as Run, Race, Workout, or Hockey Game.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
5.4. Status TS-004 Each Training Session shall provide a Status such as Planned or Completed.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
5.5. Relates to People TS-005 Each Training Session shall relate to People via a Person relation.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
2.6. Person relation on attributable databases PEO-006 Every database that records person-attributable data shall relate to People via a Person relation rather than free text.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
-
-
5.6. Distance field TS-006 Each running Training Session shall provide a Distance field.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
5.7. Run Type field TS-007 Each running Training Session shall provide a Run Type field such as easy, very easy, long, tempo, intervals, or 5K pace.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
5.8. Shoe and Route relations TS-008 Each Training Session shall provide a Running Shoe relation and a Running Route relation.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
19.1. Session relationships REL-001 The system shall relate Training Sessions to People, Training Blocks, Races, Running Shoes, Running Routes, Exercise Log, and the source game for hockey.
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 HIST-001 The system shall add a completed Training Session for the 5-mile hill repeats run on an example date.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
7.2. Seed 11-mile long run HIST-002 The system shall add a completed Training Session for the 11-mile long run on an example date.
-
5.1. Create Training Sessions TS-001 The system shall create a Training Sessions database as the central log of all training activity.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 CAL-001 The system shall use calendar events as the source for planned running sessions.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
6.3. Source is Calendar CAL-003 When a Training Session is created from a calendar event, the system shall set Source to Calendar.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.4. Source ID is event ID CAL-004 When a Training Session is created from a calendar event, the system shall set Source ID to the calendar event ID.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.5. External URL from event link CAL-005 Where the calendar event provides a link, the system shall set External URL to the calendar event link.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.6. Future events are Planned CAL-006 When a calendar event is a future event, the system shall set the Training Session Status to Planned.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.7. Session Type Run or Race CAL-007 When creating a Training Session from a calendar event, the system shall set Session Type to Run or Race as appropriate.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.8. Distance from title when obvious CAL-008 Where the distance is obvious from the event title, the system shall populate the Training Session Distance.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.9. Run Type when explicit CAL-009 Where the run type is explicitly stated in the event, the system shall set Run Type accordingly.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
-
6.10. No inference when implicit CAL-010 If the run type is not explicitly stated in the event, then the system shall leave Run Type unset.
-
6.2. Event creates a Training Session CAL-002 When a calendar event represents a run or race, the system shall create a Training Session for it.
-
6.1. Calendar is source of planned runs CAL-001 The system shall use calendar events as the source for planned running sessions.
-
-
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.
-
9.2. Existing game databases are source of truth HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
-
9.4. Count only after Attended HOK-004 The system shall only count a hockey game toward training after it is marked Attended.
-
9.2. Existing game databases are source of truth HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
-
-
9.5. Game Training Session fields HOK-005 A hockey Game Training Session shall provide Attendance Status, Counts Toward Training?, Team, linked source game, RPE, Notes, and Recovery notes.
-
9.2. Existing game databases are source of truth HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
-
-
9.6. Default not counted until Attended HOK-006 By default the system shall set a hockey game to not count toward training until it is marked Attended.
-
9.4. Count only after Attended HOK-004 The system shall only count a hockey game toward training after it is marked Attended.
-
9.2. Existing game databases are source of truth HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
-
-
-
9.7. Attended marks it counting HOK-007 When a hockey Game Training Session is marked Attended, the system shall set Counts Toward Training? to true.
-
9.4. Count only after Attended HOK-004 The system shall only count a hockey game toward training after it is marked Attended.
-
9.2. Existing game databases are source of truth HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
-
-
-
9.8. Not attended excluded from load HOK-008 If a hockey game is not marked Attended, then the system shall exclude it from training-load calculations.
-
9.4. Count only after Attended HOK-004 The system shall only count a hockey game toward training after it is marked Attended.
-
9.2. Existing game databases are source of truth HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
-
-
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 RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
8.2. Person and automation fields on races RACE-002 Each Race shall relate to People and carry the standard automation fields where meaningful.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
8.3. Seed Example Half Marathon RACE-003 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.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
8.4. Seed Example 5K RACE-004 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.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
8.5. Runs relate to Race RACE-005 Where a Race has associated training runs, the system shall allow those Training Sessions to relate to the Race.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 SHO-001 The system shall create a Running Shoes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
12.2. Seed an example running shoe SHO-002 When the Running Shoes database is created, the system shall seed an example running shoe.
-
12.1. Create Running Shoes SHO-001 The system shall create a Running Shoes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
12.3. Session to Shoe relation SHO-003 Each Training Session shall provide a Running Shoe relation.
-
12.1. Create Running Shoes SHO-001 The system shall create a Running Shoes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
12.4. Total mileage rollup SHO-004 The system shall compute total mileage per shoe via a rollup or formula that sums Distance across the Training Sessions related to that shoe.
-
12.1. Create Running Shoes SHO-001 The system shall create a Running Shoes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
12.5. Garmin gear can improve mileage SHO-005 Where Garmin gear data becomes available later, the system shall allow that data to improve or override shoe mileage.
-
12.1. Create Running Shoes SHO-001 The system shall create a Running Shoes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
19.3. Rollups for mileage and load REL-003 The system shall provide rollups such that shoe mileage and hockey training load are derivable without manual tallying.
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 RTE-001 The system shall create a Running Routes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
13.2. Seed generic routes RTE-002 When the Running Routes database is created, the system shall seed generic routes Outdoor Run, Treadmill Run, Race Route, and Unknown/To Assign.
-
13.1. Create Running Routes RTE-001 The system shall create a Running Routes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
13.3. Session to Route relation RTE-003 Each running Training Session shall provide a Running Route relation.
-
13.1. Create Running Routes RTE-001 The system shall create a Running Routes database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 BLK-001 The system shall create a Training Blocks database representing multi-week training phases.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
17.5. Sessions relate to Block BLK-002 The system shall allow Training Sessions to relate to a Training Block.
-
17.4. Create Training Blocks BLK-001 The system shall create a Training Blocks database representing multi-week training phases.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 GOL-001 The system shall create a Goals database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
17.2. Goals relate to People including Secondary User GOL-002 Each Goal shall relate to People, including Secondary User.
-
17.1. Create Goals GOL-001 The system shall create a Goals database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
17.3. Goal to Race relation GOL-003 Where a Goal is tied to a race, the system shall allow it to relate to a Race.
-
17.1. Create Goals GOL-001 The system shall create a Goals database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 LIB-001 The system shall create an Exercise Library database cataloguing individual exercises and drills.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
11.2. Record required equipment LIB-002 Where an exercise requires equipment, the Exercise Library shall record the required equipment drawn from the available set.
-
11.1. Create Exercise Library LIB-001 The system shall create an Exercise Library database cataloguing individual exercises and drills.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
10.2. Available equipment set EQP-002 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.
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
-
10.3. Treadmill constraints EQP-003 Where the treadmill is referenced, the system shall record its constraints of no incline and fastest pace 8:00 per mile.
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
-
10.4. Stickhandling ball pending EQP-004 The system shall mark the stickhandling ball as pending and not currently usable.
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
-
10.5. No unavailable equipment assumptions EQP-005 The system shall not assume availability of kettlebells, net, barbell, or medicine ball in any template.
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
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 TMP-001 The system shall create a Workout Templates database composed of exercises from the Exercise Library.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
10.6. No template requires unavailable equipment EQP-006 If a Workout Template would require unavailable equipment, then the system shall not present it as a currently-doable template.
-
10.5. No unavailable equipment assumptions EQP-005 The system shall not assume availability of kettlebells, net, barbell, or medicine ball in any template.
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
-
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 TMP-002 The system shall create an Exercise Log database recording performed exercises, relatable to Training Sessions and People.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
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 MET-001 The system shall create a Metrics/Check-ins database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
14.2. Automation fields on metrics MET-002 Each Metrics/Check-ins record shall carry the standard automation fields.
-
14.1. Create Metrics/Check-ins MET-001 The system shall create a Metrics/Check-ins database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
14.3. Metrics sources MET-003 The Metrics/Check-ins database shall be automation-ready for Garmin, Apple Health, Apple Watch, and Manual.
-
14.1. Create Metrics/Check-ins MET-001 The system shall create a Metrics/Check-ins database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
14.4. Metrics relate to People MET-004 Each Metrics/Check-ins record shall relate to People.
-
14.1. Create Metrics/Check-ins MET-001 The system shall create a Metrics/Check-ins database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 NUT-001 The system shall create a Nutrition Log database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
15.2. Automation fields on nutrition NUT-002 Each Nutrition Log record shall carry the standard automation fields.
-
15.1. Create Nutrition Log NUT-001 The system shall create a Nutrition Log database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
4.2. Standard automation field set AUTO-002 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.
-
4.1. Build automation fields in now AUTO-001 The system shall build automation fields into key databases at creation time.
-
-
-
15.3. Nutrition sources NUT-003 The Nutrition Log database shall be automation-ready for MyFitnessPal and Manual.
-
15.1. Create Nutrition Log NUT-001 The system shall create a Nutrition Log database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
15.4. CSV and API import later NUT-004 Where bulk historical data exists, the system shall support later CSV or API imports into the Nutrition Log.
-
15.1. Create Nutrition Log NUT-001 The system shall create a Nutrition Log database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
15.5. Nutrition relates to People NUT-005 Each Nutrition Log record shall relate to People.
-
15.1. Create Nutrition Log NUT-001 The system shall create a Nutrition Log database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 WKR-001 The system shall create a Weekly Reviews database now.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
16.2. Manual at first WKR-002 The system shall allow Weekly Reviews to be filled in manually initially.
-
16.1. Create Weekly Reviews WKR-001 The system shall create a Weekly Reviews database now.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
16.3. Automatable later WKR-003 Where automation is added later, the system shall allow Weekly Reviews to be populated automatically.
-
16.1. Create Weekly Reviews WKR-001 The system shall create a Weekly Reviews database now.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 DRL-001 The system shall create a Hockey Drills database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
18.2. Drill equipment excludes net DRL-002 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.
-
18.1. Create Hockey Drills DRL-001 The system shall create a Hockey Drills database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 RES-001 The system shall create a Resources database for reference material.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
Resources reference database with Type, URL, Topic, and Notes. See design-schema section 16.
-
19.2. Metrics and Nutrition relate to People REL-002 The system shall relate Metrics/Check-ins and Nutrition Log to People.
-
2.6. Person relation on attributable databases PEO-006 Every database that records person-attributable data shall relate to People via a Person relation rather than free text.
-
2.1. Create People database PEO-001 The system shall create a People database.
-
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 EQP-005 The system shall not assume availability of kettlebells, net, barbell, or medicine ball in any template.
-
10.1. Templates reflect available equipment only EQP-001 The system shall reflect currently available equipment only in workout templates and exercise library defaults.
-
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.
-
8.3. Seed Example Half Marathon RACE-003 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.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 HOK-002 The system shall keep the existing hockey game databases as the source of truth for game data.
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 MET-001 The system shall create a Metrics/Check-ins database up front.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
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 RACE-003 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.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
-
8.4. Seed Example 5K RACE-004 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.
-
8.1. Create Races database RACE-001 The system shall create a Races database.
-
3.1. Create all databases up front ARCH-001 The system shall create the full set of databases at build time regardless of immediate use.
-
-
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 NFR-PRIV-001 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.
-
20.2. Least-scope integrations NFR-PRIV-002 Where a third-party integration is added, the system shall request only the minimum data scopes required for that integration.
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 NFR-BKP-001 The system shall support periodic export of its data so that training records are recoverable after accidental loss.
-
20.4. Data portability NFR-PORT-001 The system shall keep its data API-accessible and exportable so it can be migrated off Notion if required.
-
20.7. Indefinite history retention NFR-RET-001 The system shall retain historical training data indefinitely, with no automatic deletion, to preserve long-term trends.
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 NFR-PERF-001 The dashboard and key rollups shall remain responsive at the expected single-user data volume of low hundreds of records.
-
20.6. Mobile low-effort capture NFR-USE-001 The system shall be usable on the Notion mobile apps so that data capture is low-effort across devices.
Single-user, low-hundreds data volume keeps rollups responsive; the Notion mobile apps provide low-effort cross-device capture.