{"id":200983,"recorded_at":"2026-10-26T14:48:01.115429Z","observed_at":"2026-10-26T14:48:01.115349Z","subject_kind":"endpoint","subject":"c9dc984d-9236-4418-949b-ffafcee7e837","kind":"mcp.tools","method":"probe.mcp/1","body":{"count":10,"tools":[{"description":"The 'what changed & why' feed — the engine's coaching decisions (volume bumps, deloads, swaps) in Coach Fly's voice. Use to explain to the athlete why their plan evolved.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"limit":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"type":"object"},"name":"changelog"},{"description":"The athlete's current multi-day program (render-ready).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"get_program"},{"description":"Today's workout: exercises, sets/reps, per-exercise load guidance and concrete target weights, plus nutrition targets and cycle status. Auto-applies the user's readiness check-in (autoregulation) if they've done one today. Call this to see what the athlete should do now.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"dayIndex":{"description":"Which program day (1-based). Defaults to the first day.","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"}},"type":"object"},"name":"get_todays_session"},{"description":"Valid alternatives for an exercise — same muscle group, filtered to the athlete's equipment/level/injuries. Use before swap_exercise.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"exerciseId":{"type":"string"}},"required":["exerciseId"],"type":"object"},"name":"list_swap_options"},{"description":"Record what the athlete actually lifted. The engine runs progression (double-progression, e1RM), detects PRs, and returns per-exercise outcomes (established/progressed/held/deloaded) with next-time targets. Weights are in kg.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"dayIndex":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"exercises":{"description":"Per-exercise completed sets (weights in kg).","items":{"properties":{"exerciseId":{"type":"string"},"prescribedRepTop":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"sets":{"items":{"properties":{"completed":{"type":"boolean"},"reps":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"rpe":{"anyOf":[{"type":"number"},{"type":"null"}]},"weightKg":{"type":"number"}},"required":["weightKg","reps"],"type":"object"},"type":"array"}},"required":["exerciseId","sets"],"type":"object"},"type":"array"},"goal":{"enum":["strength","hypertrophy","general_fitness","fat_loss"],"type":"string"}},"required":["exercises"],"type":"object"},"name":"log_workout"},{"description":"A day of meals hitting the athlete's targets, USDA truth-checked (flags feasible=false with a note when macros are approximate). Slow (~15s AI call).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"dietaryStyle":{"type":"string"},"exclusions":{"items":{"type":"string"},"type":"array"},"mealsPerDay":{"maximum":5,"minimum":3,"type":"integer"},"trainingDay":{"type":"boolean"}},"type":"object"},"name":"meal_plan"},{"description":"The athlete's daily calorie + macro targets, computed from body stats, activity, and goal.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"nutrition_targets"},{"description":"Record how the athlete feels today (energy, sleep, soreness — each 1–5). The engine scores readiness and, on the next get_todays_session, reshapes the workout accordingly (reduce volume / reduce intensity / recovery day). Returns the readiness score + modifier.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"energy":{"description":"1 drained … 5 great","maximum":5,"minimum":1,"type":"integer"},"sleep":{"description":"1 terrible … 5 great","maximum":5,"minimum":1,"type":"integer"},"soreness":{"description":"1 none … 5 very sore","maximum":5,"minimum":1,"type":"integer"}},"required":["energy","sleep","soreness"],"type":"object"},"name":"readiness_checkin"},{"description":"Rebuild the whole program from the stored profile (~20s AI generation). Use after a profile change or a plateau.","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{},"type":"object"},"name":"regenerate_program"},{"description":"Replace an exercise with a valid same-area alternative. scope 'today' = just this session; scope 'program' = going forward. The new lift starts fresh (day-one calibration).","inputSchema":{"$schema":"http://json-schema.org/draft-07/schema#","properties":{"dayIndex":{"maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer"},"exerciseId":{"type":"string"},"scope":{"description":"Default 'program'.","enum":["today","program"],"type":"string"},"toExerciseId":{"type":"string"}},"required":["exerciseId","toExerciseId"],"type":"object"},"name":"swap_exercise"}]},"body_sha256":"025a1cacac7c548e2c66557f14eac0f0e58429654780cc1674fad2c5c4f4abf4","prev_id":null,"leaf":"0xe13bdca579721e1f3a6294da181bdf9b17bccd17a7c6a05980a8e478a4be9207","leaf_text":"{\"body\":\"025a1cacac7c548e2c66557f14eac0f0e58429654780cc1674fad2c5c4f4abf4\",\"id\":200983,\"kind\":\"mcp.tools\",\"method\":\"probe.mcp/1\",\"observed_us\":1793026081115349,\"prev\":null,\"subject\":\"c9dc984d-9236-4418-949b-ffafcee7e837\",\"subject_kind\":\"endpoint\"}","day":{"day":"2026-10-26","leaves":296695,"root":"0xf43e8dcc3d451a4788b26be904c55e8c4c0fa75c9666796c51db38d37e2c0df8","chained":"0x702d5ac508f08b0d1accf36af25822d8e5660367494edd17a642fb61e158a57a","anchor_chain":"eip155:5042002","anchor_tx":"0x495162f8936e19f0039918feebe6c307f327cd6bf8c37219620b1970041fa9ae","anchor_block":69251483},"proof":["0xe13bf0cc5937df60043db1d21ab6c7dca33d7d3d6f3620ebb81d6157a4b04a8b","0x30bb6a42faf31abba3649e77c171c196c9eebd33fd12ba05def22baeff93e975","0x50385de724a16e88ae2c5f89129f946175e6d0b3d2edfeb458ec46e41e77a8ad","0xeb627f7b1cb0546b80617f05834f2947fa1389ff7d8434595a188430c816501d","0x88d07c749a9def130c5e380dbb5d2d8e5b5027b06236b1f21e88a7f631b8ff47","0xe17f4e521a8a2a078993ed42bfb2d9d08eff73ff40cafcd799693f0d0386a1ce","0xd47eb19d7e464d285918c5451b9c5dc217133e1ead95067fda6dd30f198194aa","0x8fc2cc5d114f54b690932aa561854a9e75af313a82d6d84d64372e8df3cbdcfe","0xe63f8e4581859c67f54bf7aee4c4a0debf8404ddbf6dd1964ec000823c4caa23","0x4b514c272cf743fead7500e2a90fbbb62a667f67d8a586fb32ddc4f005077e2e","0x82d0a2528274b883dc22fee84985c9c34404274baadfb76651d0008598f80bff","0x714c96bd488ccf4af927c8bc83397404f7f6f1b165b622d0e8216290209825e4","0x3fcdf7fa32ccefe771eb57ae3015142065d64e3ce732fea7d11b9a3c99dde44f","0x0b7541c75cc482a7134110311d7dbd02095d969ba21177de9b21a52a55981718","0x6dc40f983a3840a0ad927a9ca17f4ff1e3b649a6c735e2a09b140db7c2caf13b","0x703f95866af09c5e5d6ead7411e9a10f964a41a2aff64d4a55ff0053c023a023","0xd0651cb9bc8155eb52b5247d506e74b8a935057dc190ba52091702ac25ed3a40","0x9a9024edb5069d88a324facb310a5ce8e495214bbaa968f077bede437390194f","0x9b9ce5b74b9bab5121612ef6b64920a8d453cbf311096a423eef9702747e868a"]}