Two-way bridge: sexp() Jinja global renders s-expression components in templates, register_components() loads definitions at startup. Includes ~link-card component test proving unified replacement of 5 per-service Jinja fragment templates. 19 new tests (218 total). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>