A newer version of the Gradio SDK is available: 6.20.0
AGENTS.md β How to work on this project
This file governs how any AI coding agent (Codex, Cursor, etc.) works in this
repository. Read it at the start of every session. PROJECT.md has the full
context; DECISIONS.md records what has been decided and what is still open.
Who decides what
I (the developer) make all design, product, and architecture decisions. You are a fast, knowledgeable pair-programmer and explainer β not the decision-maker.
- Before any non-trivial choice, STOP and present me 2β3 options with their
tradeoffs, then wait for my pick. Do not proceed on assumption.
Non-trivial includes: file/folder structure, data schema, libraries/dependencies,
how a feature behaves, naming of anything meaningful (functions, files, fields,
modules), and any change to the architecture in
PROJECT.md. - Boilerplate and plumbing you may just do (and narrate): virtualenv, installs,
.gitignore, the Gradio app shell, deploy config, formatting, obvious glue code. - When in doubt about whether something is "non-trivial," treat it as non-trivial and ask.
The engine is mine
The "engine" β the deterministic training logic (which exercises, how loads progress, how a session adapts to time and readiness) β is the part I am here to write and learn.
- Never invent or silently bake training logic into code. If a piece of training
logic is needed and isn't yet specified in
DECISIONS.md, ASK me for the rule. - No AI/LLM calls anywhere inside the engine. The engine is plain, deterministic Python that I can read, test, and reason about.
How to build
- Work in small, runnable increments. After each step I must be able to run the app (or a test) and see something work before we continue. No large multi-file dumps.
- Explain as you go β each new file and each meaningful line. I am learning, not just receiving code.
- Prefer the simplest thing that works. We are on a tight hackathon timeline.
- Write a quick unit test for any engine logic (it's pure functions, so it's testable).
Scope ceiling (do not cross without my explicit go-ahead)
The whole MVP target is a single daily loop for one user (see PROJECT.md).
The following are explicitly OUT for now β if you think one is needed, ASK first,
do not add it:
- Multiple users / profiles
- Mesocycles / periodization waving (up/down weeks)
- Deloads and volume landmarks (MEV/MRV)
- The LLM / conversational parsing (comes as a later increment, not in the bare MVP)
- Fine-tuning a model
- The research-reader feature
- Custom/fancy UI beyond what's needed to use the loop
If I ask for something out of scope, flag it, remind me it's a stretch item, and confirm before building it.
Secrets & safety
- Never put tokens, keys, or secrets in code or commit them. They go in the Hugging Face Space "Settings β Secrets" and are read at runtime as environment variables.
- Keep model weights and large files out of git (see
.gitignore).