# Requirements

Behavioral requirements derived from the test suite. Each row is asserted by
at least one pytest. Source CSVs live in `docs/dev/reqs/`.

## Geometry parsing (`avl_fileread`)

```{csv-table}
:file: reqs/geom.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Stability output parsing (`st_fileread`)

```{csv-table}
:file: reqs/stab.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Command generation (`avl_rungen`)

```{csv-table}
:file: reqs/cmd.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Binary management (`avl_bin` / `avl_cli`)

```{csv-table}
:file: reqs/bin.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Sweep orchestration (`avl_sweep`)

```{csv-table}
:file: reqs/sweep.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Geometry plotting (`avl_fileplot`)

```{csv-table}
:file: reqs/plot.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Aero database construction (`aero_filewrite`)

```{csv-table}
:file: reqs/write.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```

## Aero database plotting (`aero_fileplot`)

```{csv-table}
:file: reqs/aeroplot.csv
:header-rows: 1
:widths: 12 38 38 12
:class: req-table
```
