- BrowserService.exec() now builds snippet map via SnippetService and passes it to CodeExecutorService.execute() for both named-session and anonymous paths - SnippetModule added to BrowserModule imports to wire the dependency - RunDetailPage step order column renders s.order + 1 (was 0-based)