Today · Launch plan
Launch plan
What is left before you launch, and what proves each one done. Every task names the signal that decides its status, and that status is read fresh on every load. A checklist you tick by hand becomes a record of intentions about two weeks in, because nothing ever takes a tick back.
Where to find it
- Desktop:
http://localhost:4000/, then Today → Launch plan in the sidebar. - Keyboard: ⌘ K, then type “Launch plan”.
- API:
GET /api/launch-plan,POST /api/launch-plan/seed,POST /api/launch-plan/task/manual
What it does for you
The three states, and why the third one matters
"Your backups are not verified" and "nobody checked your backups" are different sentences, and the day before a launch they call for opposite responses. A plan that renders the second as the first cries wolf until nobody reads it. One that renders it as done ships a product nobody checked.
So not measured is its own state everywhere: in each task's badge, in the milestone counts, and in the verdict at the top. Progress counts done against what has actually been measured rather than against the total, so a plan where most tasks have never reported does not read as mostly broken.
The page ends with a list of every scan that could not answer, and why. That list is the reason the unknowns are unknown. Without it you could stare at a quiet plan for a week without discovering that your security scan has been failing the whole time.
What decides each task
- Security findings from the guardrails scan: exposed credentials, and anything serious still open.
- Config from the env doctor: a variable your code reads that nothing declares.
- Deploy from the ship preflight's build check.
- You, for the few things no scan observes.
A scan that fails is not a scan that found nothing. Both scanners report failure in a shape that looks exactly like a clean repo, so the plan checks whether a scan answered before it counts anything. A failed scan leaves its tasks not measured, and says so.
Configure
Nothing to configure. The plan is seeded from the two answers the first run collects (what you are shipping, and by when) plus what RepoOps reads out of your repo. Press Re-seed from the repo after a dependency change and the plan updates: retired tasks disappear, new ones appear, and every confirmation you recorded is carried across.
Read more
Last updated