"""BusinessContext reader — the single seam the slow path reads context through. `get_business_context(user_id)` is the one place the live flow obtains a `BusinessContext`. Today it returns a minimal STUB so the slow path runs end to end; when the lead's real Business Understanding source lands, swap the body here (read the interview / stored context) and nothing upstream changes. See AGENT_ARCHITECTURE_CONTEXT_new.md §7.1. """ from __future__ import annotations from .contracts import BusinessContext async def get_business_context(user_id: str) -> BusinessContext: """Return the user's BusinessContext. STUB until the lead's real source lands. `project_id` flows through as `RunState.business_context_id`. Async so the real implementation (a DB / store read) fits without changing this signature. TODO(lead): replace the body with the real read (Business Understanding store). """ return BusinessContext( project_id=user_id, industry="unknown", completeness="partial", business_description="(not yet captured — BusinessContext source pending)", scale_and_scope="(unknown)", )