Week in Review: CalRecycle Implementation Record Export
This was a compliance-focused week for CityCycle. We shipped 38 commits adding 12,600+ lines of code, with major work on CalRecycle Implementation Record exports and new RFP requirements.
CalRecycle Implementation Record Export
The centerpiece of this week’s work is a new IR Export Service that generates CalRecycle-compliant Implementation Record packages following the April 2025 IR Checklist format. The export produces a ZIP archive with the official 12-folder structure:
01_Enforceable_Mechanismsthrough13_Complaints- Each folder contains CSVs, summary text files, and relevant attachments
- One-click download from the jurisdiction dashboard
IR Preview & Completeness Warnings
Before downloading an Implementation Record, staff now see a preview page with:
- Overall readiness status - critical, warning, or ready indicators
- Completeness checks - procurement gaps, Tier 1/2 generators missing food recovery logs, quarterly inspection coverage, route review minimums, waiver verification status, and missing hauler reports
- Section summary with file counts for all 12 IR folders
This prevents jurisdictions from submitting incomplete records to CalRecycle.
Multiple Contacts per Site
A new Contact model supports multiple contacts per site:
- Role-based contacts: primary, billing, site, owner, property manager, compliance, environmental
- Each contact tracks name, email, phone, and title
- Toggles for
receives_outreachandreceives_enforcementcommunications - Dynamic add/remove UI via Stimulus controller
- Backward-compatible with existing single-contact sites
CSV Exports & Photo Uploads
- CSV export buttons added to Complaints, Outreach Logs, Violations, and Waivers index pages
- Exports respect current filters and stream large datasets to avoid memory issues
- Photo uploads on public complaint forms, stored in R2 with virus scanning
- Staff can view complaint photos inline
Test Coverage Infrastructure
We added SimpleCov for test coverage reporting and wrote comprehensive specs across 26 commits:
- Model specs for Site, Jurisdiction, OutreachLog, FoodRecoveryLog, FranchiseAgreement, Program
- Service specs for BillEstimator, WebhookDelivery, ProcurementStatus, AudienceFilter, ClamavScanner, and more
- Current coverage: 38.47%
Questions or feedback? Contact us or schedule a demo call.