Request lifecycle
For each request:- normalize the request into a shared internal format
- extract conversation and tool features
- detect high-stakes signals
- classify category and complexity
- derive route modifiers such as
multimodal,tool_heavy, orstrict_json - choose a lane
- select candidates from the static manifest
- execute against OpenRouter
- verify non-stream results and optionally escalate once
- inspect outbound tool calls before returning them
Primary interface
Astrolabe is now Responses-first:POST /v1/responsesis the primary endpointPOST /v1/chat/completionsis a compatibility adapter
Workhorse and specialists
m27is the default workhorsem25is strict-budget and fallback onlykimiK25handles multimodal workkimiThinkinghandles deeper research/planningglm5handles strict JSON and tool/schema-sensitive requestssonnetandopusown the safe lane
Safety model
Astrolabe adds policy on top of raw model execution:- high-stakes confirmation mode
- untrusted-content safety floors
- tool-call approval or blocking
- URL allowlists for Responses file/image inputs
Transparency
Astrolabe exposes its behavior through:GET /v1/modelsGET /v1/lanesx-astrolabe-*headers- inline Astrolabe metadata on JSON responses

