End-to-End Development Lifecycle
Lifecycle overview
Section titled “Lifecycle overview”flowchart LR
Idea[Requirement / defect] --> Design[Design and acceptance criteria]
Design --> Feature[Short-lived feature branch]
Feature --> PR[Pull request]
PR --> CI[Common CI gates]
CI --> Develop[Merge to develop]
Develop --> Dev[Argo CD deploys Dev]
Dev --> Cut[Scheduled release cut]
Cut --> Release[Release branch]
Release --> Test[Release/Test environment]
Test --> Decision{External approval required?}
Decision -- Yes --> RC[Release candidate tag]
Decision -- No --> Main[Merge/tag main]
RC --> Main
Main --> Prod[Internal production]
Control boundaries
Section titled “Control boundaries”CI owns source validation, image construction, security scanning, SBOM generation, signing where required, and publishing to ECR, ACR, and the Snowflake registry. CI ends at the registry.
CD owns the detection of approved image tags, Argo CD reconciliation, Kubernetes rollout, health, and rollback. The deployment mechanism is deliberately separated from the application workflow.
Definition of done
Section titled “Definition of done”A change is not done when code is written. It is done when acceptance criteria are met, tests are added, documentation is current, CI passes, the change is observable, and the owner understands rollout and rollback impact.