<!-- SPDX-FileCopyrightText: 2026 FocusFlow contributors -->
<!-- SPDX-License-Identifier: AGPL-3.0-only -->

# UI Plan 2 Block 01 — Repo Scope, Guardrails, and Mockup Assets

**Goal:** Prepare the repo for Backlog board implementation without changing product behavior yet.

---

## Block outcome

After this block, Codex has verified repo conventions, copied/registered the mockups for local reference, captured baseline validation, and identified the smallest safe implementation path.

---

## Chunk 1.1 — Read repo instructions and baseline state

### Tasks

1. Read `AGENTS.md` first.
2. Read root `README.md`.
3. Read `apps/focus_flow_flutter/README.md`.
4. Read UI Plan 1 summary and block files under:
   - `Codex Documentation/Completed Plans/UI Plan 1 - Compact Today Timeline Mockup/`
5. Inspect current Backlog-related files:
   - `apps/focus_flow_flutter/lib/widgets/backlog_pane.dart`
   - `apps/focus_flow_flutter/lib/widgets/schedule_components.dart`
   - `apps/focus_flow_flutter/lib/controllers/scheduler_read_controller.dart`
   - `apps/focus_flow_flutter/lib/controllers/command/scheduler_command_controller_impl.dart`
   - `packages/scheduler_core/lib/src/application/application_management/**`
   - `packages/scheduler_core/lib/src/scheduling/backlog/**`
6. Confirm that Flutter app code imports only public scheduler APIs.
7. Confirm current tests and expected command names.

### Acceptance criteria

- Codex understands that V1 is SQLite-first and Flutter must not import persistence adapters directly.
- Codex has identified whether domain/persistence changes are needed for notes/tags/remove/someday.
- No code behavior changed in this chunk.

---

## Chunk 1.2 — Place mockup references in the plan folder

### Tasks

1. Ensure the plan folder contains:
   - `mockups/backlog_board_default.png`
   - `mockups/backlog_task_drawer.png`
2. Add or preserve `mockups/README.md` explaining which image represents which state.
3. Do not store generated image prompt text in code comments.
4. Do not overwrite existing UI Plan 1 mockups.

### Acceptance criteria

- Mockup files are available from the plan folder.
- The default and drawer states are unambiguous.

---

## Chunk 1.3 — Run baseline validation

### Tasks

From repo root:

```sh
dart analyze
dart test
```

From Flutter app:

```sh
cd apps/focus_flow_flutter
flutter analyze
flutter test
```

If environment setup is missing, run the highest-confidence subset and record exact failures.

### Acceptance criteria

- Baseline validation result is known before coding.
- Existing failures are documented separately from new work.

---

## Chunk 1.4 — Create implementation notes for scope boundaries

### Tasks

Create a short working note, either in the block commit message or a temporary implementation checklist, identifying:

1. Which files currently render the sidebar and app shell.
2. Which controller/composition object will own navigation state.
3. Which read-model expansion is required for the board.
4. Which commands already exist and which must be added.
5. Which UI widgets can be reused from UI Plan 1:
   - dark theme tokens,
   - reward icon,
   - difficulty bars,
   - selected overlay patterns,
   - top-bar button style patterns.

### Acceptance criteria

- Codex has a narrow implementation map before writing new code.
- No speculative large refactors are planned.

BREAKPOINT: Stop here if baseline tests fail in a way that could hide regressions.

---

## Block acceptance criteria

- Repo instructions read.
- Mockup assets placed and documented.
- Baseline validation attempted and recorded.
- No unrelated code changed.
