15 of 20 recs are clean, and the unexplained difference across all recs nets to ($68K). Five recs block sign-off, listed here most severe first:

1. **Accrued payroll (2120), stale GL balance.** The rec uses ($58K), but the trial balance shows ($72K). Marcus Oyelaran must re-run it on the current balance. The account is unreconciled until then.
2. **Sales tax payable (2150), unexplained over threshold.** The GL is ($92K) against a subledger of ($23K), with $0 of reconciling items. That leaves ($69K) unexplained. Marcus Oyelaran must find the cause and either list the item or post a correcting entry. This is the largest issue.
3. **Vendor rebates receivable (1150), preparer is reviewer.** Marcus Oyelaran prepared and reviewed it. Dana Whitfield needs to assign a second reviewer.
4. **Inventory (1200), late review.** The rec is still at Prepared, with no review. Dana Whitfield must complete it.
5. **Accounts receivable - trade (1100), aged item.** RI-05, ($14K), is 127 days old. It is an unapplied receipt from Lumen Retail with no remittance advice. Priya Raman must clear or book it and record why.

Accrued payroll and sales tax payable are bookkeeping gaps, where the balance may be wrong. Vendor rebates receivable and inventory are control breaches, where someone needs to complete a step. The aged AR item is also a bookkeeping gap.

The script's identity checks passed, so every rec ties. I haven't checked whether the Sales tax payable difference is a missing item or a GL error. That needs the sales tax subledger detail.

The files are `output/recs-note.md` (the sign-off note) and `output/recs.json` (the script's figures).