From c9ec4fb3824f9e62cdeb805860114eee3cc3f434 Mon Sep 17 00:00:00 2001 From: tegwick Date: Tue, 29 Sep 2026 14:43:45 +0200 Subject: [PATCH] Move the v0.2 showcase into its own runbook directory so the UI can open it Co-Authored-By: Claude Sonnet 5.5 Assistant: claude-code Assistant-Model: sonnet Assistant-Process: 295952@bnt-lap001 Assistant-Session: e93f64ad-516c-46eb-9666-aad8d300c477 --- .../pack.yaml} | 11 ++++------- tests/test_run2.py | 2 +- tests/test_ui_projects.py | 2 +- tests/test_ui_v2.py | 2 +- tests/test_v2.py | 2 +- .../RBT-WP-0002-runbook-pack-spec-and-validator.md | 2 +- 6 files changed, 9 insertions(+), 12 deletions(-) rename runbooks/{showcase-lighthouse/pack.v0.2.yaml => showcase-lighthouse-v2/pack.yaml} (94%) diff --git a/runbooks/showcase-lighthouse/pack.v0.2.yaml b/runbooks/showcase-lighthouse-v2/pack.yaml similarity index 94% rename from runbooks/showcase-lighthouse/pack.v0.2.yaml rename to runbooks/showcase-lighthouse-v2/pack.yaml index a9e7de4..de88cf0 100644 --- a/runbooks/showcase-lighthouse/pack.v0.2.yaml +++ b/runbooks/showcase-lighthouse-v2/pack.yaml @@ -1,11 +1,8 @@ -# DRAFT - not loaded by the engine. Written against docs/pack-spec-v0.2.md. -# Purpose: an acceptance test for the proposed model. If the model cannot express -# this story without special cases, the proposal must change. When v0.2 is adopted -# this file becomes pack.yaml (and the v0.1 file is retired or kept as a -# compatibility fixture). +# The same story as ../showcase-lighthouse, written in the v0.2 model: stages, parallel steps, alternatives, gates, actors, +# datapoints with dimensions, artefacts, irreversible confirmation, timeouts. It is the reference pack for the v0.2 walk-through UI. spec: runbook-pack/v0.2 -id: rtut.showcase-lighthouse -title: "Showcase: a night at the lighthouse" +id: rtut.showcase-lighthouse-v2 +title: "Showcase: a night at the lighthouse (v0.2)" owner: runbook-tutorials outcome: You have played a short interactive story that touches every feature of the runbook engine, using only harmless echo, printf and a scratch file under /tmp/rtut-. exercise_status: unexercised diff --git a/tests/test_run2.py b/tests/test_run2.py index d70562f..eec3225 100644 --- a/tests/test_run2.py +++ b/tests/test_run2.py @@ -10,7 +10,7 @@ import yaml from rtut import pack as P, run as R1, run2 as R ROOT = Path(__file__).resolve().parent.parent -SRC = yaml.safe_load((ROOT / "runbooks/showcase-lighthouse/pack.v0.2.yaml").read_text()) +SRC = yaml.safe_load((ROOT / "runbooks/showcase-lighthouse-v2/pack.yaml").read_text()) PHRASE = "I understand this cannot be undone" diff --git a/tests/test_ui_projects.py b/tests/test_ui_projects.py index e34f324..bcf99db 100644 --- a/tests/test_ui_projects.py +++ b/tests/test_ui_projects.py @@ -25,7 +25,7 @@ def psrv(tmp_path): hello["parameters"] = [{"id": "host", "label": "Host to ping", "type": "string", "pattern": "[a-zA-Z0-9.-]+"}, {"id": "count", "label": "Ping count", "type": "int", "default": 1}] write(repo / "runbooks/hello/pack.yaml", hello) - v2 = yaml.safe_load((ROOT / "runbooks/showcase-lighthouse/pack.v0.2.yaml").read_text()) + v2 = yaml.safe_load((ROOT / "runbooks/showcase-lighthouse-v2/pack.yaml").read_text()) v2["id"] = "rtut.showcase-lighthouse-v2" write(repo / "runbooks/lh2/pack.yaml", v2) for f in (ROOT / "attribute-sets").glob("*.yaml"): diff --git a/tests/test_ui_v2.py b/tests/test_ui_v2.py index 1b46272..adc57c2 100644 --- a/tests/test_ui_v2.py +++ b/tests/test_ui_v2.py @@ -18,7 +18,7 @@ _scratch = [] @pytest.fixture def s2(tmp_path): d = tmp_path / "runbooks" / "lh"; d.mkdir(parents=True) - shutil.copy(ROOT / "runbooks/showcase-lighthouse/pack.v0.2.yaml", d / "pack.yaml") + shutil.copy(ROOT / "runbooks/showcase-lighthouse-v2/pack.yaml", d / "pack.yaml") s = ui.serve([tmp_path], 0) threading.Thread(target=s.serve_forever, daemon=True).start() yield s diff --git a/tests/test_v2.py b/tests/test_v2.py index b495fd5..d27836e 100644 --- a/tests/test_v2.py +++ b/tests/test_v2.py @@ -7,7 +7,7 @@ import yaml from rtut import pack as P, run as R, v2 ROOT = Path(__file__).resolve().parent.parent -FILE = ROOT / "runbooks/showcase-lighthouse/pack.v0.2.yaml" +FILE = ROOT / "runbooks/showcase-lighthouse-v2/pack.yaml" GOOD = yaml.safe_load(FILE.read_text()) 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 657983c..6d3791a 100644 --- a/workplans/RBT-WP-0002-runbook-pack-spec-and-validator.md +++ b/workplans/RBT-WP-0002-runbook-pack-spec-and-validator.md @@ -103,7 +103,7 @@ state_hub_task_id: "6740457f-81a7-5761-a768-b9b0faee7552" `runbooks/showcase-lighthouse/` is a harmless interactive-fiction runbook (poem, story, scratch logbook under /tmp/rtut-*). `pack.yaml` (v0.1) runs today and is the test bed for -UI refinement. `pack.v0.2.yaml` expresses the same story in the proposed v0.2 model +UI refinement. `runbooks/showcase-lighthouse-v2/pack.yaml` expresses the same story in the proposed v0.2 model (stages, parallel steps, alternatives, gates, actors, datapoints, artefacts, irreversible confirmation). It validates against the v0.2 schema and semantic checks and can be run by the v0.2 engine (`rtut/run2.py`); a UI for it is RBT-WP-0004.