The problem
Getting one good workout out of a chatbot once took me nine messages and twenty minutes, and the result still had mistakes.
Why I have it
A workout has rules: a warm-up, a cool-down, sensible loads, and no clash with what the gym already programmed. Fraser writes the session, then code checks it before I see it.
What it does
- Designs a session from my constraints, my week and the gym's plan.
- Checks it against a 10-point contract in code, with one repair if something fails.
- If something still fails, the reply names what isn't verified instead of hiding it.
Where it helped
- The 10-point contract shipped Oct 11, the same day as the nine-message evening that prompted it.
- Every design records one row per outcome checked, using the same tables as the harness.
Who it coaches
The athlete is me.
Fraser designs the sessions I actually walk into the gym and do, built around what the gym has programmed that week. A plan can sound great in a chat window; under the bar is where it gets graded.
How it works
One message, step by step
Each step lights up in turn. The names are the real components in the code.
- TelegramI ask for a workout.
- The ladderSpots a design request ahead of any numbers lookup.
- Fraser's inputsMy constraints, the week, the gym's coming sessions.
- The modelWrites the session.
- Fraser's contract10 checks in code. One repair if something fails.
- Back to meAnything still unverified is named in the reply.
Not built yet
- Fraser uses the harness's contract pattern but isn't a full harness agent yet.
- Its model calls aren't cost-recorded yet.