- _sync_static_articles(): auto-upserts data/content/articles/*.md into DB on every /admin/articles load; reads cornerstone → group_key - _get_article_list_grouped(): now groups by COALESCE(group_key, url_path) so static EN/DE cornerstone articles pair into one row - articles() route: calls _sync_static_articles() before listing Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>