# Reviewing a pull request

Open the link the author shared, or any pull request at `https://logikflow.dev/r/<owner>/<repo>/pull/<number>`, and sign in with GitHub.

## Read in order

The toolbar says whose order you're looking at and when it was saved, for example *Reading order by octo · 2 hours ago*. Read top to bottom:

- **How to read this pull request** sits above the first section when the author wrote an overview or made two or more sections. It holds the overview, the list of sections with their layer and how many files you've viewed in each, and the key files to start with. Click a section or a key file to jump to it. Collapse the card with the arrow; LogiKFlow remembers that for this pull request.
- **Sections** start with a title, a layer label such as *Models & types* when the author set one, a note from the author, and sometimes a checklist.
- **File cards** show the diff, with the author's note and checklist above it when there is one.
- **Split files:** an author can split a file whose changes belong to different sections. Each part is its own card, labelled *Part 1 of 2*, and shows only its own changes. The file tree lists each part, marked *1/2*, *2/2*. Viewed is per file, so ticking one part ticks every part.
- The **file tree** on the left follows the same order and highlights the file you're reading. Type in the filter box to find a file by path.

Diffs over 400 changed lines, and files the author labelled **Generated**, start collapsed. Open one with the arrow in its header. Collapse a whole section with the arrow next to its title. Each section shows how many of its files you've viewed.

### Focus labels

Authors can label files so you know where to spend your attention:

| Label | Meaning |
|---|---|
| **Key file** | The heart of the change. Read it carefully. |
| **Skim** | Mechanical or low-risk, such as a rename or a string. |
| **Generated** | Generated or vendored output. Collapsed by default. |

### Comments

A speech-bubble count in a file's header, and in the file tree, shows how many review comments the file has on GitHub. Click it, or the GitHub icon, to open that file's diff on GitHub.

## Diagram

When the author's agent has drawn a flow diagram, a **Diagram** tab appears next to **All files** and **One change** (or press `d`). It shows how the pieces of the change connect: each box is a step or a piece of code, grouped into areas, with labelled arrows.

- **Click a box** to open its file, or the exact change it points to. Boxes that open something show ↗.
- **Hover a box** to highlight what it connects to.
- **Move around:** a large diagram opens at a readable size, starting from the left. Drag to pan, pinch or Ctrl and scroll to zoom, and **Fit** (or `0`) to see it all. `+` and `-` zoom from the keyboard.
- **Full screen:** the button next to the zoom controls (or `Shift`+`F`) gives the diagram the whole screen. Press Esc or the same button to come back.
- **List** shows the same diagram as a list, which reads better on a phone and with a screen reader. Phones start with the list.
- If commits were pushed after the diagram was drawn, it says so; ask the author to redraw it.

If there's no diagram and you have write access, the tab offers a prompt to copy into your agent.

## One change at a time

A file can hold several unrelated edits. Switch the toolbar from **All files** to **One change** (or press `f`) to review one change area at a time, in reading order:

- You see the current section's title, note and checklist, the file's header and the author's note, and just **one change** from that file. The overview card shows on the first change.
- The step bar shows where you are, for example *Change 7 of 42 · invite-service.ts · 2 of 3 here*, with a progress bar. For a split file it also says which part you're in.
- **Next change ›** moves within the file; at the file's last change it becomes **Next file ›**. Use `]` and `[` from the keyboard, or swipe left and right on a phone.
- On a file's last change, **Mark viewed and continue** marks the file viewed and takes you to the next file you haven't viewed.
- Clicking a file in the file tree jumps to its first change. `j` and `k` still move a whole file at a time.
- The address bar updates as you go (`#change-12-1`), so you can share a link to one exact change.

Choose **All files** (or press `f` again) to go back to the full list. Your choice is remembered.

## View settings

The gear button in the toolbar holds the diff settings. Your choices are remembered in this browser.

- **Unified** (one column) or **Split** (old and new side by side).
- **Hide whitespace:** hides lines whose only change is whitespace, such as indentation.
- **Compact line height:** fits more lines on screen.
- **Collapse imports:** folds 3 or more import lines in a row into one line, such as *8 import lines · +2 −1*, so the real change comes first. Click it to see the imports. It understands imports in JavaScript and TypeScript, Python, Kotlin, Java, Go, Rust, Swift, C and C++, C#, PHP, Ruby and Dart, including imports that span several lines.
- **One change at a time:** the same as the toolbar switch.
- **Expand all** and **Collapse all**.

Changed lines also highlight the exact characters that changed.

## Keyboard shortcuts

| Key | Action |
|---|---|
| `j` / `k` | Next or previous file |
| `n` | Next file you haven't viewed |
| `v` | Mark the current file viewed and go to the next one |
| `e` | Expand or collapse the current file |
| `o` | Open the current file in GitHub |
| `s` | Switch between unified and split |
| `f` | One change at a time on or off |
| `]` / `[` | Next or previous change, in one-change mode |
| `d` | Diagram on or off, when the pull request has one |
| `?` | Show all shortcuts |

## Viewed

Tick **Viewed** on a file when you're done with it. The card collapses and the file tree shows a check.

- Viewed is saved to your account, so it follows you to other devices and browsers.
- It's tied to the file's content. If the author pushes a change to that file, it becomes unviewed again, so you never miss a change.
- When that happens, the file shows **Changed since you viewed**. Choose it to see only what changed since you last looked, instead of the whole diff again. Choose **Show full diff** to switch back.
- **Clear viewed** unticks every file in the pull request at once, for when you want to start the review again.

The meter in the toolbar shows how many files you've viewed. The people button next to it shows everyone's progress: files viewed and checklist items ticked.

## Checklists

Tick checklist items as you verify them. Your ticks are saved and shown to everyone: each item lists who checked it, and each section shows how many you've checked. Untick an item to take your check back.

## Comments and approval

Leave review comments and approvals on GitHub as usual; **Open on GitHub** takes you there. LogiKFlow is for reading the change in the right order. It doesn't replace GitHub's review tools.

## Refresh

**Refresh** reloads the pull request from GitHub, including new commits and the latest saved order.
