Skip to main content
Milestone details show why a release is blocked and what to do next. Data is computed from live GitHub state plus your repository’s sdlc.yaml.

Opening milestone details

  1. Go to lanesync.dev
  2. Click a milestone card
  3. Review the stage breakdown panel

Stage details API

GET /api/milestones/:id/stage-details returns per-stage items. LaneSync fetches live sdlc.yaml from GitHub on every request (60-second cache TTL). Example structure:

Per-stage panels

PLANNING

Lists milestone issues. Blocking when unassigned. Fix: Assign owners in GitHub.

DEVELOPMENT

Lists open issues and required check status on the development branch. Blocking when:
  • Issue still open
  • Required check (from sdlc.yaml) has failure conclusion
Only checks listed in required_checks can block development. Other workflow failures are visible but not blocking.

TESTING

Shows release branch name and check results on that branch. Blocking when:
  • Release branch missing (release-branch mode)
  • Required check failed or pending

EVIDENCING

Lists required artifacts and evidence PR approval state. Blocking when:
  • Artifact missing
  • min_approvals not met

DEPLOYMENT

Shows deploy readiness and promotion status. Blocking when:
  • Prior stages incomplete
  • requires_evidence_approval not satisfied

Branch Actions

LaneSync creates branches and pull requests from the dashboard — no repo-side automation workflows required.

Start Work

Click Start work on a milestone issue in the PLANNING panel to:
  1. Create a feature branch from the development branch
  2. Open a draft PR targeting the development branch
  3. Link the branch and PR to the issue in LaneSync
When it appears:
  • The issue is open and has an assignee
  • No work branch exists yet for that issue
Branch naming: feature/{issue-number}-{slugified-title} — for example, feature/42-add-login. After Start Work succeeds, a PR ↗ link appears on the issue row. Click it to open the draft PR in GitHub.

Cut Release Branch

Click Cut release branch in the milestone header to create the release branch from the current development branch tip. When it appears:
  • Release model is release-branch (not trunk-based)
  • All milestone issues are closed
  • No release branch exists yet for this milestone
  • Typically while the milestone is in DEVELOPMENT, ready to enter TESTING
Branch naming: follows your sdlc.yaml testing branch_pattern (configured in the repo wizard as the release branch prefix). For example, with prefix release/ and milestone version v1.2.0, LaneSync creates release/v1.2.0.
Trunk-based repositories test on the development branch directly — Cut release branch is hidden when releaseModel is trunk.

Actions from the dashboard

Edge cases

If GitHub API calls fail, stage details may omit workflow runs. LaneSync logs a warning and returns partial payload.
Returns DB-only payload with extended cache TTL (300s). Install the app for live data.
Push updated sdlc.yaml to refresh required checks and rulesets.