A project anchor is a persistent row representing one release campaign. It holds the track list, status, tasks, dates, and any state that needs to survive across sessions, tabs, and team members. When you commit a release plan, that plan becomes a project anchor. Free has 1 manual project. Starter+ enables AI-generated plans + multi-project tracking.Documentation Index
Fetch the complete documentation index at: https://docs.patchline.ai/llms.txt
Use this file to discover all available pages before exploring further.
Why anchors matter
Without persistent state, every release campaign starts from scratch — no memory of what was decided, who’s doing what, what’s done, what’s overdue. With anchors:- Aria remembers the campaign across conversations.
- Your team sees the same state without trampling each other’s edits.
- Ask Aria “what’s overdue across my active projects” (see Asking Aria for updates) knows what tasks are overdue.
- Cross-feature surfaces — storefront, smart link, pitch kit — can all reference the same anchor.
What lives in an anchor
How writes stay safe
The 2026-05-03 audit revealed that opening the same project in two tabs and saving from a stale tab silently overwrote the other tab’s edits. That class of bug is now fixed via a concurrent-safe write pattern. What changed:ProjectService.upsertCampaignusesUpdateCommandwith explicitSET <fields>— only the fields that changed get written, not the whole row.- Legacy
PutCommandfull-row replacements use optimistic concurrency via anexpectedUpdatedAtparameter and the conditionattribute_not_exists(updatedAt) OR updatedAt = :expectedUpdatedAt. - On
ConditionalCheckFailedException, the UI surfaces a “project changed elsewhere — refresh” state instead of silently overwriting.
How to use anchors
Create one
Easiest path: Or sidebar → Projects → + New project.Update one
Click any task to mark complete. Edit the date. Add a new task. All changes use the concurrent-safe write pattern transparently. Via Aria:View one
Sidebar → Projects → click the row. Or/dashboard/projects/[id] directly.
List active anchors
Or sidebar → Projects for the full list.Tier limits
| Tier | Active projects | Anchor features |
|---|---|---|
| 1 | Manual checklist, no AI plan | |
| 1 | AI-generated plans | |
| 5 | + multi-artist, team seats | |
| 20 | + roster view, label-level | |
| Unlimited | + API access |
status: in_progress or status: scheduled. Archived projects
don’t count.
Anchor lifecycle
- draft — created but no target date set
- scheduled — target date set, prep underway
- in_progress — within the rollout window
- released — past target date, post-release tracking
- archived — manually archived, no longer counts against active limit
- cancelled — release pulled, history preserved
Related pages
- Release planner — generates the anchor
- AI campaign planner — fills the task list
- Pitch kit — references the anchor for context
- Asking Aria for updates — synthesis prompts
FAQ
What happens if my collaborator and I edit at the same time?
What happens if my collaborator and I edit at the same time?
Concurrent-safe writes catch the conflict. The second save gets a
“project changed elsewhere — refresh and retry” prompt. No silent
overwrite. Either user can resolve.
Can I have multiple projects for the same track?
Can I have multiple projects for the same track?
Yes — useful for re-releases, remixes, regional rollouts. Just
create separate projects with different target dates.
Do tasks support assignees?
Do tasks support assignees?
Pro+ (team tier). Tasks can be assigned to a workspace member.
Ask Aria “what’s overdue” to see open tasks per assignee.
Are anchors versioned?
Are anchors versioned?
The activity log captures every change. Restore-from-history isn’t
in v1 but the audit trail is there. Critical fields use
optimistic concurrency, so unintended overwrites are blocked.
Can I export an anchor?
Can I export an anchor?
Yes — project → ⋯ → Export as Markdown (or JSON via REST on
Enterprise).