A push to main is a deploy
From 2026-09-20 to 2026-09-22 deployment moved out of a terminal. GitHub Actions assumes an AWS role through OIDC, so there are no access keys to rotate or leak. After each deploy a verify step fetches the live page and the Lambda’s reported version and compares hashes against the build, failing the run if they differ. The rule the runbook states is simple: a push to main is a deploy, and a deploy either verifies or fails.
One item per recipe
The one-document-per-book shape hit DynamoDB’s 400 KB item limit as the starter books grew. On 2026-09-22 the storage became one item per recipe, with the book’s metadata in its own item.
Two things came with that:
- Revision snapshots. Each save of a recipe keeps the previous version, so an accidental overwrite is recoverable.
- Admin restore. A small tool to put a snapshot back, used once already after a user wrote to the wrong recipe.
The optimistic-concurrency check moved from the book to the recipe, which also meant two people editing different recipes in the same book no longer collide.