Fixed
- Accepting a long message draft without editing it (the normal case) could take over a minute to complete due to an internal audit calculation that ran unnecessarily on identical text. This has been fixed — the same operation now completes in under a millisecond, and drafts no longer get silently stuck because of it.
Improved
- When a message needs human review because it might reveal something it shouldn't (like a fake checkout link, a raw phone number, or repeating back sensitive text), the review card now lists the specific rule that was triggered instead of leaving that detail blank. This affects roughly half of all human-review cases.
Verification
- New tests locking both fixes; existing tests updated.
- Full app and database test suites pass.
- Type check and lint pass across the repository.
- Live-verified against production: the slow calculation dropped from ~83 seconds to under 1 millisecond on real data, with no change in correctness for edited drafts.