Configuration control — airgen-cli 0.6.0, PDF reports, Excel/ReqIF export
Summary
airgen-cli updated from 0.5.1 to 0.6.0. PDF report generator integrated with on-demand generation, Mermaid diagram rendering, and new Excel/ReqIF export endpoints. Protocol updated to v7.0 with split architecture. Multiple data quality fixes.
CLI Changes
airgen-cli 0.6.0
New commands:
| Command | Purpose |
|---|---|
airgen quality analyze <text> | ISO 29148 + EARS quality analysis with --auto-fix |
airgen quality score start/status/stop | Background QA scorer for a project |
airgen quality draft <input> | Generate candidate requirement texts |
airgen ai generate <tenant> <project> | AI requirement candidate generation |
airgen ai candidates/accept/reject | Manage AI-generated candidates |
airgen export documents --format excel | Full document set as Excel (.xlsx) |
airgen export documents --format reqif | Full document set as ReqIF |
Mermaid rendering still requires sanitizer for ==> connectors and style lines.
Infrastructure Changes
PDF report generator
Branded A4 PDF reports generated on demand via /api/pdf/<slug>:
- Dark cover page with hex code, system name, and stat boxes
- Decomposition tree with hex codes
- Mermaid diagrams rendered as high-res PNG (mmdc at 3x scale)
- Requirements tables grouped by subsystem with V&V and rationale
- Entity cards with descriptions
- 5-minute cache, ~40s first generation
Excel and ReqIF export
On-demand export via /api/export/<slug>/excel and /api/export/<slug>/reqif:
- Full document set with sections, requirements, trace links, and linksets
- Excel for spreadsheet review, ReqIF for DOORS/Polarion import
- Generated instantly from live AIRGen data
Report page download bar
Each report page now shows three download buttons: PDF, Excel, ReqIF.
Graph proxy updates
The graph proxy (uht-graph-proxy on port 8788) now handles:
GET /api/pdf/<slug>— on-demand PDF generationGET /api/export/<slug>/excel— Excel exportGET /api/export/<slug>/reqif— ReqIF export- Loads
.envand nvm PATH for CLI subprocess access
Data Quality Fixes
Section ID loading bug
All flow files used airgen docs get --json which returns .document.sections[0].id, but the actual response structure is .sections[0].id (no document wrapper). The jq path silently returned null, causing requirements to be created without --section — producing bare refs like SYS-016 instead of SYS-REQS-016.
Fixed in flow-a, flow-b, flow-d. Recreated 20 bare-ref requirements across se-automated-warehouse (8) and se-new-tyne-crossing-appraisal (12).
Diagram stereotype labels
The Mermaid sanitizer matched «component» (Unicode guillemets) but airgen-cli outputs <<component>> (ASCII angle brackets). Updated regex to match both formats and strip the trailing <br/>.
Protocol Changes
v7.0 — Split architecture with dispatcher orchestration
The monolithic 51KB session protocol was split into:
| File | Size | Content |
|---|---|---|
protocol-base.md | 23KB | Shared across all flows |
flow-a-scaffold.md | 8KB | New system scaffolding |
flow-b-decompose.md | 10KB | Continuing decomposition |
flow-c-qc.md | 5KB | QC review |
flow-d-validate.md | 3KB | Validation |
flow-e-post-val.md | 2KB | Post-validation QC |
The dispatcher queries DECOMPOSITION_STATUS before invoking Claude and assembles base + flow. Typical session prompt reduced by 35-51%.
Version manifest
| Component | Version | Notes |
|---|---|---|
| airgen-cli | 0.6.0 | Up from 0.5.1 |
| Session protocol | 7.0 | Split architecture |
| Graph proxy | +PDF, +export | Three new endpoints |
| PDF generator | New | reportlab + mmdc diagrams |
| Mermaid sanitizer | Updated | ASCII stereotype support |