Record UX review, propose spec v0.2, add workplan RBT-WP-0007 and UI tasks
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 5s
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 10:31:17 +02:00
parent 6ed772052f
commit cb517b613a
6 changed files with 402 additions and 12 deletions

View file

@ -57,20 +57,42 @@ semantic checks the schema cannot express (placeholders, duplicates, rollback,
secret markers, parameter defaults) and 16 tests. Parameter rendering rejects
unsafe characters.
## Review the specification with the operator and freeze v0.1
## Review the v0.2 proposal and decide
```task
id: RBT-WP-0002-T04
status: todo
status: progress
priority: high
state_hub_task_id: "1e1bdfdd-2482-5280-a870-5d823dfa1d34"
```
Walk through the spec with Bernd against the real NetKingdom packs and the
legacy console. Open questions: step branching and conditional steps; whether
`verify` may run a command automatically; how packs declare dependencies on
other packs; signed packs. Record decisions and freeze `runbook-pack/v0.1`, or
raise v0.2 with a migration note.
`docs/pack-spec-v0.2-proposal.md` (stages and hierarchy, dependency graph with a
recommended serialization, datapoints with `nil/set/err/ok`, QA gates tied to stages
and goals, actors and roles, artefacts, reversibility-based confirmation, framing).
Review with Bernd, resolve the five open questions, and decide: freeze v0.1 as
shipped and adopt v0.2. Supersedes the earlier plan to freeze v0.1 alone.
## Write the v0.2 schema and validator
```task
id: RBT-WP-0002-T05
status: wait
priority: high
```
After T04: `schema/runbook-pack-v0.2.schema.json`, semantic checks (acyclic
requires, gate and datapoint references resolve, one stage per gate, no secret
datapoints), v0.1 packs still load, tests.
## Port the in-repo and NetKingdom packs
```task
id: RBT-WP-0002-T06
status: wait
priority: medium
```
Port the four validating packs to v0.2 where it helps, and add v0.2 test packs with
alternatives, gates and actors.
## Acceptance Criteria

View file

@ -24,14 +24,12 @@ what you have proven.
```task
id: RBT-WP-0004-T01
status: todo
status: done
priority: high
state_hub_task_id: "8309d778-3688-5cb3-bb34-18f87b66dbf3"
```
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/`.
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-proposal.md`.
## Build the step view
@ -71,7 +69,79 @@ 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
```task
id: RBT-WP-0004-T05
status: todo
priority: high
```
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
```task
id: RBT-WP-0004-T06
status: wait
priority: high
```
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
```task
id: RBT-WP-0004-T07
status: wait
priority: high
```
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
```task
id: RBT-WP-0004-T08
status: wait
priority: high
```
Depends on RBT-WP-0007. State transparency at a glance: stage progress, gate states
and waivers, datapoint completeness by dimension.
## Visual design
```task
id: RBT-WP-0004-T09
status: wait
priority: medium
```
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
```task
id: RBT-WP-0004-T10
status: wait
priority: medium
```
Confirm button for reversible steps, typed phrase for irreversible ones, per the v0.2
`reversible` field.
## 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.

View file

@ -43,3 +43,15 @@ state_hub_task_id: "0cfb69bc-dc7e-5960-8359-64c49a742a6e"
`rtut list --estate` scans registered repos for `runbooks/*/pack.yaml` and publishes
a capability entry in the registry. Needs a decision on scan scope.
## Runbook-aware feedback assistant
```task
id: RBT-WP-0006-T03
status: wait
priority: low
```
Operator feedback on a step feeds an assistant that knows the runbook and may
diagnose the deployment (read-only access first), giving a feedback, retry,
feedback, confirm loop. Needs decisions on access, identity and what is sent where.

View file

@ -0,0 +1,79 @@
---
id: RBT-WP-0007
type: workplan
title: "Engine v0.2: graph, datapoint states and gates"
domain: infotech
repo: runbook-tutorials
status: backlog
flavor: implementation
owner: claude
topic_slug: stack
created: "2026-09-29"
updated: "2026-09-29"
depends_on: [RBT-WP-0002]
---
## Goal
Make the engine understand the v0.2 model so a renderer can show a questionnaire flow,
a dimension view and an overview from the same run data.
## Dependency graph and recommended next action
```task
id: RBT-WP-0007-T01
status: wait
priority: high
```
Compute ready items from `requires` and `one_of`; recommended next = first ready in
canonical order; explain what a blocked item waits for.
## Datapoint states
```task
id: RBT-WP-0007-T02
status: wait
priority: high
```
`nil/set/err/ok` per datapoint in the run record, with validation, dimension tags, and
how `ok` is reached (check or recorded manual confirmation).
## Gates and waivers
```task
id: RBT-WP-0007-T03
status: wait
priority: high
```
Evaluate gate checks (same confirmation rule as step verify), block dependents and stage
exit, record waivers with who, when and why.
## Run record v0.2
```task
id: RBT-WP-0007-T04
status: wait
priority: medium
```
`runbook-run/v0.2` with datapoints, gates, waivers; v0.1 records still load.
## Confirmation policy
```task
id: RBT-WP-0007-T05
status: wait
priority: medium
```
Derive confirm button versus typed phrase from `reversible`; enforce the phrase in the
engine so no renderer can skip it.
## Acceptance Criteria
- The old console's stages, gates and datapoints can be expressed and computed
without special cases.
- A v0.1 pack behaves exactly as before.