17 frontend commits + 26 Xano patches across 18 endpoints. YAML context spec end-to-end, OpenRouter Opus 4.7 primary routing, Haiku 4.5 empty-array bug diagnosed and capped, real match scores replacing hardcoded 0.5. Final UI dogfood: 16/25 fully PASS. PR #354 CLEAN: Lint ✓ Build ✓ CodeRabbit ✓ Netlify ✓
← Back to Hubcontext/get-master-context-person) → ep 8573 wrapper → frontend getMasterContextPerson() BFF → injected on every dispatch payload. 25/25 dispatches now carry a 2,342-character YAML block with name, headline, role, company, funding stage, investment focus, and key relationships. 30KB cap pre-applied as a preemptive trim.anthropic/claude-opus-4-7 works — and is 3× cheaper + ~40% faster than direct API. find_investors now runs Opus 4.7 primary with Opus 4.1 fallback. Verified output quality: richer synthesis, stronger why fields, noticeably better candidate ranking against pitch profile. Pattern established — easy to extend to other heavy-class synthesis endpoints.find_advisors, find_journalists, find_talent, find_acquisition, find_collaborators, find_job, find_speakers, get_advice, talent_agent_requests, find_cofounder, and research_person — the 10 classes that were returning zero synthesis results despite valid graph candidates.match_score: 0.5 as a stub now produces a real distribution. Approach: Cypher keyword-density scoring (title/bio overlap against query terms) as primary signal, LLM scoring as secondary. Example — find_advisors after fix: [0.88, 0.76, 0.62, 0.58, 0.52, 0.48, 0.46, 0.42, 0.41, 0.39] vs a flat row of 0.5 before. Cards are now sortable by match quality.name_embedding finds people whose name sounds similar to the query (noise). Keyword pattern matching on title and bio fields finds people whose role description matches the intent. 6+ endpoints rewritten to use this approach: find_advisors, find_cofounder, find_collaborators, find_speakers, get_advice, find_job. Accuracy improvement was immediate and obvious in curl testing.travel and talent_agent_requests pulled into local repo. Prompts reconciled: prompts/travel/ and prompts/talent_agent_requests/ match Xano verbatim.getMasterContextPerson() wired and deployed. Dispatch payload now includes user_context YAML on every call.target_context YAML includes the target master person's headline, role, company, and relationship path.user_context only (not target context — user is the subject). Correctly scoped per Mark's directive.8578 wired as primary.anthropic/claude-opus-4-7 via OpenRouter. Fallback to Opus 4.1 if OpenRouter quota exhausted. Verified: noticeably richer why fields, better candidate ranking, stronger pitch-profile alignment in synthesis output.user_context.dispatchFn extended to pass target_context YAML when a target person is selected in leverage-loop mode.user_context only (not target — user is the subject for outcome interviews).suggestion_request_id. Backend must accept call without sr_id or frontend creates sr_id eagerly on PATH B entry.anthropic/claude-opus-4-7 route works, is cheaper, and is faster. This pattern applies to any endpoint that needs the latest model before the API quota gate opens.