Instead of multiple revise steps, design arrow visual #16

Closed
opened 2026-09-13 22:58:56 -04:00 by cmoriarty · 1 comment
Owner

Having hardcoded extra iterations isn't good design, it would look better if the two steps being repeated had arrows pointing to each other, with a count next to it like "x3". Which would then show the result, and how many were actually needed. image

Having hardcoded extra iterations isn't good design, it would look better if the two steps being repeated had arrows pointing to each other, with a count next to it like "x3". Which would then show the result, and how many were actually needed. ![image](/attachments/97b056d5-c1b1-4ddf-9be2-9567d62f4759)
Author
Owner

Shipped as the OpenSpec change spine-review-loop (archived as openspec/changes/archive/2026-09-14-spine-review-loop/; run-spine is a new main spec). Commit f5e8266.

What changed — the spine draws the review-and-revise loop as one loop where it began: a review row and a revise row joined by arrows pointing at each other, each with how many of its rounds actually ran (×2, ×1) and its latest round's status (not needed when none ran). Rounds that were not needed are not counted or shown.

the loop, closed

  • A loop step that is running, waiting on you, or failed keeps its own row under the closed loop, with its live line — the running row is where a step is watched, so it is never folded away.
  • Click the loop to open it to every round's steps in order; click again to close. Selecting a step the closed loop hides (↑/↓ walk, or a deep link) opens it; selecting the running lens does not.

round 2 in progress

Decision to review: this is the visual only. The pipeline still declares its bounded rounds (.r2, .r3) as nodes; making the number of rounds dynamic is a scheduler change and is not in this one.

Tested: unit tests for the grouping (two rounds/one revision, clean first review, running round-2 lens, no revise steps); e2e/review-loop.spec.ts against the fake osfd (counts, arrows, hidden rounds, open/close order, running lens under the closed loop, selection opening it); vitest 332, Playwright 18 passed.

Shipped as the OpenSpec change `spine-review-loop` (archived as `openspec/changes/archive/2026-09-14-spine-review-loop/`; `run-spine` is a new main spec). Commit f5e8266. **What changed** — the spine draws the review-and-revise loop as one loop where it began: a `review` row and a `revise` row joined by arrows pointing at each other, each with how many of its rounds actually ran (`×2`, `×1`) and its latest round's status (`not needed` when none ran). Rounds that were not needed are not counted or shown. ![the loop, closed](https://forgejo.underthere.xyz/attachments/c6dc1be3-9edf-4f23-a301-18e152ceb51c) - A loop step that is **running, waiting on you, or failed** keeps its own row under the closed loop, with its live line — the running row is where a step is watched, so it is never folded away. - **Click the loop** to open it to every round's steps in order; click again to close. Selecting a step the closed loop hides (↑/↓ walk, or a deep link) opens it; selecting the running lens does not. ![round 2 in progress](https://forgejo.underthere.xyz/attachments/473308ee-c055-47ce-8a36-fc763f5675d5) **Decision to review:** this is the visual only. The pipeline still declares its bounded rounds (`.r2`, `.r3`) as nodes; making the number of rounds dynamic is a scheduler change and is not in this one. **Tested:** unit tests for the grouping (two rounds/one revision, clean first review, running round-2 lens, no revise steps); `e2e/review-loop.spec.ts` against the fake osfd (counts, arrows, hidden rounds, open/close order, running lens under the closed loop, selection opening it); vitest 332, Playwright 18 passed.
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#16
No description provided.