* add hook for sessions selfhosting
* Fix section selection, list refresh, commit guard, hooks display, count races
- selectSectionById: inline all state updates to avoid race with onDidChangeSelection
- goBackToList: refresh list to show newly created files
- goBackToList: only auto-commit if editor content was actually modified
- Hooks: parse individual hooks from files, show hook type labels and commands
- Hooks: show (unset) for empty hook commands
- Toolbar: use MODAL_GROUP when opening editor in sessions
- Overview: use MODAL_GROUP when opening editor in sessions
- Toolbar: add _updateCountsRequestId guard to prevent stale count renders
- SessionsViewPane: subscribe to activeProjectRoot for total count updates
- List widget: add IFileService + IPathService for hook file parsing
* Fix hook parsing: use JSONC parser and async userHome
- Replace JSON.parse with parseJSONC to handle comments/trailing commas
- Use await pathService.userHome() instead of preferLocal for remote compat
- Match the pattern used in promptsServiceImpl.ts getHooks()