# U2 — FactoryRun Active High-Fidelity Brief

**Date:** 2026-08-20  
**Status:** **FINAL / OWNER-APPROVED / HTML RECONCILED**  
**Page authority:** [`../specs/ui/factory-run.md`](../specs/ui/factory-run.md)  
**Lifecycle role:** I1 active execution state  
**Deterministic authority:** [`../mockups/i1/u2-factory-active.html`](../mockups/i1/u2-factory-active.html)

## Binding Decision

U2 freezes the healthy/running FactoryRun composition for I1. The deterministic HTML has been reconciled to the owner-approved final U2 reference and now serves as implementation authority together with this brief and the FactoryRun UI spec.

U3 preserves this same page identity/composition while changing the state to waiting/failure/recovery.

## Page Job

In one scan the page answers:

```text
What is this FactoryRun doing now?
Which Tasks are running concurrently?
Which AgentRuns own active work?
What already completed?
What is blocked or queued and why?
Is current WIP safely checkpointed?
What happens next?
Does the user need to act?
```

Raw logs/provider/Kubernetes detail are secondary evidence.

## Final Desktop Composition

```text
GLOBAL SHELL
  AWP brand
  global Search
  notifications / user
  execution-context left navigation

FACTORYRUN HEADER
  breadcrumb
  Plan title + FactoryRun ID
  Running / elapsed / Plan / Goal / Scope
  View Plan / overflow / separated destructive Cancel Run

TABS
  Overview | Tasks | AgentRuns | Timeline | ChangeSet

TOP ROW
  1. Task Progress & Topology
  2. Active AgentRuns

BOTTOM ROW
  3. Latest Activity
  4. WIP / Checkpoint Safety
  5. ChangeSet / Review
     + Current / Next / Attention
```

The page is dense, operational and information-first. No oversized hero/KPI-card hierarchy.

## Navigation / Shell

Approved left navigation:

```text
Home

WORKFLOW
  Plans
  FactoryRuns        selected
  AgentRuns
  ChangeSets
  Reviews

FOUNDATION
  Agents
  Factories
  Templates

OPERATIONS
  Projects
  Settings

Project switcher at bottom
```

Global top bar uses AWP brand, global Search, notification affordance and signed-in user.

## Header / Context

```text
AWP / Plan / FactoryRun

Increment 1 — First complete vertical slice   FR-001
Running · Elapsed 18m 42s
Plan: Increment 1 — First complete vertical slice
Goal: Dogfood the first complete lifecycle
Scope: web-app, api, worker
```

Actions:

```text
View Plan      secondary
…              tertiary
Cancel Run     destructive / visually separated
```

## 1. Task Progress & Topology

Columns:

```text
Task
State
Depends on
AgentRun
Started
Duration
```

Approved fixture:

```text
A. Bootstrap environment      Completed
B. Implement API              Running     depends A    AR-017
C. Build frontend             Running     depends A    AR-018
D. Integration tests          Blocked     depends B
E. Prepare release            Queued      depends D
```

This proves real concurrency and dependency state. It is not a fake sequential progress bar.

Task/AgentRun identities navigate to their authoritative contexts. Dependency truth comes from Work/domain state, not table position.

## 2. Active AgentRuns

Each compact card exposes:

```text
Task identity
AgentRun ID + Running
Attempt N / max-attempt context
Model
Account
Workspace
Started / elapsed
Last activity
Checkpoint state
```

Approved fixture:

```text
AR-017 -> Task B — Implement API
AR-018 -> Task C — Build frontend
```

Task identity is primary; provider/model/account provenance is secondary.

## 3. Latest Activity

Meaningful state-changing events only:

```text
Workspace created
Task A completed
Attempts started
Source changes checkpointed
Test step finished
Latest progress
```

Each has concise operational copy and time. Raw command logs stay behind evidence/debug affordances.

## 4. WIP / Checkpoint Safety

First-class hierarchy:

```text
WIP is safely persisted
Latest checkpoint stored and verified.

Latest checkpoint
Last checkpoint age
Cleanup allowed
Compute durability semantics
```

Binding semantics:

- cleanup is not allowed while active runs own the Workspace;
- compute may be disposable;
- accepted WIP is durable;
- the owner can leave the run without assuming current work disappears;
- interruption resumes from the last durable checkpoint.

## 5. ChangeSet / Review

During active execution:

```text
ChangeSet (pending)
Will be created when all Tasks complete
```

`View ChangeSet` remains inactive until a real ChangeSet exists.

## Current / Next / Attention

Compact operational summary:

```text
CURRENT
  B. Implement API
  Running (AR-017)

NEXT
  D. Integration tests
  Blocked (waiting on B)

ATTENTION
  None
  All systems healthy
```

This does not duplicate the full Task topology.

## Visual Language

- dark navy/near-black shell;
- restrained purple primary/selection accent;
- green healthy/safe state;
- amber blocked state;
- blue queued state;
- red destructive/error semantics;
- thin navy/blue borders;
- compact type and tables;
- small status chips;
- no glassmorphism;
- no giant illustrations/hero cards;
- no decorative charts;
- no generic KPI-card pattern.

## Interaction / Accessibility

- Task/AgentRun/Plan identities navigate directly;
- tabs preserve FactoryRun identity;
- Cancel uses protected long-running mutation behavior and duplicate-submit protection;
- live updates do not reset selection/focus/scroll;
- stale/disconnected state preserves last-known authoritative content and prevents unsafe mutation;
- state is not communicated by color alone;
- the Task table remains an accessible dependency representation;
- checkpoint/WIP safety has explicit textual meaning.

## U3 Continuity

U3 is the same FactoryRun page under failure/recovery. It preserves:

```text
header / breadcrumb / tabs
task topology
AgentRun/Attempt context
activity timeline
WIP/checkpoint panel
ChangeSet destination
Current / Next / Attention
```

and prioritizes:

```text
what failed
why
what AWP already did
whether WIP is safe
what happens next
what the user may safely do
```

## Acceptance

U2 is correct when the owner can determine without raw provider logs that:

- the run is healthy/progressing;
- B and C are concurrent;
- D is blocked by B and E follows D;
- AR-017/AR-018 own active work;
- WIP is checkpointed and safe;
- ChangeSet/Review is the next lifecycle destination;
- no human action is required.

## Approval Consequence

U2 is **FINAL / OWNER-APPROVED**. Material changes to active FactoryRun hierarchy, concurrency presentation, WIP-safety placement or Current/Next/Attention composition require an explicit owner-approved design amendment.