Skip to content

PRD: Unified Lifecycle & Status Model #18000

@joebudi

Description

@joebudi

Apps, Agents, and Automations currently use inconsistent lifecycle patterns and ambiguous terminology (Draft, Publish, Live). This creates confusion around what is deployed, what is running, and what is visible.
This work standardizes lifecycle states, terminology, and activation patterns across all object types.


Goals

  • Use one consistent lifecycle model across Apps, Agents, and Automations.
  • Separate deployment from runtime clearly in the UI.
  • Remove ambiguous terms (Draft, Off).
  • Reduce cognitive load without adding system complexity.

Problem

1. Inconsistent activation patterns

  • Agents use “Set Live”.
  • Apps and Automations use a Draft toggle.
    Same concept, different interaction models.

2. “Publish” is misleading

“Publish” implies exposure.
In practice, it snapshots and deploys workspace changes.

3. “Draft” is incorrect

Draft currently means:

  • Never deployed
  • Edited but not deployed
  • Not live

These are different states presented as one.

4. Two dimensions forced into one status

There are two independent questions:

  • Is it deployed?
  • Is it live?

The current UI mixes these into a single status field.


Solution

1. Workspace Button

Rename:
Publish → Publish changes (X)

  • X = number of modified items.
  • Clarifies scope and intent.

2. Unified Object States

Each object has:

Primary State (mutually exclusive)

  • 🟢 Live — Deployed and running [green text]
  • Stopped — Deployed but not running [grey text]
  • 🟡 Not Deployed — Never deployed [orange text]

Primary state reflects runtime only.

Deployment Modifier (optional)

  • Unpublished

Shown when changes exist but haven’t been published.

Examples:

  • Live
  • Live · Unpublished
  • Stopped
  • Stopped · Unpublished
  • Not Deployed

3. Unified Activation Pattern

Remove Draft toggles.

Every object gets:

  • Set Live
  • Stop

This matches the Agent model and makes activation explicit and intentional.


Non-Goals

  • No changes to underlying deployment architecture.
  • No environment support (dev/staging/prod).
  • No version history redesign.

Success Criteria

  • Draft toggle removed across all object types.
  • All objects use the same activation controls.
  • Clear visual separation between runtime state and deployment status.
  • Reduced confusion around Publish vs Live in user feedback.

Outcome

Objects feel operational, not document-like.
Users can clearly see what’s running and what hasn’t been published at a glance.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status

To do

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions