- reviewBlock: add userId param; log BLOCK_REVIEWED only on false→true - updateBlock: log TEXT_SAVED only when text actually changes; include pageNumber in payload (resolved from annotation) - Both events deferred via afterCommit() when inside a transaction - Update TranscriptionBlockController to pass user to reviewBlock() Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>