Skip to content

v9.6.0 — Routing resilience & output quality

Latest

Choose a tag to compare

@vishalveerareddy123 vishalveerareddy123 released this 23 Jun 08:52
07444ad

Released to npm: npm install -g lynkr@9.6.0

Highlights

🔁 Tier-aware fallback (escalate-then-demote) — always on

When a tier's provider fails, Lynkr now climbs to a more capable tier first (toward REASONING); only if every higher tier is unavailable does it fall downward to SIMPLE/local. Skips circuit-OPEN providers, dedups provider:model, and never re-tries the failed model.

  • Never silent: X-Lynkr-Fallback, X-Lynkr-Served-Tier, X-Lynkr-Fallback-From-Tier, X-Lynkr-Fallback-Direction headers + warn logs.
  • Example: COMPLEX (Moonshot) fails → REASONING (Azure) → MEDIUM/SIMPLE (Ollama).

🧹 Output format guard — always on

Injects a markdown formatting instruction for non-Claude backends so weaker models avoid ASCII/Unicode box-drawing diagrams. Keyed off the routing-resolved provider/model; skips Claude-family backends (already clean).

🧩 Task decomposition — opt-in (TASK_DECOMPOSITION_ENABLED)

Cost-aware gateplanner (validated subtask DAG) → dispatcher (parallel within dependency levels, isolated context) → synthesizer, with confidence-scored monolithic fallback, shadow mode, and net-savings telemetry. Exposed as the DecomposeTask tool.

Config

  • TASK_DECOMPOSITION_ENABLED (default false) — the only new env knob.
  • Tier-aware fallback and the output format guard are always-on.

Testing

47 new unit tests across all three features; no regressions in existing suites; ESLint clean.

Full PR: #77
🤖 Generated with Claude Code