Wayfinder v0.1.0 - the "first cut" release
The first public release. Wayfinder is a deterministic prompt-complexity router:
hand it a prompt, get back a reproducible structural score and a recommendation —
route this one to your local model, or to the cloud. No model call to make
the decision, no API key, no network in the scored path. Same prompt, same
threshold, same answer, every time.
Installation
pip install wayfinder-router # the `wayfinder-router` CLI + Python API
pip install "wayfinder-router[gateway]" # plus the OpenAI-compatible routing gateway
pip install "wayfinder-router[ui]" # plus the local calibration/explain UI
Its own product
Wayfinder was prototyped inside rac-core
and split out because routing is a runtime inference concern, not recorded
knowledge — a prompt router shouldn't make you install a requirements engine. It
has zero dependency on RAC: no rac import, no .rac/ reads, a stdlib-only
core, Python 3.11+. Apache-2.0.
Key Features
Structure, Not a Second Opinion
The score comes from the shape of a prompt — word count, headings and their
depth, list items, links, code blocks, table rows — combined into a bounded
0.0–1.0 value. The obvious alternative, asking a model how hard a prompt is, is
non-deterministic and costs a model call to decide whether to make a model call.
Wayfinder takes the opposite stance.
echo "Refactor the auth module to support OAuth2 and SAML." | wayfinder-router route -
Drop It In Front of Your Models
wayfinder-router serve runs an OpenAI-compatible gateway: point any client's
base_url at it and easy prompts go local, hard ones go cloud — no application
code change. Each response carries x-wayfinder-router-model and
x-wayfinder-router-score so you can see the routing. Keys are read from the
environment at request time, never stored.
Tune It to Your Traffic
The cut is a proxy, so calibrate it. wayfinder-router calibrate turns a labeled
JSONL dataset into a config — a binary threshold, ordered tiers across any number
of models, or a fitted classifier (deterministic Newton/IRLS, pure Python).
Learn the Cut From Feedback
wayfinder-router onboard A/B-tests a local vs hosted model and records your
good-enough judgment; the gateway's /v1/feedback endpoint captures the rest.
The label log is the calibrate dataset, and wayfinder-router recalibrate
(cron or a click in the UI) re-fits it live — a running gateway hot-reloads with
no restart.
See Why It Routed
wayfinder-router ui is a local web app — per-feature contribution bars, a live
threshold slider, a calibration view, and a config editor with real validation.
A thin consumer of the same pure core; no secret ever appears in it.
Ship It as a Sidecar
A slim Dockerfile runs the gateway as a service, with a docker-compose example
that persists config and the feedback log. The library also runs in-process; the
CLI and UI are the operator surfaces.
The boundary
Wayfinder scores and recommends — it never invokes a model, picks a provider,
reads a credential, or tokenizes per a vendor model. The caller runs inference.
This is an early (Alpha) first release; the deterministic core is stable and
fully tested, and the gateway/UI layers are the place that growth will land.