Completed
- foundation, app shell, and tenant/permission administration
- chemical records, with trends and CSV import
- compliance foundation: closure incidents, evidence, corrective actions, scheduled closures, facility status
- alerts and reporting exports
- maintenance logs
- responsive UI redesign
- Illinois water quality thresholds
- inspection packet builder, inspector-ready exception reporting, compliance digest emails, attestation/sign-off workflow, and policy/checklist template library
- preventive maintenance scheduling (schedule templates, due-work computation, overdue alerts)
- custom form templates: fields, conditional logic (16 operators plus custom formulas), one-click explanation fields, versioning
- form submissions: fill out, save as draft, submit, and review (approve/reject/request changes)
- recurring form schedules with a computed due list
- file attachments and hand-drawn signature capture at submission time
- completed-form CSV export
- one-click form-level Location/Pool/Signature fields, with pool choices narrowing to the selected location
- corrections: a reason-required, permission-gated way to fix an already-saved chemical record, maintenance log, or decided form submission, with a full before/after audit trail
Next up — Phase 6: Public Form Links
- public, unauthenticated token-based submission links
- safeguards for public submissions (rate limiting, validation, abuse prevention)
- notification recipients wired to actually send email (the template field exists today; sending isn’t wired up yet)
- offline PWA drafts for the submission runtime
- end-to-end verification
Later — Phase 7: Multi-Org Accounts
- many-to-many organization membership (today each user belongs to exactly one organization)
- self-service signup and organization creation
- email invite flow for adding teammates to an org
- an org switcher for users who belong to more than one organization
Source of truth
The authoritative task breakdown remainsPLAN.md in the repository. This page is the user-facing summary.