Remove journal_root from EventContext to fix anti-pattern
Event handlers now access journal path the same way as route handlers:
via `from convey import state` then `state.journal_root`. This removes
the duplicate access pattern where EventContext passed journal_root
as a field while the rest of the codebase uses state.journal_root.
- Remove journal_root field from EventContext dataclass
- Update module docstring to document the import pattern
- Remove unused os import from apps/events.py
- Update tests to not pass journal_root to EventContext
- Document available imports for event handlers in APPS.md
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>