← Garage CoachV13

AI Authoring Spec

Garage Coach V13 CSV grammar and formatting rules.

1. Purpose

Garage Coach is a deterministic workout execution engine. It expands CSV-defined sessions into structured timed and rep-based steps. This specification defines the exact grammar required for valid CSV generation.

2. Critical Output Rules

These rules are non-negotiable.
  • The first line must be the exact required header.
  • The header must match character-for-character including all 16 columns.
  • The header must be the only content on line 1.
  • Each workout row must be on its own new line.
  • The CSV must contain exactly 16 comma-separated columns per row.
  • Columns must not be reordered, renamed, added, or removed.
  • No quotation marks anywhere in the CSV.
  • No commas inside any field values.
  • No commentary or notes inside any field.
  • Output only CSV data. No explanations.

Exact required header

session_id,plan_id,exercise_id,type,name,sets,reps,load_value,load_unit,load_increment,star_enabled,time,rest,group_id,group_pos,group_rest

3. Allowed type Values

Strict enum:

  • warmup
  • exercise
  • stretch
  • rest

4. Structural Encoding Rules

  • Rest between sets: use the rest column.
  • Rest between exercises: insert a type=rest row.
  • Supersets and round-based circuits: use group_id, group_pos, and group_rest.
  • Do not use group_id for blocks or phases.
  • If the workout says rounds or circuit, encode as a group, not sets.
  • EMOM: encode as sequential timed rows with time=60.
  • Timed holds: use the time column, not reps.
  • Rep-based steps are manually completed by the user.
  • Numeric columns must contain numeric values only.
  • Leave load_value blank for bodyweight movements. Default load_unit is kg.
  • Always include required rests where needed.
  • Do not add a final rest row at the end of the session.

5. Whitespace & Formatting Discipline

  • Blank fields must be truly blank with no spaces.
  • No trailing spaces at end of lines.
  • Each row must contain exactly 15 commas, giving 16 columns.
  • No row may be combined onto a single line.

6. Exercise ID Rules

  • exercise_id must be present for all non-rest rows.
  • exercise_id must not contain spaces.
  • Left/right variations should use unique exercise_id values.
  • Each row should have a stable identifier.

7. Transition Rest Policy

Garage Coach does not assume rest between exercises. If transition recovery is required, insert a dedicated type=rest row.

8. Example Superset Encoding

TUE,SS1_A,incline_press,exercise,Incline Press,3,8,,kg,,1,,0,SS1,1,75
TUE,SS1_B,row,exercise,Row,3,10,,kg,,1,,0,SS1,2,75

9. Example Transition Rest Row

TUE,R_001,,rest,Transition Rest,1,,,kg,,0,60,,,,