Jobs and events · rule
step.store_required
Action makes several changing calls but writes no store to keep their record in.
Area 12, Jobs and events; not declinable; the next step is usually the human's.
Each changing call is recorded beside the outbox of the store its action
writes, so an action that writes none needs events: { store: }:
use app { sheets }use bakery/failures { SheetNotKept }use bakery/events { PricesChanged }/// Keeps a supplier's new prices as a sheet, then a copy for the/// accountant.action file_prices(event: PricesChanged) fails SheetNotKept -> Unit { var sheet: File = attempt sheets.put(encoding.to_utf8(event.price_list), FileType.csv) { storage_full: SheetNotKept } var invoice_copy: File = attempt sheets.put(encoding.to_utf8(event.price_list), FileType.csv) { storage_full: SheetNotKept } assert sheet != invoice_copy}
error: `file_prices` makes 2 changing calls but writes no store to keep their record in --> domains/bakery/actions/file_prices.jadpo:8:31 |8 | var sheet: File = attempt sheets.put(encoding.to_utf8(event.price_list), FileType.csv) { | ^^^^^^^^^^ no store for the record reason: Each changing call is recorded before it goes out, beside the outbox of the store its action writes, so a retry can replay it; `file_prices` writes no store, itself or through what it calls, and `app.jadpo` names none with `events: { store: }`. next: Add `events: { store: main }` to `application { }` in `app.jadpo` (human) rule: step.store_required help: https://jadpo.dev/docs/errors/step.store_requiredcheck failed: 1 error, 7 files
Markdown for agents: /docs/errors/step.store_required.md.Built from Jadpo main at a707efb.