Configuration control — uht-substrate v0.6.2, airgen-cli v0.16.0, session timeout
Summary
CLI upgrades for both tools with features from our bug reports, session timeout tuned for 30-minute cadence, and report build-time caching.
Changes
airgen-cli v0.15.0 → v0.16.0
Three feature requests from our review shipped:
reqs list --homeless— direct filter for requirements not assigned to any document (replaces jq gymnastics)reqs list --limit all— no pagination ceiling (replaces--limit 500)lint --format json— JSON output for programmatic parsing in guards (replaces regex on text)diag list --name <exact>— exact name match for spec tree diagram lookupsdiff --from <ref> --to <ref>— diff between named baselines for stability analysis
All flows and guards updated from --limit 500 to --limit all. Lint guard switched from text regex parsing to JSON findings count.
uht-substrate v0.6.1 → v0.6.2
Four feature requests shipped:
classify --force— reclassify in place without separateentities reclassifycommandfacts query --subject— documented subject filter (was undocumented; prevents the cross-subject collision that caused the 22-session QC loop)entities list --count-only— lightweight count for guards without fetching full entity listentities exploreremoved from--help(404 endpoint finally cleaned up)
Session timeout: 30 → 20 minutes
With the 30-minute timer cadence, sessions need margin for hooks + Astro build (~5 min) + deploy. P95 Claude session time is 21 min but total pipeline including build can reach 25 min. 20-minute timeout prevents sessions overrunning into the next slot.
Report build caching
Build-time cache in report-data.ts — each system’s data fetched once and shared across all 6 pages (legacy + 5 ISO docs). Build time: 822s → 287s (3× faster, 529 pages).
Version manifest
| Component | Before | After |
|---|---|---|
| airgen-cli | v0.15.0 | v0.16.0 |
| uht-substrate | v0.6.1 | v0.6.2 |
| Session timeout | 30 min | 20 min |
| Pagination | --limit 500 | --limit all |
| Lint parsing | Text regex | JSON |
| Report build | 822s (no cache) | 287s (cached) |