truecourse 0.7.0-next.1 → 0.7.0-next.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -239,6 +239,29 @@ The spec, the scenarios, and a guard baseline are committable so they travel wit
239
239
 
240
240
  Like analyze, `guard/LATEST.json` is the committable baseline — commit it after merging to `main` (re-run `truecourse guard run`, commit the result), not from feature branches.
241
241
 
242
+ ### The recipe — `scenarios/recipe.json`
243
+
244
+ The recipe tells guard how to build your repo and what binary the scenarios exercise:
245
+
246
+ ```json
247
+ {
248
+ "build": "pnpm turbo build --filter=...{./tools/cli}",
249
+ "entry": ["node", "tools/cli/dist/index.js"],
250
+ "env": { "MY_FLAG": "1" }
251
+ }
252
+ ```
253
+
254
+ - `build` — one shell command, run in the repo root before scenarios execute.
255
+ - `entry` — the entrypoint argv; each scenario's command is appended to it. Repo-relative.
256
+ - `env` *(optional)* — extra environment variables for every scenario run.
257
+
258
+ It's discovered by the LLM **once**, on your first `guard generate`, and never touched again —
259
+ **the file is yours to edit**: an existing `recipe.json` always wins, and it's committed so the
260
+ whole team runs the same preparation. Edit it when the discovered command isn't what you want —
261
+ for example, if your build tool's cache can serve stale output across branch switches, harden the
262
+ build (`turbo build --force …`, or a clean step) at the cost of slower runs. Recipe edits change
263
+ the recipe fingerprint, so the dashboard flags runs made under an older recipe.
264
+
242
265
  ## Commands
243
266
 
244
267
  ```bash