---
title: "Delivery Dashboard"
slug: delivery-dashboard
section: Delivery
status: active
description: "This page renders **live Asana data** — the goal cards, blended progress percentages, and program summary below are computed from a live `/api/asana/portfolio/combined-summary` query each load."
last-updated: 2026-10-07
---

# Delivery Dashboard

## Delivery Dashboard (Static Summary)

This page renders **live Asana data** — the goal cards, blended progress
percentages, and program summary below are computed from a live
`/api/asana/portfolio/combined-summary` query each load. When the markdown
variant is read by an AI tool, the live numbers won't be present; this
fallback documents what the page shows and how its headline number is built.

**What's on the page**
- One row per goal (Camp, Teach, Globus, …) with a blended progress
percentage, a lifecycle pill (Complete / On Hold / Not Started / In
Progress / On Track), and a "what's going live next" highlight.
- A Program Summary aggregate that re-uses the same blended progress
formula across every goal.
- A headline goal callout that picks the incomplete goal with the nearest confirmed go-live target date.

**How the headline percentage works**
- The overall score is Development Complete — the share of dev-stream tasks
in the Done column and marked complete across the goal's portfolios.
- Computed by `computeStreamBlendedProgress(projects, goal).blendedPct` in
`lib/goals.ts`, which now returns the dev-complete rollup.
- The former Dev / UAT / Deploy blend (70 / 20 / 10) is retired from the
Delivery UI.

**Lifecycle pill rules**
- `Complete` — every tracked project on the goal is complete.
- `On Hold` — a simple majority (> 50%) of tracked projects are `on_hold`.
- `Not Started` — blended percentage is 0.
- `On Track` — blended percentage is 75% or more. `In Progress` — otherwise.

# Delivery Dashboard

What's going live next and where every goal stands. Live from Asana.
