Tool tree
gradeNot graded
get_coaching_briefingAnswer
Start here for the bounded Coaching Briefing and structured interaction contract for this workspace.
View tool JSON
{
"name": "get_coaching_briefing",
"kind": "answer",
"impl": "imperative",
"description": "Start here for the bounded Coaching Briefing and structured interaction contract for this workspace.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}get_training_planAnswer
Retrieve the relevant date range from the current planVersion; use returned Planned Workout IDs in later calls and proposals.
View tool JSON
{
"name": "get_training_plan",
"kind": "answer",
"impl": "imperative",
"description": "Retrieve the relevant date range from the current planVersion; use returned Planned Workout IDs in later calls and proposals.",
"inputSchema": {
"type": "object",
"properties": {
"from": {
"type": "string",
"format": "date",
"description": "First Planned Workout date to include, YYYY-MM-DD."
},
"to": {
"type": "string",
"format": "date",
"description": "Last Planned Workout date to include, YYYY-MM-DD."
}
},
"required": [
"from",
"to"
],
"additionalProperties": false
}
}get_workout_contextAnswer
Inspect the prescription, result, and feedback for one returned Planned Workout ID before explaining what happened.
View tool JSON
{
"name": "get_workout_context",
"kind": "answer",
"impl": "imperative",
"description": "Inspect the prescription, result, and feedback for one returned Planned Workout ID before explaining what happened.",
"inputSchema": {
"type": "object",
"properties": {
"workoutId": {
"type": "string",
"minLength": 1,
"description": "Stable Planned Workout ID returned by get_training_plan."
}
},
"required": [
"workoutId"
],
"additionalProperties": false
}
}record_athlete_feedbackAction
Record the current Athlete message when it reports new workout experience; preserve the raw words and only explicitly stated structured fields before proposing related changes. The result includes evidenceRef; reuse that value verbatim in a later adaptation proposal. Reusing the same requestId returns the original feedback without recording twice.
View tool JSON
{
"name": "record_athlete_feedback",
"kind": "act",
"impl": "imperative",
"description": "Record the current Athlete message when it reports new workout experience; preserve the raw words and only explicitly stated structured fields before proposing related changes. The result includes evidenceRef; reuse that value verbatim in a later adaptation proposal. Reusing the same requestId returns the original feedback without recording twice.",
"inputSchema": {
"type": "object",
"properties": {
"requestId": {
"type": "string",
"minLength": 1,
"description": "Stable idempotency key for this feedback report."
},
"relatedWorkoutId": {
"type": "string",
"minLength": 1,
"description": "Stable Planned Workout ID returned by get_training_plan."
},
"rawText": {
"type": "string",
"minLength": 1,
"description": "The Athlete’s natural-language statement, unchanged."
},
"reported": {
"type": "object",
"properties": {
"sessionRpe": {
"type": "number",
"minimum": 0,
"maximum": 10
},
"legFeel": {
"type": "string",
"minLength": 1
},
"painReported": {
"type": "boolean"
},
"stoppedReason": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
}
},
"required": [
"requestId",
"relatedWorkoutId",
"rawText"
],
"additionalProperties": false
}
}open_workout_adaptation_reviewAction
Submit evidence-grounded rationale and exactly two ranked, structurally different options; open the on-page review; never apply a plan directly; the call returns immediately.
View tool JSON
{
"name": "open_workout_adaptation_review",
"kind": "act",
"impl": "imperative",
"description": "Submit evidence-grounded rationale and exactly two ranked, structurally different options; open the on-page review; never apply a plan directly; the call returns immediately.",
"inputSchema": {
"type": "object",
"properties": {
"reviewId": {
"type": "string",
"minLength": 1
},
"sourceWorkoutId": {
"type": "string",
"minLength": 1
},
"expectedPlanVersion": {
"type": "integer",
"minimum": 1
},
"evidenceRefs": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"rationale": {
"type": "object",
"properties": {
"summary": {
"type": "string",
"minLength": 1
},
"counterEvidence": {
"type": "string",
"minLength": 1
},
"confidence": {
"type": "string",
"enum": [
"low",
"moderate",
"high"
]
},
"limitations": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"minLength": 1
}
}
},
"required": [
"summary",
"counterEvidence",
"confidence",
"limitations"
],
"additionalProperties": false
},
"recommended": {
"$ref": "#/$defs/adaptationOption"
},
"alternative": {
"$ref": "#/$defs/adaptationOption"
}
},
"required": [
"reviewId",
"sourceWorkoutId",
"expectedPlanVersion",
"evidenceRefs",
"rationale",
"recommended",
"alternative"
],
"additionalProperties": false,
"$defs": {
"prescription": {
"type": "object",
"properties": {
"blocks": {
"type": "array",
"minItems": 1,
"items": {
"type": "object"
}
}
},
"required": [
"blocks"
],
"additionalProperties": false
},
"workoutChange": {
"oneOf": [
{
"type": "object",
"properties": {
"kind": {
"const": "create"
},
"workout": {
"type": "object"
}
},
"required": [
"kind",
"workout"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"const": "update"
},
"workoutId": {
"type": "string",
"minLength": 1
},
"changes": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date"
},
"title": {
"type": "string",
"minLength": 1
},
"purpose": {
"type": "string",
"minLength": 1
},
"distanceKm": {
"type": "number",
"exclusiveMinimum": 0
},
"prescription": {
"$ref": "#/$defs/prescription"
}
},
"minProperties": 1,
"additionalProperties": false
}
},
"required": [
"kind",
"workoutId",
"changes"
],
"additionalProperties": false
},
{
"type": "object",
"properties": {
"kind": {
"const": "delete"
},
"workoutId": {
"type": "string",
"minLength": 1
}
},
"required": [
"kind",
"workoutId"
],
"additionalProperties": false
}
]
},
"adaptationOption": {
"type": "object",
"properties": {
"optionId": {
"type": "string",
"minLength": 1
},
"label": {
"type": "string",
"minLength": 1
},
"summary": {
"type": "string",
"minLength": 1
},
"tradeoff": {
"type": "string",
"minLength": 1
},
"workoutChanges": {
"type": "array",
"minItems": 1,
"items": {
"$ref": "#/$defs/workoutChange"
}
}
},
"required": [
"optionId",
"label",
"summary",
"tradeoff",
"workoutChanges"
],
"additionalProperties": false
}
}
}
}read_workout_adaptation_decisionAnswer
Use the same reviewId after opening; poll only as needed until approved, declined, discuss_further, or cancelled; return the Athlete-controlled terminal outcome.
View tool JSON
{
"name": "read_workout_adaptation_decision",
"kind": "answer",
"impl": "imperative",
"description": "Use the same reviewId after opening; poll only as needed until approved, declined, discuss_further, or cancelled; return the Athlete-controlled terminal outcome.",
"inputSchema": {
"type": "object",
"properties": {
"reviewId": {
"type": "string",
"minLength": 1
}
},
"required": [
"reviewId"
],
"additionalProperties": false
}
}