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 lookups
  • diff --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 separate entities reclassify command
  • facts 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 list
  • entities explore removed 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

ComponentBeforeAfter
airgen-cliv0.15.0v0.16.0
uht-substratev0.6.1v0.6.2
Session timeout30 min20 min
Pagination--limit 500--limit all
Lint parsingText regexJSON
Report build822s (no cache)287s (cached)
← all entries