report generation spec