poly-context
PolyContext
PolyContext answers "what coding environment am I in right now." It is a standalone platform
mechanism — poly-symbols is its biggest consumer (gating which
PolySymbolQueryScopeContributor/QueryConfigurator registrations apply), but PolyContext itself
has no dependency on PolySymbols or on web frameworks being involved at all. Its defining advantage
is that it is heavily optimized for performance (cached, cheap, RequiresReadLock-only), which
makes it the right tool for any "is feature X relevant here" check that would otherwise get
reinvented per-feature as an ad-hoc cached provider — not just "which JS framework is active."
Confirmed non-web examples already in this repo: PolyContext.PKG_MANAGER_RUBY_GEMS/
PKG_MANAGER_SYMFONY_BUNDLES constants live right next to PKG_MANAGER_NODE_PACKAGES in
PolyContext.kt, and ruby/tests/.../gem/GemContextTest.kt queries a "timecop-context" kind
(is the timecop Ruby gem present?) with no PolySymbols query executor or web framework in sight.
For any given context kind (e.g. "framework"), at most one name is active at a
location, or null if none applies.