Add finished-roast .alog uploads with Pi agent deep review and /roasts history
Test and deploy / test-and-deploy (push) Successful in 1m39s

- POST /api/roasts stores the original .alog verbatim (multiple per plan),
  parses it server-side, and kicks off an async zero-tool Pi agent review
  (grade, highlights, concerns, next-batch suggestions, plan-vs-actual)
- /roasts page: table of historical actual roasts with review summaries;
  row detail renders the BT curve as SVG with the plan curve overlaid,
  shows the full review, and offers original-.alog backup download,
  re-evaluate, and delete
- Planner's Reference curve drawer gains a multi-file finished-roast
  uploader that attaches to the open (synced) plan
- Failed reviews record the error on the row and are retryable via
  POST /api/roasts/:id/evaluate (e.g. once a model is configured)

Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
Shane Maynard
2026-08-08 20:18:22 -04:00
co-authored by Claude Fable 5
parent 84ce75dc14
commit eb82263ead
15 changed files with 1425 additions and 8 deletions
+5
View File
@@ -12,6 +12,11 @@ A fillable, live-computing web version of the manual coffee roast plan worksheet
- **Reference curve from an Artisan `.alog`** — upload a real roast log (or browse a local
library directory) to overlay its actual milestones/curve on the same SVG grid as your
plan, dashed and in a different color.
- **Finished-roast log with Pi agent review** — upload one or more finished Artisan `.alog`
files against a plan (or standalone from `/roasts`); each is stored verbatim (downloadable
as a backup), parsed, and deep-reviewed asynchronously by the same zero-tool Pi agent
pattern as prefill (grade, highlights, concerns, next-batch suggestions, plan-vs-actual).
The `/roasts` page lists every actual roast and renders its curve with the plan overlaid.
- **Live ledger** — the worksheet's time-ledger math (first crack, yellow, Maillard,
development, drop, and the four sanity-check ratios) recomputes as you type, using the
exact same arithmetic as the paper worksheet (verified against both its worked examples).