> ## Documentation Index
> Fetch the complete documentation index at: https://docs.evomarketing.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Mission Control

> Campaign-centric operations board for tracking active work

Mission Control is the campaign-focused operations board for tracking active campaigns, placements, and creator performance.

## Overview

Mission Control tracks:

* **Active campaigns** (not contracts)
* **Placement progress** toward targets
* **Completion pacing** (ahead/behind schedule)
* **Stage transitions** (automated)

## Board sections

| Section               | Contents                               |
| --------------------- | -------------------------------------- |
| **Active**            | Running campaigns accepting placements |
| **Ending Soon**       | 14 days before contract end            |
| **Potential Renewal** | Renewal discussions active             |
| **Up for Renewal**    | Contract complete, decision pending    |
| **Renewed/Relaunch**  | Signed for new term, 4-day timer       |
| **Completed**         | Finished campaigns                     |

## Placement tracking

Each campaign card shows:

```
Brand Name
├── Placements: 45/100 (45%)
├── Target progress bar
├── Pacing: 3 days ahead
└── Days remaining: 12
```

### Even-split share

Placement targets are split evenly from the contract total:

```
Contract target: 300 placements
Active creators: 10
Per-creator share: 30 placements
```

### 30-day pacing

Completion pacing is calculated from first post:

```
Days since first post: 15
Expected progress: 50%
Actual progress: 60%
Pacing: 3 days ahead
```

## Pipeline automation

Mission Control shares status with Pipeline. Stage transitions are automated:

### Triggers

| Trigger                       | From               | To                 |
| ----------------------------- | ------------------ | ------------------ |
| First placement posted        | Onboarding/Renewed | **Active**         |
| 14 days before contract end   | Active             | **Ending Soon**    |
| Contract placement target met | Active/Ending Soon | **Up for Renewal** |
| Contract completed alert      | -                  | OpsAlert created   |

### Manual transitions

Some moves require manual action:

* Active → Paused (deliberate pause)
* Up for Renewal → Renewed/Relaunch (signing)
* Any → Off-boarded (deliberate exit)

## Using Mission Control

### Accessing

Navigate to `/team/mission-control` in the admin console.

### Filtering

Filter by:

* Assigned operator
* Status section
* Brand name search

### Card actions

Click a card to:

* View campaign details
* See creator roster
* Access brand hub
* Edit campaign settings

### Real-time updates

Mission Control updates in real-time via ActionCable:

* New placements appear immediately
* Pacing recalculates
* Stage transitions animate

## API endpoints

| Method | Path                                       | Purpose       |
| ------ | ------------------------------------------ | ------------- |
| GET    | `/api/internal/mission_control`            | Board data    |
| GET    | `/api/internal/mission_control/brands/:id` | Brand details |

## Backend implementation

**Key files:**

* `app/controllers/api/internal/mission_control_controller.rb`
* `app/services/mc/` - Mission Control services
* `app/models/mc/` - MC-specific models

### Pipeline automation job

```ruby theme={null}
# Runs daily at 6:30am ET
class Brands::PipelineAutoAdvanceJob < ApplicationJob
  def perform
    advance_to_ending_soon!   # 14 days before end
    advance_to_up_for_renewal!  # Contract complete
    advance_to_active!         # First post
  end
end
```

## OpsAlerts

Mission Control surfaces operational alerts:

| Alert              | Trigger                  | Severity |
| ------------------ | ------------------------ | -------- |
| Contract completed | Placement target reached | Info     |
| Creator behind     | Posting cadence missed   | Warning  |
| Sync failing       | Social sync errors       | Error    |

## Renewed/Relaunch section

When a brand moves to Renewed/Relaunch:

* 4-day timer starts automatically
* Overdue state shows in red
* Manual move to Active or other status required

## Best practices

1. **Check daily** - Review Active section for placement progress
2. **Monitor Ending Soon** - Prepare renewal conversations
3. **Clear Up for Renewal** - Make decisions, don't let pile up
4. **Track OpsAlerts** - Address issues promptly

## Related documentation

* [Pipeline](/admin/pipeline) - Brand lifecycle stages
* [Creator Roster](/admin/creator-roster) - Creator management
* [Brands](/platform/brands) - Brand configuration
