# Prompt workbench — 2.4 A first functional local workbench for three invented rail-office cases. Immutable versions bind a template, project/evidence/request variables and version note. Missing required variables, unknown tokens or omitted required tokens block prompt preparation and output attachment while preserving incomplete drafts. Manual outputs and actual AI-authored recorded examples remain attached to the exact prompt and inputs. Source HTML is always escaped text. Walkthrough: inspect the loaded renewal case; use **Save as new version** after changing inputs; compare the version list; **Attach imported output** or **Attach recorded example**; record grounding, coverage and clarity judgements with **Record my rating**. Shared JSON save/export retains versions, outputs and notes. The original three recorded responses were authored by the implementation assistant on 2026-10-03; there is no runtime AI call. Changed source/template versions cannot acquire an original recorded response. The visible 0–2 rubric is a user's judgement, not independent validation or a model league table. Compared with copying a prompt into a note, this preserves the experiment that produced each result. No measured reuse/time benefit is claimed. In-app live execution remains outside this first version; a protected AI service would be additional work. Tests exercise blocking, exact bindings, hostile text, version changes, ratings and reopen. The app keeps all public material synthetic. Each original worked case also displays three explicit expected checks grounded in its source IDs. They are authored case references, not automatic grades, and the interface asks the reviewer to reassess them when the evidence has been changed.