namespace TarninaHub.Application.Text; /// /// Builds the canonical text used to compute an innovation embedding /// (matchmaking, steps 14-15). /// public static class EmbeddingTextBuilder { public static string Build(string title, string? summary, string? description, string? challengeName = null) { var parts = new List(); if (!string.IsNullOrWhiteSpace(title)) { parts.Add(title.Trim()); } if (!string.IsNullOrWhiteSpace(summary)) { parts.Add(summary.Trim()); } if (!string.IsNullOrWhiteSpace(description)) { parts.Add(description.Trim()); } if (!string.IsNullOrWhiteSpace(challengeName)) { parts.Add(challengeName.Trim()); } return string.Join("\n", parts); } }