v1.108.158 — Turn-economy steering toward the one-call context openers
Exploration sessions measured through a benchmark harness hopped search -> outline -> source 2-3x more than a raw-read baseline — each MCP round trip re-drags cached context — while the one-call openers went unused. This release adds three advisory steering layers, none of which alter dispatch:
- The Counter's order description names the one-call exploration path: order('get_ranked_context', {repo, query, token_budget}).
- resolve_repo — the universal session opener — attaches _meta.opening_move naming the same path (loadable indexes only).
- A once-per-session escalation hint: after 3 hop-tool calls with zero bundle-tool calls, the next search response carries _meta.hint suggesting get_ranked_context; that single response is forced to JSON so lossy compact encoding can't drop it.
Also: the missing-repo error now names the repo ids this session has already resolved, so the retry doesn't need a discovery round trip.
No schema, tool-count, or INDEX_VERSION change. Full suite 5480 passed; new tests/test_v1_108_158.py (12).