Verio — design controls as a document
Verio turns the YAML behind a medical-device software release into something you
read and write like a document: requirements with full traceability, the IEC
62304 documents, the software architecture, a SOUP list, and an ISO
14971 risk analysis — one file, one editor.
Its defining constraint: every edit is a minimal diff. Edits are spliced
into the YAML text using the parser's byte ranges, so untouched lines stay
byte-identical, comments and block-scalar styles survive, and a one-line edit
produces a one-line diff. Design control lives in change control; the file
diff is the review.
How it works
- Verio sits in the activity bar. Its view holds the navigation tree —
Project, Documents, Design (risk management, requirements, architecture,
SOUP), Verification, Validation, and Changes — and the editor shows the
document alone.
- It finds the workspace's
design.yaml by itself, and follows whichever
design editor is active. Any *.design.yaml opens the same way.
- Everything is edited in place. Titles and identifiers are edited where
they are read; descriptions rest as rendered markdown and become a live
editor when clicked, with the caret where you clicked.
- Documents, not forms. The requirements and the architecture read as one
scrolling document, numbered by position (1, 1.1, 1.1.1 — computed, never
stored), foldable down to an overview.
- Creation happens at the seams. Hover between two items for the line with
a
+; where levels meet, the pointer's distance picks the level. Nothing
opens a dialog.
- Drag and drop to reorder or reparent — in the requirements and in the
architecture. A move re-indents the block without rewriting it; a
move and a move back restore the file byte-for-byte.
- Risk management the ISO 14971 way: hazards and harms defined once,
referenced by risks; severity × probability estimates with a 5×5 matrix;
control measures that cite the requirements verifying them, with renames
rewriting references.
- SOUP fills itself from the project's own dependencies and refreshes
versions on demand.
- Changes compares the working design against a git tag or commit —
design-level, not textual: which items were added, removed, changed or
moved, with word-level highlighting and a one-click revert per change. The
compared revision is stored in the file, so the whole team measures against
the same baseline.
- Native document lifecycle: edits go through VS Code's text document —
Cmd+Z, dirty state, Cmd+S — and you can keep the YAML open in a split text
editor; both stay in sync.
The file
design:
risk_management: # hazards, harms, risks
requirements: # user need → requirement → specification → test
architecture:
soup:
The format is described by JSON schemas shipped in the repository
(root.schema.json, architecture.schema.json, risk.schema.json). Files written
with the sections at the top level still open; verio design restructure moves
them into the groups without touching a line of content.
A companion CLI (verio design export) renders the same file to a numbered PDF
review document, and verio design check verifies every cross-reference holds.
Getting started
- Install Verio and click its icon in the activity bar.
- If the workspace has a
design.yaml (or any *.design.yaml), the tree is
already there. If not, create an empty design.yaml — an empty file is a
valid starting point; the first item you write creates its section.
| |