← Changelog
KianApril 22, 2026

Kian 3.0.0 Phase α: Claude shadow-mode on live traffic

TR
Theo Reichert · Founder, Vallit · 3 min read
KianApr 22, 2026
Kian 3.0.0 Phase α: Claude shadow-mode on live traffic
Sourcehttps://github.com/Vallit-Network/Vallit/pull/48

Kian is being rebuilt. The first checkpoint of that rebuild — Phase α — is live. A deterministic sampler now fans out ten percent of WTM widget traffic to a second, shadow call against Claude Sonnet 4.6, logged alongside the production response so we can diff the two without changing what the customer sees.

The sampler is session-stable: a given conversation lands in the shadow bucket for its whole lifetime, so we compare apples to apples rather than turn-by-turn noise. Every shadow call goes through a trackedAnthropicMessage wrapper that records cache-aware cost math — Sonnet 4.6 with the cache discount applied, disjoint counter semantics corrected, unknown-model prices warned rather than silently defaulted. A separate admin endpoint pages through shadow_pair_id rows and surfaces the diffs side by side.

The point of this phase is to catch quality regressions before we route real traffic. Nothing Claude says reaches the customer in Phase α. Phase β will flip the switch for a small set of roles (reason, classify) where we've cleared the comparison gate. Phase ζ — eventually — unifies Kian onto Claude end-to-end, which is the whole reason for this work. The shadow harness is how we earn that flip.

Tooling shipped in this phase: Anthropic lazy-singleton client mirroring the OpenAI pattern, role-based model router with timing-safe admin auth, a canonical shadow-smoke script that fires the five common WTM prompts on demand. All of it lives behind an optional API key so the staging footprint stays zero when the key isn't set.

Want this for your team?

We scope, build, and deploy Kian into your stack — usually in four to eight weeks.