Security checks belong at each boundary
Connect validation, sessions, CSRF, tenant scope, and operational secrets.
Follow a failure across processes
Use request IDs, safe structured logs, and metrics to identify where work stopped.
Capacity has several limits
Connect event-loop work, database pools, pagination, and load-testing evidence.
Containers package processes and their connections
Read the Taskboard Dockerfile and Compose stack without needing to run them.
The course and backend deploy separately
Distinguish Cloudflare Pages output from long-running API and worker hosting.
Shutdown is part of the request lifecycle
Stop new traffic, finish bounded work, and preserve recoverable jobs.
A backup matters when restoration works
Define acceptable data loss and rehearse recovery, including external side effects.
Test the guarantee and its failure case
Read integration tests as evidence of behavior, with explicit limits on what they prove.