The rail cannot tell you which run you are looking at #1

Closed
opened 2026-09-13 07:43:06 -04:00 by cmoriarty · 1 comment
Owner

Reported from the running system. The far-left rail shows a status glyph and a step
count per run — ✗ 38/38, ✗ 37/37 — and nothing else. Two runs of the same graph are
indistinguishable, which is the whole job of a run list.

What it should do

  • Expand and collapse. Collapsed is roughly today's width. Expanded shows enough to
    identify a run without opening it.
  • Runs get titles. A run has a brief; it does not have a name a person can say out
    loud. It needs one, stored on the run, and shown in the rail when expanded.
  • Collapsed shows its index on the ledger and the date and time it started. A
    position and a moment are the two things that distinguish otherwise-identical runs, and
    both fit in the collapsed width.
  • The + button says "new run". It is the only unlabelled control in the app.

Why a title is the interesting part

The brief is a paragraph and the node ids are the graph's vocabulary, not the operator's.
A title is the one string that answers "which run was that?" — it belongs in the rail,
the ledger, the browser tab and any notification. Deriving it once, at intake, and
storing it on the run is cheaper and more stable than re-deriving it per surface.

Acceptance

  • A run row in the collapsed rail carries its ledger index and start time.
  • The rail expands and collapses, and the expanded row carries the run's title.
  • A run created from a free-text brief, a Forgejo issue, or a new project all end up
    with a title, and two runs of the same graph are distinguishable at a glance.
  • The + control is labelled.

Written from watching the running system. Source: docs/issues/01-the-rail-cannot-tell-you-which-run.md.

**Reported from the running system.** The far-left rail shows a status glyph and a step count per run — `✗ 38/38`, `✗ 37/37` — and nothing else. Two runs of the same graph are indistinguishable, which is the whole job of a run list. ## What it should do - **Expand and collapse.** Collapsed is roughly today's width. Expanded shows enough to identify a run without opening it. - **Runs get titles.** A run has a brief; it does not have a name a person can say out loud. It needs one, stored on the run, and shown in the rail when expanded. - **Collapsed shows its index on the ledger and the date and time it started.** A position and a moment are the two things that distinguish otherwise-identical runs, and both fit in the collapsed width. - **The `+` button says "new run".** It is the only unlabelled control in the app. ## Why a title is the interesting part The brief is a paragraph and the node ids are the graph's vocabulary, not the operator's. A title is the one string that answers "which run was that?" — it belongs in the rail, the ledger, the browser tab and any notification. Deriving it once, at intake, and storing it on the run is cheaper and more stable than re-deriving it per surface. ## Acceptance - A run row in the collapsed rail carries its ledger index and start time. - The rail expands and collapses, and the expanded row carries the run's title. - A run created from a free-text brief, a Forgejo issue, or a new project all end up with a title, and two runs of the same graph are distinguishable at a glance. - The `+` control is labelled. --- *Written from watching the running system. Source: `docs/issues/01-the-rail-cannot-tell-you-which-run.md`.*
Author
Owner

Follow-up to the commit that closed this: the last acceptance line — runs from a brief, a Forgejo issue, or a new project all get a title a person can say — was not fully met. A run from an issue was titled owner/repo#N. The New Run form now sends the picked issue's own title as the run's name (the reference remains the fallback), with a test covering all three entry points. Commit e1a3abc (local main, not yet pushed).

Verified in Chromium against the live osfd: the rail shows each run's #N, title, start time and where it got to (computed server-side, unchanged across run switches); collapsed shows #N, date and time; "new run" is labelled.

Follow-up to the commit that closed this: the last acceptance line — runs from a brief, a Forgejo issue, or a new project all get a title a person can say — was not fully met. A run from an issue was titled `owner/repo#N`. The New Run form now sends the picked issue's own title as the run's name (the reference remains the fallback), with a test covering all three entry points. Commit e1a3abc (local main, not yet pushed). Verified in Chromium against the live osfd: the rail shows each run's `#N`, title, start time and where it got to (computed server-side, unchanged across run switches); collapsed shows `#N`, date and time; "new run" is labelled.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
cmoriarty/braid#1
No description provided.