Reports
Program Error Summary aggregates scoped review progress and eligible outcomes. It is separate from the FNS/EPP download files.
Data path and permissions
The Reports page allows program manager, admin, and statistics through the
report capability. Both the page and queryReport require it. The lower-level
reportInputs helper also permits export roles; that does not grant access to the Reports
API. Initial filters cover the current FFY in America/New_York; the API validates
month/examiner/county filters. Client filter changes fetch a new aggregate.
Appends materialize eligible, variances, and
transmittalEligible in review_index.report. Reports use the
first two fields. For old rows with a null report, the store conditionally reads a thin
current-snapshot eligibility projection. It does not trust a report property inside
arbitrary snapshot JSON.
What is counted
Totals include all matching scoped reviews. Released clean/error reviews need the
downstream release gate to enter the eligible summary. Drops are completed work but stay
out of Program Error Summary. Error grouping uses one historic element/nature pair.
Inspect aggregateReport for the exact progress categories rather than
treating every approval state as reporting release.
CSV and projection changes
Run report creates an internal CSV in the browser; up to ten runs are retained only in component state. Reload clears them. Labels are escaped for spreadsheet use. Month parsing and chart ordering are small helpers beside the view.
For eligibility changes, update shared gate behavior and check the live projection and the
backfill. The backfill includes transmittalEligible, walks 100 rows at a
time, and guards each update by stored version so a concurrent save is not overwritten. It
recomputes every projection.