# Release plans
Source: https://docs.aden.space/docs/help/release/releases

Per-track launch planning with AI-generated milestones and social posts, plus a lifetime-fan subscription that auto-saves every future release to a fan's Spotify library.
{/* Generated by `bun docs:publish` from docs/features/releases.md: edit the spec, not this file. */}

## What it is [#what-it-is]

A **release plan** is a structured launch roadmap attached to a single track.
It's generated from a short questionnaire about your release. Budget, timeline,
marketing goals, and comes back with a checklist of milestones, todos, and
draft social posts you can start working through right away.

**Lifetime fans** are people who subscribe once to your artist profile and then
automatically have every future release saved to their Spotify library the moment
it goes public. They also get an email notification. You collect fans through
your public profile page or from a presave link attached to a specific track.

## Using it [#using-it]

### Creating a release plan [#creating-a-release-plan]

1. Open a track and go to the **Release plans** tab.
2. Click **New plan** (a finished track without a plan also offers **Plan
   the release** in its sidebar footer, where Submit otherwise sits). The
   questionnaire opens as one compact sheet, already filled from what Aden
   knows: genre and tags from the track, platforms from the team's connected
   accounts and the track's streaming links, lyrics and version count from the
   track versions, vertical footage from the media library, and content
   capacity, promo hours, audience and budget from the team's most recent
   plan. A green dot next to a field says where its answer came from. Genres,
   platforms and the yes/no strategy questions are chips; the rest are
   single-line fields whose placeholder is the question. Change anything,
   then **Create plan**.
3. Aden generates a set of milestones, per-milestone todos, and draft social
   posts based on your answers and saves them straight into the plan, which
   opens in the editor. There is no preview step: every milestone, date and
   task is editable in place. Every pre-release date is squeezed into the
   time left before the release date, so a plan made two weeks out spreads
   its tasks across those two weeks instead of dating half of them in the
   past. If the act has Identity filled in, those drafts pick up the tagline,
   persona, sound, and visual notes. Empty identity keeps the plain templates.
   A later identity edit does not rewrite a saved plan. The identity card on
   the plan still shows the live version.
4. The plan is saved in `draft` status. Move it to `active` when you're working
   it, `completed` when the launch is done, or `archived` to shelve it.
5. Market-wakeup posts from the questionnaire are materialised immediately as
   draft posts in your **Posts** dashboard, wired to the connected accounts you
   selected: ready to review and schedule.

### Starting from a template [#starting-from-a-template]

The top of the new-plan sheet shows **Start from a template**: other artists'
published plans first, then Aden's own (single without an ad budget, single
with paid ads, market wakeup push; catalogue revival for released tracks).
Four show at a time, **See all** opens the rest. Pick one to preview its
milestones on this track's dates, its date range and budget, then **Use for
this track**. Dates move to the release date in the sheet below, or count
from today when none is set. The plan saves and opens in the editor like a
generated one.

To share one of your plans, open it and turn on **Publish as template** in
the "…" menu. Other artists see your team name, the milestone and task
titles, their dates relative to release, and budgets. Never the track,
notes, links, assignees or comments. Turn it off in the same menu.

### Team dashboard [#team-dashboard]

`/app/teams/[teamId]/release-plans` is the board of every plan on the team,
four columns by status. The columns render even when empty, each with one
line saying what lands there. Above the board, tracks without a plan appear
as chips (first eight, the rest behind the picker) that open that track's
prefilled wizard. A team with no tracks gets "Upload track" and "Import
catalog" instead of a picker with nothing in it.

### Revival plans: making old tracks relevant again [#revival-plans-making-old-tracks-relevant-again]

For a track that is **already released** (including imported back-catalog),
the same wizard creates a **revival plan** instead: the header and default
plan name switch to "Revival", and the plan is saved with `plan_type:
'revival'`. Use it to plan anniversary pushes, remasters, playlist campaigns,
or a social re-run for an old song.

