runbook-tutorials/workplans/RBT-WP-0004-local-runbook-ui.md
tegwick e30d81c5b6
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 3s
Work Records / validate (push) Successful in 12s
Sync consistency output
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
2026-09-29 10:49:53 +02:00

4.5 KiB

id type title domain repo status flavor owner topic_slug created updated depends_on state_hub_workstream_id
RBT-WP-0004 workplan Local runbook UI infotech runbook-tutorials active implementation claude stack 2026-09-29 2026-09-29
RBT-WP-0003
bbd03473-fcf7-5b20-a295-e9ff45fb7ecc

Goal

The interface that made the operator ask for this: a local web UI (and a terminal fallback) that shows where you are in a runbook, what to do next, and what you have proven.

Review the existing console's interaction model

id: RBT-WP-0004-T01
status: done
priority: high
state_hub_task_id: "8309d778-3688-5cb3-bb34-18f87b66dbf3"

Done 2026-09-29 with Bernd. Findings and consequences are in docs/ux-review-2026-09-29.md; the model they imply is proposed in docs/pack-spec-v0.2.md.

Build the step view

id: RBT-WP-0004-T02
status: done
priority: high
state_hub_task_id: "e15c22b6-60eb-5a54-9d22-b268897fcf4d"

Parameter form, ordered steps with owner tags, rendered copyable commands, "done when" with confirm/verify, rollback shown beside each step, progress overview, resume after restart. Localhost only, no external calls, whynot-design posture, works without JavaScript frameworks.

Terminal mode

id: RBT-WP-0004-T03
status: todo
priority: medium
state_hub_task_id: "a33cbd52-8759-583f-a2f0-8ab926569346"

rtut run <pack> walking the same run record in the terminal, for hosts without a browser.

Evidence view and export

id: RBT-WP-0004-T04
status: todo
priority: medium
state_hub_task_id: "616255c2-091c-5948-8160-abd9dc69907f"

Show the run record, export it as non-secret JSON, and produce the exercise-status diff from RBT-WP-0003-T04.

Fix the check, record and lock-in cycle

id: RBT-WP-0004-T05
status: done
priority: high
state_hub_task_id: "d635f972-0377-5581-a8fe-c01ef89559cd"

Done 2026-09-29 against the lighthouse showcase (tested over HTTP; a browser pass by Bernd is still the real check). Defects found in review: a ticked manual check shows "passed" while the step stays running, and unticking changes nothing; blocked steps show no Start button and no reason. Make the cycle explicit (check, record, mark done), and show what a blocked step is waiting for.

Questionnaire flow on the v0.2 model

id: RBT-WP-0004-T06
status: wait
priority: high
state_hub_task_id: "261bf74f-f5cd-55bb-9a96-12767418c980"

Depends on RBT-WP-0007. The serial guided flow is the main interface: stages with progress, the recommended next action, other ready actions, framing shown at the start of each stage, and gates shown at stage exit.

Dimension view

id: RBT-WP-0004-T07
status: wait
priority: high
state_hub_task_id: "16db09c7-7707-5d17-aab3-5d8eab2c1fce"

Depends on RBT-WP-0007. A random-access table of datapoints (with nil/set/err/ok state) grouped or filtered by dimension (actor, role, privilege, subsystem, kind), editable independently of the flow, plus the artefacts view.

Overview

id: RBT-WP-0004-T08
status: wait
priority: high
state_hub_task_id: "23d3f5cc-e844-5077-9a4a-0435c189d98b"

Depends on RBT-WP-0007. State transparency at a glance: stage progress, gate states and waivers, datapoint completeness by dimension.

Visual design

id: RBT-WP-0004-T09
status: wait
priority: medium
state_hub_task_id: "53c74197-4747-5bdd-9b7c-8bdc42b7c1f5"

Theme and layout at the quality of the old console or better: spacing, hierarchy, dark mode, visual guidance. Implemented in the renderer only; no presentation fields in the pack spec.

Typed-phrase confirmation

id: RBT-WP-0004-T10
status: wait
priority: medium
state_hub_task_id: "ddbca5e1-dcf6-5c2a-b3e2-497d2a82ba23"

Confirm button for reversible steps, typed phrase for irreversible ones, per the v0.2 reversible field.

Mode switch and override dialog

id: RBT-WP-0004-T11
status: wait
priority: high
state_hub_task_id: "99320417-8261-556b-8932-4947cfd8ce11"

Depends on RBT-WP-0007 T06-T07. Choose manual or autopilot per run (with timeout and push-through controls). In manual mode, an override dialog lists unmet preconditions and the downstream risk before continuing; deviations show in the overview.

Acceptance Criteria

  • Bernd can complete the SSH tutorial pack in the UI without pasting outputs to an agent.
  • The old console's seven runbooks can be walked in the new UI at equal or better clarity.
  • The UI refuses to display or store anything matching the secret markers.