| # 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`). |
|
|