# Project Page UI

**Status:** Approved target-state behavior — final owner-approved U1 integrated  
**First realization:** I1; deepens across lifecycle.  
**Final U1 visual authority:** [`../../mockups/i1/u1-project.html`](../../mockups/i1/u1-project.html)

## Page Job

The Project Overview is the project-manager command surface. In a five-second scan it answers:

```text
What are the current Goals?
What needs my attention?
What is blocked and why?
Which Plans are active?
What FactoryRuns are executing now?
What was recently completed?
What is queued Now / Next / Later / Waiting / Blocked?
Is Project health current?
```

Vision and Settings remain Project destinations but do not dominate Overview.

## Final U1 Shell

### Global top bar

```text
WORK / Projects / AWP
Search projects, plans, tasks, runs, decisions…   ⌘K
notifications
help
current Principal / role
```

Search occupies this final global position. Activation/authorization may deepen by increment without relocating the control.

### Left navigation

```text
HOME
  Overview
  Needs your attention

WORK
  Projects
  Plans
  Work Items
  Queue (Next Up)
  Saved views

EXECUTION
  FactoryRuns
  Agents
  CI

DELIVERY
  Releases / Changes
  Deployments

OPERATIONS
  Queues
  Health

INTELLIGENCE
  Reports
  Analytics

SETTINGS
  Project Settings
```

The navigation is the final U1 composition. Later increment activation changes behavior/availability rather than arbitrarily changing placement.

## Project Header

Final U1 header contains:

```text
Project identity/icon
AWP
Agentic Software Delivery Control Plane
repository
owner
created date

New Plan
Connections
Decisions
```

Project tabs are directly below the header:

```text
Overview
Vision
Goals
Plans
Work
FactoryRuns
Reviews
Decisions
CI
Delivery
Settings
```

No giant Vision hero.

## Final Overview Composition

The owner-approved composition is:

```text
ROW 1
  Current Goals
  Needs Your Attention
  Blockers

ROW 2
  Active Plans
  FactoryRuns (What's running now)
  Recently Completed

ROW 3
  Queue / Next Up
    Now (Ready)
    Next
    Later
    Waiting (External)
    Blocked

FOOTER
  Project Health
  Last updated / refresh
  Project timezone
  Customize
```

This is an operational hierarchy, not a metric-card dashboard.

## Current Goals

Active Goals are compact scan rows with status/risk. U1 does not require large criteria cards on the Overview.

```text
Goal title                         status
Dogfood the first complete lifecycle  On Track
Secure & compliant platform baseline  On Track
Platform UX v1 – ship U1 screens      At Risk
FactoryRuns automation MVP             On Track
U1 polish & usability improvements     On Track
```

Full Goal criteria, provenance, linked Plans and history remain available on Goal detail/collection surfaces.

A go-live target is a normal Goal. `GOLIVE` is not a Project primitive.

## Needs Your Attention

Attention rows are actionable and compact:

```text
severity marker
short actionable title
priority
one direct action
```

Resolved items leave the active list but remain historical/auditable.

## Blockers

Blocker rows show:

```text
severity
short title
compact explanation
explicit Next action
priority
Resolve action
```

A dependency blocker names its prerequisite relationship where applicable. The Overview may summarize; the full dependency truth remains in Queue/Graph.

## Active Plans

Columns:

```text
Plan
Progress
Status
Next milestone
```

The Plan row itself navigates to Plan. Do not add a routine redundant `Open Plan` button.

This panel answers **what is in progress and what is coming soon**.

## FactoryRuns

Columns:

```text
Run ID
Plan / Task
Status
Model / Account
Started
```

Running and planned rows may coexist when truthful. Exact primitive IDs are navigable.

This panel answers **what is being done now**.

## Recently Completed

Columns:

```text
Run ID
Plan / Task
Completed
```

Use meaningful completed lifecycle work rather than raw logs. This panel answers **what was done recently**.

## Queue / Next Up

The Project Overview uses a full-width compact five-column Queue summary:

```text
Now (Ready)
Next
Later
Waiting (External)
Blocked
```

Each column exposes ordered work plus owning Plan/context and count. `View full queue` opens the dedicated Queue / Graph surface.

The Project summary is a projection only. The Work Queue domain remains authoritative for:

- hard dependency legality;
- server-side cycle prevention;
- legal movement range;
- policy/approval/resource constraints;
- dispatch eligibility;
- dependency blocker explanation;
- cross-Plan relationships.

Manual priority cannot make an illegal dependency order legal.

