diff --git a/workplans/RBT-WP-0002-runbook-pack-spec-and-validator.md b/workplans/RBT-WP-0002-runbook-pack-spec-and-validator.md index 6d3791a..62e7c91 100644 --- a/workplans/RBT-WP-0002-runbook-pack-spec-and-validator.md +++ b/workplans/RBT-WP-0002-runbook-pack-spec-and-validator.md @@ -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. diff --git a/workplans/RBT-WP-0006-execution-mode-and-pack-index.md b/workplans/RBT-WP-0006-execution-mode-and-pack-index.md index 6ebdd95..5851308 100644 --- a/workplans/RBT-WP-0006-execution-mode-and-pack-index.md +++ b/workplans/RBT-WP-0006-execution-mode-and-pack-index.md @@ -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" ``` diff --git a/workplans/RBT-WP-0009-finalize-the-runbook-tutorials-workplans.md b/workplans/RBT-WP-0009-finalize-the-runbook-tutorials-workplans.md new file mode 100644 index 0000000..853c22a --- /dev/null +++ b/workplans/RBT-WP-0009-finalize-the-runbook-tutorials-workplans.md @@ -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.