Revival plans get their **own questionnaire** (`REVIVAL_QUESTIONNAIRE_STEPS`
in `config/questionnaire.ts`): the occasion (anniversary, new version, trend,
sync placement, or a plain catalog push), a campaign day instead of a
release date, and whether a new version (remaster, sped-up, acoustic) is
part of the push. Alongside the reused genre / mood / platform /
content-capacity / budget questions. The prefill (`buildPrefill`) sets the
campaign day to the next anniversary of the release date and, when that is
within 120 days, presumes the occasion is the anniversary. Generation goes through
`buildRevivalMilestones` / `buildRevivalPosts`: catalog refresh & audit,
story mining, an optional new-version milestone, a **remix contest**
milestone (open a track request from Demos → Track requests with stems and
a deadline before campaign day, line up the best entries as campaign-week
content, announce the winner), playlist re-pitch, an occasion-specific
campaign day, paid promo (if budgeted), and a sustain phase. Revival plans wear a "Revival" badge in the track's plans sidebar and
on the team release-plans dashboard cards.

**Anniversary radar.** A daily cron (`track-anniversary-radar`, part of the
daily umbrella workflow) finds released tracks whose release-date anniversary
(1, 5, 10 or 20 years) is exactly 30 days out and notifies every active
member of the owning team (`track_anniversary` notification, in-app + push),
deep-linking into the revival-plan wizard. Every released track counts
including imported back-catalog, which is exactly the music whose
anniversaries matter.

### Working a plan [#working-a-plan]

* Each **milestone** has a due date, an optional budget, and a list of **todos**.
* Check off todos as you complete them. Milestones track progress across the
  team.
* When writing a todo, type `@` to mention anyone who can work the track. Its
  collaborators, the owning team's members, and members of any organisation the
  team belongs to (the same people you can @mention on media and asset comments).
* A todo can carry a **link** to where it gets done: a page in Aden or an
  external site. Seeded plans link "Set up pre-save links" to the release tab,
  "Pitch the track to labels" to submissions, "Create teaser posts" to Posts
  and "Send a preview to early fans" to a new email campaign with the track
  attached. Add a link to your own todos from the task's link icon or the task
  detail.
* Some of those seeded todos tick themselves: creating a campaign that carries
  the track, creating a post linked to it, or submitting it to a label closes
  the matching todo (its checkbox is dashed until then).
* The track sidebar ends with **Up next**: the plan's progress, its next three
  open todos with their links, and the next linked todo as a button. A track
  marked Ready with no plan gets a "Plan the release" button there instead.
* You can share the plan with an external contact (label, manager) via a
  read-only share link: they see the milestones and status without needing an
  Aden account.
* You can delete a plan from either the plans list or the plan header. When the
  plan has milestones and tasks, you choose whether to **also delete all linked
  data** (milestones and tasks are permanently removed) or **keep it** (the
  milestones and tasks stay on the track and are only unlinked from the plan).

### Collecting lifetime fans [#collecting-lifetime-fans]

1. Share your public profile link (`/@<team>/fans`) or embed it on your website.
2. Visitors enter their email. They can optionally connect their Spotify account
   to get new releases auto-saved to their library.
3. Confirmed fans appear in your **Fans** dashboard under
   `Teams → [team] → Fans`.

### What fans receive [#what-fans-receive]

When you release a track (status moves to `released`), every active lifetime fan
automatically gets:

* The track saved to their Spotify **Liked Songs** (if they connected Spotify).
* An email notification about the new release.

This happens on the release date. Fans who signed up after the fact are not
back-filled.

### The label release schedule (organisations) [#the-label-release-schedule-organisations]

Organisations (labels, distributors, managers) get a roster-wide **Releases**
page at `Org → Planning → Releases`. It aggregates every upcoming track and
album across the artist teams the org has `release` access to:

* **Schedule by month**: upcoming releases grouped by calendar month, each with
  cover art, artist team, single/album badge, release date and countdown.
* **Release readiness**: each upcoming release shows what's still missing for
  release day: artwork, audio, ISRC (tracks), UPC (albums), a release plan, and
  distribution (a distributor on the track/album or an active submission to the
  org). Complete releases show a **Ready** badge.
* **Ready, not scheduled**: content marked `ready_to_be_released` that has no
  release date yet, so the label can slot it into the calendar.
* **Recently released**: the last 60 days, for follow-up.

An **Upcoming releases** widget with the same data (next 8 releases) is on the
org dashboard by default. Access is scope-gated: only teams that granted the
`release` scope appear.

**Reflect after the release.** Once a track is released, leave an optional **release retrospective**: a 0–5 star rating (half stars allowed) plus what went well, what didn't, and what to do differently next time, about the milestones, the release plan, the content, anything. Retrospectives are visible to the whole team. One click saves the written learnings as a **team skill**, so the AI assistant automatically applies them the next time it drafts a release plan or milestones, the team stops repeating the same mistakes.