Your local reasoning point here is important, most agents today operate on partial context and rely heavily on grep-like discovery, so anything that hides structure compounds failure modes. I wonder if the real opportunity is a new language or a stricter profile of existing ones e.g. go-style typescript with enforced import rules, explicit effects and no barrel files.
I agree with the three body problem, the framing is spot on. The context asymmetry between user, UR and model feels like a core architectural shift here. How do you decide what should be model-visible vs widget-only? Have you run into cases where giving the model more UI state hurt reasoning quality?