runbook-tutorials/workplans/RBT-WP-0004-local-runbook-ui.md
tegwick 535836054a
All checks were successful
Work Records / validate (push) Successful in 21s
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 17s
Add runbook pack spec, validator, legacy launcher, and workplans RBT-WP-0002..0006
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 00:24:05 +02:00

1.7 KiB

id type title domain repo status flavor owner topic_slug created updated depends_on
RBT-WP-0004 workplan Local runbook UI infotech runbook-tutorials ready implementation claude stack 2026-09-29 2026-09-29
RBT-WP-0003

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: todo
priority: high

Run make security-bootstrap-ui in net-kingdom with Bernd and record what to keep (state chips nil/set/err/ok, next safe action, copyable command blocks, approval phrase) and what to change. Output: a short UX note in docs/.

Build the step view

id: RBT-WP-0004-T02
status: todo
priority: high

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

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

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

Acceptance Criteria

  • Bernd can complete the SSH tutorial pack in the UI without pasting outputs to an agent.
  • The UI refuses to display or store anything matching the secret markers.