v0.2 walk-through UI: guided flow, data view, overview, modes, overrides, typed phrase; retry confirmation; visual pass
Some checks failed
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 2s
Work Records / validate (push) Has been cancelled

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 295952@bnt-lap001
Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477
This commit is contained in:
tegwick 2026-09-29 14:42:09 +02:00
parent f8ce4717a8
commit f070999aa2
12 changed files with 1285 additions and 53 deletions

View file

@ -91,7 +91,7 @@ step instead of the top of the page.
```task
id: RBT-WP-0004-T06
status: todo
status: done
priority: high
state_hub_task_id: "261bf74f-f5cd-55bb-9a96-12767418c980"
```
@ -104,7 +104,7 @@ start of each stage, and gates shown at stage exit.
```task
id: RBT-WP-0004-T07
status: todo
status: done
priority: high
state_hub_task_id: "16db09c7-7707-5d17-aab3-5d8eab2c1fce"
```
@ -117,7 +117,7 @@ editable independently of the flow, plus the artefacts view.
```task
id: RBT-WP-0004-T08
status: todo
status: done
priority: high
state_hub_task_id: "23d3f5cc-e844-5077-9a4a-0435c189d98b"
```
@ -129,7 +129,7 @@ and waivers, datapoint completeness by dimension.
```task
id: RBT-WP-0004-T09
status: wait
status: done
priority: medium
state_hub_task_id: "53c74197-4747-5bdd-9b7c-8bdc42b7c1f5"
```
@ -142,7 +142,7 @@ in the pack spec.
```task
id: RBT-WP-0004-T10
status: wait
status: done
priority: medium
state_hub_task_id: "ddbca5e1-dcf6-5c2a-b3e2-497d2a82ba23"
```
@ -154,7 +154,7 @@ Confirm button for reversible steps, typed phrase for irreversible ones, per the
```task
id: RBT-WP-0004-T11
status: todo
status: done
priority: high
state_hub_task_id: "99320417-8261-556b-8932-4947cfd8ce11"
```
@ -195,6 +195,25 @@ change before writing it to `pack.yaml`; steps can capture the command run and i
Open: run histories are per machine (`.local/`), so a shared or committed history is still
to be decided.
## Delivered 2026-09-29: the v0.2 walk-through UI
`rtut/ui_v2.py` (tested over HTTP with 19 tests; rendering checked in headless Chromium screenshots of the flow, data and overview
views on a mid-run state). Three views of one run:
- **Guided flow** (main): framing shown first; a banner with the recommended next action and the other items possible in parallel;
nested stages with goals, per-stage questions (datapoints saved with validation), numbered steps with owner and actor, idempotency,
irreversible and manual-only marks; alternatives with the recommended one preselected; typed confirmation phrase for irreversible steps;
override dialog (reason, acknowledged downstream risk, recorded as a deviation) for blocked steps and gates in manual mode; gates with per-check
controls and waivers; retry that asks for the partial-application confirmation on non-idempotent steps; captures and pasted-output
checks; feedback and closing as before.
- **Data**: every datapoint editable independently of the flow, grouped or filtered by dimension (click a tag), with provenance,
plus artefacts (resolved locations) and actors.
- **Overview**: progress, per-stage state, gates, datapoint states, deviations, mode changes.
- **Modes**: manual, and auto-confirm with "check once", "run until it waits" and "take over"; a stop or push-through is shown.
Projects can start v0.2 members in either mode.
- **Visual design**: a restrained stylesheet (hairlines, state pills that never rely on colour alone, highlighter accent for
the recommended action, print rules). Dark theme is written but not verified in a browser.
## Acceptance Criteria
- Bernd can complete the SSH tutorial pack in the UI without pasting outputs to an agent.

View file

@ -99,12 +99,14 @@ Done 2026-09-29: `project.state()`: member status `not-applied | applying | appl
```task
id: RBT-WP-0008-T07
status: todo
status: done
priority: medium
state_hub_task_id: "8b34c57b-3380-5f7b-aaf5-6227a47dcf60"
```
Retrying a failed non-idempotent step requires the operator to confirm the earlier attempt did not partly apply.
Done 2026-09-29: `run2.retry(..., acknowledge_partial=True)` is required unless the step is declared `idempotent` (undeclared
counts as not idempotent); the UI asks with a checkbox; the acknowledgement is recorded on the step. v0.1 runs have no idempotency
declaration and keep their free retry.
## UI for projects, maturity and attributes