--- id: RBT-WP-0006 type: workplan title: "Execution mode and multi-repo pack index" 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-0004] state_hub_workstream_id: "35196f02-7cb9-5706-9529-1cba9c736058" --- ## Goal **Backlog (2026-09-29).** Later capabilities, deliberately not started, each waiting for a decision from Bernd: opt-in execution of steps (auto-pilot), discovery of packs across the estate, a runbook-aware feedback assistant, dependencies between runbooks, a terminal walk-through, the v0.3 design that closes the gaps in `docs/console-mapping.md`, and an optional security and code review. Nothing here blocks the finished runbook-tutorials workplans. ## Opt-in, audited step execution ```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" ``` Per-step `execute: true` allowed only for `read-only` steps first, with an explicit operator confirmation, timeouts, and an audit record. Needs a decision on which identity runs the command. ## Cross-repo pack index ```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" ``` `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 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" ``` 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. ## Dependencies between runbooks ```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" ``` Packs declare `requires_packs` with a required result (exercised, or a named gate passed), instead of deeper nesting (v0.2 caps nesting at three levels). Needs a decision on how a pack in another repo is identified and trusted. ## Terminal walk-through ```task id: RBT-WP-0006-T05 status: wait needs_human: true blocking_reason: "Needs a decision whether hosts without a browser justify it; the CLI already covers v0.1 runs (moved from RBT-WP-0004-T03)." priority: low ``` `rtut run ` walking a run in the terminal, for hosts without a browser. v0.2 runs can be driven from the engine and the UI, not yet from a terminal. ## v0.3: close the console gaps ```task id: RBT-WP-0006-T06 status: wait needs_human: true blocking_reason: "Needs a decision to start a v0.3 design: conditional applicability (G1), longer horizons (G2), gate recheck (G3), value predicates (G4), local-only attributes (G5), outputs feeding later members (G7). G6 is T01." priority: medium ``` The gaps in `docs/console-mapping.md`. Closing G1, G3 and G7 is also the precondition for extracting the console's engine parts and for modeling the security bootstrap as a project (the cancelled RBT-WP-0005-T04). ## Security and code review ```task id: RBT-WP-0006-T07 status: wait needs_human: true blocking_reason: "Optional follow-up agreed with Bernd on 2026-09-29: the workplans close without it. Needs a decision when to run it." priority: medium ``` Run the security review and the code review over the engine and the UI: it serves files (artefacts, records), writes YAML (projects, attribute sets), uses `shell=True` for operator-confirmed verify commands, and takes form input on localhost. Also first execution of `.forgejo/workflows/tests.yaml` on a real runner.