This project is built for interview storytelling, so the release model is intentionally simple while still demonstrating real governance controls.
mainremains the source of truth for production-ready code.- Feature work happens on short-lived branches named
feature/<topic>orfix/<bug>. - Pull requests into
mainrequire:- At least one reviewer approval.
- Passing CI (lint → tests → CDK synth).
- Clear summary highlighting risk, blast radius, and rollback plan.
- Semantic tags (
vMAJOR.MINOR.PATCH) are created frommainafter a successful deploy run. - Tags are lightweight markers for demo purposes, enabling quick rollbacks.
- Tagging workflow:
- Ensure
mainis green (CI successful, manual checks complete). - Run the Deploy workflow with
execute_deploy=falseto dry-run packaging + synth. - Trigger a second Deploy workflow with execution enabled once stakeholders approve.
- Create the release tag locally:
git tag vX.Y.Z && git push origin vX.Y.Z.
- Ensure
- Merge feature branch into
mainonce CI is green. - Trigger
Deployworkflow via GitHub UI:- Select environment (
dev,staging, orprod). - Decide whether to upload the model artifact (
upload_artifacts). - Leave
execute_deployunchecked for dry-run validation.
- Select environment (
- Review the workflow logs and generated stack diff.
- If approved, rerun Deploy with
execute_deploy=true(requires theTHREAT_DEPLOY_CONFIRM=I_UNDERSTAND_THE_COSTguardrail). - Capture outcomes in the runbook (success/failure, metrics, follow-up actions).
- Every deploy run produces the CDK diff and artifact bundle, so
cdk deployis always repeatable. - Rollback path is documented separately in the rollback playbook; typically it involves redeploying the previous tag or switching the SageMaker endpoint to the prior model package.
- Tags and Deploy logs provide the audit trail needed for post-incident reviews and interview explanations.
- Dev/staging runs require at least a peer reviewer; prod runs require an additional stakeholder sign-off (e.g., team lead).
- Include a summary in the PR or GitHub Deployment conversation covering:
- Intended change.
- Risk/mitigation (e.g., alarms, Model Monitor coverage).
- Rollback plan.
This process demonstrates that even interview scaffolding can uphold enterprise governance: approvals, cost acknowledgements, and auditable releases.