[aside] SPA の cosine クエリ層に test harness が無く、#296 で untested な query をもう 1 本増やした。

`web/src/related-posts.tsx` の RELATED_SQL と、#296 で足した `web/src/tag-suggestions.tsx` の NEIGHBOUR_TAGS_SQL は、どちらも `post_embeddings` を cosine する SQL(active_model 選択 + join + `sim >= 0.4` cutoff)を SPA だけで持つ。純ロジックの `rankTagSuggestions` は unit-test したが、SQL 自体(モデル自動選択 / `current_tags` join / cutoff)は SPA に test が無く、server の `projection.rs::post_embedded_cosine_nearest_neighbor` テストは nearest-neighbor までで tag 集計 join や active_model 選択は踏まない。

触らない判断: related-posts も同じく query 未 test のまま回っており、DuckDB-WASM を seed して query を検証する harness を立てるのは #296 の scope 外。

想定インパクト: SPA 固有の query ロジック(モデル選択・join)が壊れても CI で捕まらない。トリガー = SPA に DuckDB-WASM seed テスト土台を入れるとき(`mcp.test.ts` / projection 系の既存土台を拡張)、または cosine query を 3 本目に増やすとき。