session_articles join table (game_session_id, article_id, unique). SessionArticle model + associations on GameSession and Article. DM-only create/destroy via SessionArticlesController. Play surface lore tab uses session-tagged articles when any are tagged, falls back to full campaign wiki otherwise. DM tagging panel on session show page (searchable tom-select dropdown + remove buttons). Article right panel gains a “Sessions” back-reference section (DM-only, lists sessions where the article is tagged). MCP parity: add_session_article, remove_session_article, list_session_articles (135 tools). 12 new tests, 518 total green. ADR-0062.
BL-046
Shipped