Milestone map
3 milestones
Map the system architecture and identify all deployment components
1–2 weeks (system selection + diagram + inventory)
Produce a system architecture diagram and a complete inventory of the deployment components for a real or realistic software system. The system must include at least three distinct components (e.g. a web application, a database, and a background job runner; or a microservice, an API gateway, and a message queue). For each component: identify the runtime environment (container, VM, serverless function, managed service), the configuration sources (environment variables, secrets manager, config files), the dependencies on other components or external services, and the expected steady-state health signals. Free tools: draw.io for the architecture diagram; GitHub or a public git repository for storing the runbook.
Proof required
Submit: (1) an architecture diagram showing all components with their runtime environments and inter-component dependencies labelled (arrows with protocol and direction — e.g. 'HTTPS/443', 'PostgreSQL/5432'); (2) a component inventory table (component name, runtime environment, config sources, dependencies, health signal); (3) a brief scope statement (100–150 words) confirming whether this is a real system you operate or a realistic reference architecture, and why the system has been bounded where it has.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Write step-by-step runbook procedures for deploy, rollback, and health check
2–3 weeks (procedure authoring + review against the actual system)
Write three runbook sections for the system documented in Milestone 1: (1) a deployment procedure — step-by-step commands and checks to deploy a new version from a known starting state to a known healthy end state; (2) a rollback procedure — step-by-step commands and checks to revert to the previous version if deployment fails; and (3) a health check procedure — the exact commands and expected outputs to confirm the system is healthy at each stage. Every step must be atomic (one action, one check), numbered, and written so that an on-call engineer who did not build the system can execute it without interpretation. Include expected output for every command. Free tool: GitHub Markdown or any public git repository for the runbook.
Proof required
Submit the runbook document containing all three sections. Each step must include: the exact command (or UI action if no CLI is available), the expected output or confirmation signal, and an explicit statement of what to do if the expected output is not seen (escalate, retry, or trigger rollback). If any step requires credentials or secrets, the runbook must reference them by name only (e.g. '`$DB_PASSWORD` from the `prod/database` Vault path') — never inline the actual value.
What gets checked
Common mistakes
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.
Conduct a tabletop incident simulation and produce a runbook improvement report
1–2 weeks (simulation session + revision + report)
Use the runbook produced in Milestone 2 as the primary reference for a tabletop incident simulation exercise. An incident simulation involves: a facilitator (not the runbook author) presenting a realistic failure scenario for the system (e.g. 'the deployment is 60% complete and the new pods are crashing with exit code 137; the old version is still handling traffic'); the author walking through the runbook to determine what action to take; and the facilitator probing with follow-up conditions (e.g. 'the rollback command returned an error'). The simulation must cover at least two distinct failure scenarios. After the simulation: identify at least three gaps or ambiguities found (steps that were unclear, expected outputs that were wrong, missing scenarios) and produce a runbook improvement report documenting what was found and what changes were made.
Proof required
Submit: (1) the revised runbook (with tracked changes visible — use GitHub diff, strikethrough in Markdown, or a 'Changes' appendix); (2) a runbook improvement report (300–500 words) covering: the two failure scenarios simulated; at least three specific gaps or ambiguities found; the exact changes made to address each gap; and a statement of what remains out of scope and why.
What gets checked
Common mistakes
Powstik Guide
A tabletop incident run on your runbook and a revised version.
Steps
Template
Scenario: Participants and roles: | Step | Runbook said | What happened | Fix | |------|--------------|---------------|-----| Revised runbook link (changes visible):
What gets sent back
Resources
Foundationstart here
Depthgo deeper
What a verifier looks for
You'll sign in first, then come straight back here.