# Workflow dashboard generator

Pre-renders `workflows/*.dot` (and `workflows/invalid/*.dot`) into a single
self-contained `workflows/dashboard.html` — each card carries the workflow's
header comments, its `REQ-*` tags, and an inlined SVG.

The output has no runtime dependency on viz.js: SVGs are baked in at build
time so the dashboard works offline, in a stale clone, or under file://.

## Regenerate

```
cd scripts/dashboard
npm install       # first time only
npm run build
```

`npm run build` overwrites `workflows/dashboard.html`. Re-run after adding,
removing, or editing a `.dot` file.

## Header conventions the parser reads

Each `.dot` file's leading `//` block is treated as front-matter:

- The first non-empty `//` line is the **summary** shown on the card.
- Any `REQ-XXX` tokens anywhere in the leading comment block populate the
  REQ chips and feed the filter bar.
- The full leading block is shown verbatim under "description".

Workflows that omit a `REQs exercised:` line still render — they just lack
chips and won't appear when a REQ filter is active.
