Qualify wait tasks per Task Wait Qualifiers v0.1 (CUST-WP-0074-T05, long tail)

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: sonnet
Assistant-Process: 237582@bnt-lap001
Assistant-Session: f2b3d9f1-8fb9-4b9c-bc2b-837ec5dfc826
This commit is contained in:
tegwick 2026-09-29 21:25:00 +02:00
parent b6e3062959
commit b89e8eaa74
3 changed files with 125 additions and 1 deletions

View file

@ -84,10 +84,12 @@ Done 2026-09-29: `schema/runbook-pack-v0.2.schema.json` and `rtut/v2.py` (acycli
```task
id: RBT-WP-0002-T06
status: wait
status: todo
priority: medium
state_hub_task_id: "dae5a6fe-9f1f-553a-8b73-f47ab6d91b59"
```
2026-09-29 (CUST-WP-0074-T05 backfill): this task was `wait` with no external dependency or human gate stated, which Task Wait Qualifiers v0.1 treats as unqualified; set to `todo`. Re-add `wait` with a qualifier if a real gate exists.
Port the four validating packs to v0.2 where it helps, and add v0.2 test packs with
alternatives, gates and actors.

View file

@ -24,6 +24,8 @@ discovery of packs across the estate.
```task
id: RBT-WP-0006-T01
status: wait
needs_human: true
blocking_reason: "Needs a decision on which identity runs the command."
priority: low
state_hub_task_id: "0424deab-3b51-5222-80b1-54c0ea26928d"
```
@ -37,6 +39,8 @@ decision on which identity runs the command.
```task
id: RBT-WP-0006-T02
status: wait
needs_human: true
blocking_reason: "Needs a decision on scan scope."
priority: low
state_hub_task_id: "0cfb69bc-dc7e-5960-8359-64c49a742a6e"
```
@ -49,6 +53,8 @@ a capability entry in the registry. Needs a decision on scan scope.
```task
id: RBT-WP-0006-T03
status: wait
needs_human: true
blocking_reason: "Needs decisions on access, identity and what is sent where."
priority: low
state_hub_task_id: "ce82d1ae-76a3-59c8-9d26-4813e8dc9745"
```
@ -62,6 +68,8 @@ feedback, confirm loop. Needs decisions on access, identity and what is sent whe
```task
id: RBT-WP-0006-T04
status: wait
needs_human: true
blocking_reason: "Needs a decision on how a pack in another repo is identified and trusted."
priority: low
state_hub_task_id: "acd969c3-3bd4-5953-9f9a-8ad8c5d8e380"
```

View file

@ -0,0 +1,114 @@
---
id: RBT-WP-0009
type: workplan
title: "Finalize the runbook-tutorials workplans"
domain: infotech
repo: runbook-tutorials
status: active
flavor: implementation
owner: claude
topic_slug: stack
created: "2026-09-29"
updated: "2026-09-29"
depends_on: [RBT-WP-0002, RBT-WP-0004, RBT-WP-0005, RBT-WP-0006, RBT-WP-0007, RBT-WP-0008]
---
## Goal
Close every runbook-tutorials workplan before new functionality is introduced. "Closed" means finished, or moved to
`backlog` with the open decisions written down. Agreed with Bernd on 2026-09-29: the definition of done is *all workplans closed*
(no formal freeze ceremony; a security and code review remains an optional follow-up).
Decisions taken with the plan: keep old packs that still carry `exercise_status` loadable (ignored, deprecated); keep the
NetKingdom security bootstrap console as a permanent legacy pack; port the three NetKingdom packs to v0.2; move terminal mode to the
backlog and do only a small JSON export.
## Retire exercise_status
```task
id: RBT-WP-0009-T01
status: todo
priority: high
```
`exercise_status` mixed three things (RBT-WP-0008). Maturity, derived from run history, replaces it. Remove the "Record pack as
exercised" click and `apply_exercise` / `exercise_update`; drop the field from the shipped packs (both repositories) and from the UI
headers; make it optional and deprecated in both schemas so old packs still load; show maturity where the status was shown.
## Packaging, checks and CI
```task
id: RBT-WP-0009-T02
status: todo
priority: high
```
Declare the dependencies (`pyproject.toml`: PyYAML, jsonschema, pytest) so a fresh checkout can run; add `rtut check` (packs, attribute
sets, projects and templates in one go) and `make check`; replace the copied smoke-only CI with a job that runs the tests and the checks.
## Documents and bookkeeping
```task
id: RBT-WP-0009-T03
status: todo
priority: medium
```
Refresh `SCOPE.md` (it still says "bootstrap"), add a `docs/README.md` index, note in the specs that v0.1 and v0.2 changes from here on
become a new version, update the capability entry, and make the workplan statuses true (RBT-WP-0007 finished, RBT-WP-0002-T07 done,
RBT-WP-0006 and NK-WP-0011 to backlog).
## Evidence export
```task
id: RBT-WP-0009-T04
status: todo
priority: medium
```
Close RBT-WP-0004-T04: a closed run's record can be downloaded as JSON from its page (the record is non-secret by construction;
the download is refused for a run that is still open).
## Console mapping: is v0.2 expressive enough
```task
id: RBT-WP-0009-T05
status: todo
priority: high
```
`docs/console-mapping.md`: map the security bootstrap console's 6 stages, 14 gates, roles, subsystems, integrations, 12 artefacts
and 7 runbooks onto v0.2 and say honestly where a special case is needed. This is the acceptance evidence for the model. It closes
RBT-WP-0005-T03, records the decision to keep the console as a permanent legacy pack (T05), and moves the extraction (T04) to the backlog.
## Port the NetKingdom packs to v0.2
```task
id: RBT-WP-0009-T06
status: todo
priority: high
```
`nk.ssh-certificates`, `nk.openbao-operating-path` and `nk.protected-system-flex-auth` become v0.2 packs with actors, datapoints,
stages, gates, idempotency and framing, so the real content uses the model and exercise evidence attaches to the format that stays.
Closes RBT-WP-0002-T06 and updates NK-WP-0044.
## Close the workplans
```task
id: RBT-WP-0009-T07
status: todo
priority: high
```
Set every status to what is true, move terminal mode and the evidence work that is not done to the backlog with the decisions written
down, archive the finished workplans, sync State Hub, and record a progress event. Work that needs Bernd's own environment
(NK-WP-0044-T05 attended runs, NK-WP-0009 T03-T05, the external STS issuer for T02) stays in net-kingdom and is named there.
## Acceptance Criteria
- No runbook-tutorials workplan is `active` with open `todo` work: each is `finished` or `backlog` with its decisions recorded.
- `exercise_status` is gone from the UI, the engine and the shipped packs; old packs still load.
- A fresh checkout can install and run the tests; CI runs them.
- The console mapping states plainly what v0.2 cannot express yet.
- The three NetKingdom packs validate as v0.2.