addedInput schema / properties / avg_cadence_spm
Added value: +{
+ "description": "Average running cadence in steps/min only when known.",
+ "type": "number"
+}
changedInput schema / properties / avg_hr / description
Previous value: -"Average heart rate. Optional — include if the user mentions it."New value: +"Average heart rate only when known."
addedInput schema / properties / avg_power_w
Added value: +{
+ "description": "Average running power in watts only when known.",
+ "type": "number"
+}
changedInput schema / properties / date / description
Previous value: -"Date of the run. Format: YYYY-MM-DD. Required — default to today."New value: +"YYYY-MM-DD. Completed runs default to today when context allows; planned runs use the intended date when known."
changedInput schema / properties / distance_mi / description
Previous value: -"Distance in MILES, always — regardless of the user’s display unit. Convert from km if needed (km ÷ 1.609344). Required."New value: +"Distance. In mi, or km with input_distance_unit set. See UNIT INPUTS."
changedInput schema / properties / duration_sec / description
Previous value: -"Duration in seconds. Required — convert from whatever format the user provides (minutes, h:mm:ss, etc)."New value: +"Moving/workout duration in seconds."
addedInput schema / properties / elapsed_sec
Added value: +{
+ "description": "Wall-clock elapsed time including pauses, only when known.",
+ "type": "integer"
+}
addedInput schema / properties / elevation_gain_m
Added value: +{
+ "description": "Elevation gain in metres only when known.",
+ "type": "number"
+}
addedInput schema / properties / input_distance_unit
Added value: +{
+ "description": "Set to km when the user gave km for the _mi fields in this object. Omit when they are already mi.",
+ "enum": [
+ "mi",
+ "km"
+ ],
+ "type": "string"
+}
addedInput schema / properties / intent
Added value: +{
+ "description": "log = completed run; plan = future run. Elias uses plan for a workout the runner has not done yet.",
+ "enum": [
+ "log",
+ "plan"
+ ],
+ "type": "string"
+}
removedInput schema / properties / notes / description
Removed value: -"Free-text notes. Optional."
addedInput schema / properties / pain_notes
Added value: +{
+ "description": "Pain/discomfort exactly as the runner described it.",
+ "type": "string"
+}
addedInput schema / properties / perceived_effort
Added value: +{
+ "description": "Post-run check-in only.",
+ "enum": [
+ "too_easy",
+ "about_right",
+ "too_hard"
+ ],
+ "type": "string"
+}
addedInput schema / properties / rpe
Added value: +{
+ "description": "RPE 1-10. For a plan this is target RPE.",
+ "maximum": 10,
+ "minimum": 1,
+ "type": "number"
+}
changedInput schema / properties / run_type / description
Previous value: -"Type of run. Optional — infer from context if obvious."New value: +"Classify only when the runner or workout structure supports it. Do not turn an unspecified wearable run into easy."
changedInput schema / properties / run_type / enum
Previous value: -[
- "easy",
- "long",
- "tempo",
- "interval",
- "recovery",
- "race"
-]New value: +[
+ "easy",
+ "long",
+ "tempo",
+ "interval",
+ "recovery",
+ "race",
+ "fartlek",
+ "threshold",
+ "progression",
+ "hills",
+ "other"
+]
addedInput schema / properties / segments
Added value: +{
+ "description": "Workout structure, e.g. warmup, 6x800m threshold, recovery, cooldown. This may describe a plan or what was actually performed.",
+ "items": {
+ "properties": {
+ "distance_mi": {
+ "description": "In mi, or km with input_distance_unit set. See UNIT INPUTS.",
+ "type": "number"
+ },
+ "duration_sec": {
+ "type": "integer"
+ },
+ "input_distance_unit": {
+ "description": "Set to km when the user gave km for the _mi fields in this object. Omit when they are already mi.",
+ "enum": [
+ "mi",
+ "km"
+ ],
+ "type": "string"
+ },
+ "kind": {
+ "enum": [
+ "warmup",
+ "easy",
+ "steady",
+ "tempo",
+ "threshold",
+ "interval",
+ "recovery",
+ "hill",
+ "cooldown",
+ "other"
+ ],
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "notes": {
+ "type": "string"
+ },
+ "repeats": {
+ "type": "integer"
+ },
+ "target_hr_max": {
+ "type": "integer"
+ },
+ "target_hr_min": {
+ "type": "integer"
+ },
+ "target_pace_sec_per_mi": {
+ "description": "In mi, or km with input_distance_unit set. See UNIT INPUTS.",
+ "type": "number"
+ }
+ },
+ "required": [
+ "name",
+ "kind"
+ ],
+ "type": "object"
+ },
+ "maxItems": 50,
+ "type": "array"
+}
addedInput schema / properties / splits
Added value: +{
+ "description": "Actual splits/laps only when supplied by the runner/source. Never invent.",
+ "items": {
+ "properties": {
+ "avg_cadence_spm": {
+ "type": "number"
+ },
+ "avg_hr": {
+ "type": "integer"
+ },
+ "avg_power_w": {
+ "type": "number"
+ },
+ "distance_mi": {
+ "description": "In mi, or km with input_distance_unit set. See UNIT INPUTS.",
+ "type": "number"
+ },
+ "duration_sec": {
+ "type": "integer"
+ },
+ "elevation_change_m": {
+ "type": "number"
+ },
+ "index": {
+ "type": "integer"
+ },
+ "input_distance_unit": {
+ "description": "Set to km when the user gave km for the _mi fields in this object. Omit when they are already mi.",
+ "enum": [
+ "mi",
+ "km"
+ ],
+ "type": "string"
+ }
+ },
+ "required": [
+ "index"
+ ],
+ "type": "object"
+ },
+ "maxItems": 100,
+ "type": "array"
+}
addedInput schema / properties / start_time
Added value: +{
+ "description": "Local HH:MM only when known.",
+ "type": "string"
+}
removedInput schema / properties / surface / description
Removed value: -"Running surface. Optional — infer only if stated. Use \"other\" for indoor, airport, mall, etc."
changedInput schema / required
Previous value: -[
- "date",
- "distance_mi",
- "duration_sec"
-]New value: +[
+ "intent"
+]