---
title: Runs and history
description: The health strip, run history and run detail, including parsed versus claimed, drops by reason, settings used and the Claude session link.
sidebar:
  order: 9
---

## What it is

`#/runs` shows a health strip (one item per producer) and the run history. `#/runs/<id>` shows one run in detail. It is read only, apart from marking a run seen.

## Why it exists

A routine that runs at 22:00 UTC is invisible unless something shows whether it ran, what it read, and what it dropped. Runs is that view. The Claude routines page stays the place for schedule edits and logs.

## How it works

### Health strip

Per producer: the last run's status (`ok`, `partial`, `failed`), "parsed N of M sources", and timing. "Late means the last run is older than twice the time between scheduled runs." With no schedule: "No schedule recorded".

### Run detail

| Section | Shows |
|---|---|
| Status and times | `status`, `startedAt`, `endedAt` |
| Parsed and claimed | Sources fully read against sources found |
| Counts | `new`, `updated`, `unchanged`, `dropped` |
| Dropped by reason | Each drop reason with its count; "Nothing was dropped." |
| Inbox messages | Messages written, plus "N held back by the cap" when `inboxSuppressed` is set |
| Settings used and now | `settingsUsed` beside current values; "This run recorded no settings." |
| Definition version | The compiled version the run used |
| Claude session | "Open session" when `sessionUrl` is a Claude session URL |

Mark seen writes the viewer's acknowledge mark, `data/users/<viewer>/state/ack/<runId>` (the same mark Today uses): "You marked this run seen." Without a viewer: "Mark seen needs a viewer id, which this visit does not have."

> Since 0.5.0: Runs becomes History (`#/history`, keys `g h`), with four modes: List, Calendar, Health and Activity (`?mode=list|cal|health|activity`). `#/runs` redirects to `#/history` and `#/runs/<id>` to `#/history/<id>`. Activity shows people's decisions, filterable by person and kind, with names from the viewer profiles.

## Worked example

An illustrative later Hiring Signals run, `2026-11-05-2200`, shows `partial`, "parsed 4 of 5 sources", a `dropped` note "PH board failed to load", Dropped by reason `not in title_keywords: 6`, and Settings used `title_keywords: [Shopify, headless, commerce, AI automation]` against the current value with `hydrogen` added.

## Common pitfalls

- **Expecting schedule edits here.** Edit the schedule on the Claude routines page.
- **A half-applied run.** A run whose done batch was never applied is unfinished. Rerun `write` with the same run id and apply the batches again; sightings are not duplicated.

## Related

- [The store and the write contract](/concepts/store-and-write-contract)
- [Scheduling](/infrastructure/scheduling)