## Project Health Footer

Final U1 footer exposes:

```text
Project Health + state
Last updated + refresh
Project timezone
Customize
```

Freshness is explicit; stale data may remain readable but protected mutations require current authoritative connectivity.

## Vision

Vision is accessed through the Project tab/header context. A short product subtitle may orient the header. Full ProjectVision purpose/users/non-goals/history/provenance remain on Vision detail.

If Vision becomes stale/conflicted, surface Attention rather than silently replacing it.

## Search / Command Palette

The final U1 top bar reserves Search/Cmd+K in its permanent location. Search result authority and command behavior may deepen at I3; the visual shell does not need a large `Planned I3` label inside the field.

## Project Manager Advisor

Project Manager remains an I3 capability with Project-scoped grounding and canonical action authority. The final owner-approved U1 does **not** reserve a mandatory floating launcher on the Overview screen. I3 activation must integrate without disturbing the approved U1 operational hierarchy and requires its own approved interaction placement.

## States

- Empty/new Project: compact onboarding/New Plan path with truthful empty sections.
- Loading: shell/header preserved; section skeletons.
- Error: partial section failure with retry and last-known freshness.
- Populated: owner-approved hierarchy above.
- Stale: source/evidence freshness visible.
- Archived/paused: banner explains restrictions and Resume/Unarchive policy action.
- Permission-limited: unavailable protected actions explain why.

## Responsive / Accessibility

Desktop high-fidelity authority is the approved 1536×1024 U1 composition.

At narrower widths preserve semantic order rather than shrinking everything blindly:

```text
Goals
Attention
Blockers
Active Plans
FactoryRuns
Recently Completed
Queue groups
Project health/footer
```

Requirements:

- no mid-word wrapping or clipped primary content;
- tables become semantic stacked rows where required;
- Queue groups may stack or become an accessible horizontal region;
- all nav/tabs/rows/actions are keyboard reachable;
- visible focus states;
- status never relies only on color;
- action labels remain understandable to assistive technology.

## URL Truth

Project route remains stable `/projects/:projectId`. Meaningful selected tab/filter/subview is URL-restorable. Queue links preserve Project/filter context.

## Data / Source of Truth

Project identity/defaults and ProjectVision history come from Project domain. Goals come from Goals domain. Plans/Tasks/Queue/FactoryRuns/CI/Releases/Deployments/Incidents/Decisions remain authoritative in their own domains. Overview is a read model only.

## Actions / Authorization

`New Plan`, Goal/ProjectVision mutation, binding/config changes and protected attention/blocker actions require normal capabilities/policies. Project aggregation never broadens permission.

## Invariants From Day 1

- Project is not a repository-settings page.
- ProjectVision, Goal and Plan remain distinct.
- `GOLIVE` is not a first-class primitive.
- U1 prioritizes Goals / Attention / Blockers / active-running-completed work / Queue.
- no generic KPI-number strip displaces operational content.
- Plan and Task rows are direct navigation targets.
- dependency blockers name the blocking relationship when applicable.
- Queue summary never contradicts the dependency graph.
- aggregate panels never become duplicate state authority.
- final U1 placement is binding until an explicit owner-approved amendment.

## Increment Realization

```text
I1  final U1 Project shell + Goals/attention/blockers + Plans + FactoryRuns + recent completed + Queue summary
I2  onboarding/Goal management/Planning/defaults depth
I3  Decisions/HITL + Search depth + Project Manager interaction
I5  CI control-plane depth
I6  release/deployment depth
I7  cluster management
I8  incident/resolver depth
I9  organization/tenant context
```

## Related Contracts

- [`../domains/projects.md`](../domains/projects.md)
- [`../domains/goals.md`](../domains/goals.md)
- [`../domains/planning.md`](../domains/planning.md)
- [`../domains/work.md`](../domains/work.md)
- [`../domains/work-queue.md`](../domains/work-queue.md)
- [`queues-and-dependency-graph.md`](queues-and-dependency-graph.md)
- [`plan.md`](plan.md)
- [`factory-run.md`](factory-run.md)
- [`decision-log.md`](decision-log.md)
- [`advisory-chat.md`](advisory-chat.md)
- [`search-command-palette.md`](search-command-palette.md)

## Visual Mockup Authority

The owner-approved deterministic HTML is binding:

```text
docs/mockups/i1/u1-project.html
docs/mockups/i1/u1-final.css
```

Earlier generated images and earlier draft U1 compositions are superseded where they differ from this final visual authority.