Pipeline overview

Stage gates
PLANNING
Purpose: Ensure release scope is defined and owned before development begins.
Blocking items: Unassigned issues appear as blocking in stage details.
Config (
sdlc.yaml):
DEVELOPMENT
Purpose: Build and integrate on the trunk branch with CI enforcement.
Blocking items:
- Open milestone issues
- Required CI checks in
failureorpendingstate (only checks listed insdlc.yamlrequired_checks)
TESTING
Purpose: Validate the release candidate on a release branch or trunk.
Blocking items:
- Missing release branch (when
branch_patternis configured) - Failed or pending required checks on the release branch
EVIDENCING
Purpose: Collect and approve quality evidence before production promotion.
Blocking items:
- Missing required artifacts
- Evidence PR not approved
DEPLOYMENT
Purpose: Controlled promotion to production.
Config:
GET /api/milestones/check?version=&repo=) requires CI authentication (OIDC or API key) and returns can_deploy: true only when the milestone is in DEPLOYMENT and all prior gates pass for the authenticated tenant.
DEPLOYED
Purpose: Terminal state — release is live in production. No further gates. The milestone remains visible in the dashboard for audit and quality comparison with future releases.How stage is computed
LaneSync does not let users manually set stages. On every sync (webhook or background job):- Fetch milestone issues, PRs, and workflow runs from GitHub
- Load
sdlc.yaml(live from GitHub for stage-details; cached in DB for sync) - Evaluate gate conditions in order
- Record stage transitions with timestamps for audit