Skip to content

switchyard_route: session decision floor / no-downgrade across continuous chat #20

Description

@yehuditkerido

Context

Parent: #2 · POC: #16 · Related: mid-session anti-thrash follow-up

#16 is decision-only per request and has no session floor. Separate from the “judge dies” failure path: when Switchyard is healthy, a continuous chat can still bounce Strong → Weak if later turns score below threshold.

#3 sketched a durable Redis/KV floor as later graduation work. This issue is the in-process / POC floor first.

Goal

Once a session has routed to Strong, do not silently drop back to Weak on later turns while state is available on the replica.

Proposed work

  • Choose a session key (header / conversation id — document the contract).
  • In-process floor: committed_tier = max(floor, decision) with TTL.
  • Config knobs (enable/disable, TTL) with safe defaults for the POC.
  • Demo: multi-turn chat that escalates to Strong and stays there.
  • Document loss profile on restart / replica hop (points at durable store as later work).

Out of scope

Acceptance criteria

  • Config + docs for session floor behavior and session key.
  • Demo or tests: escalate to Strong, then a “easy” turn still stays Strong.
  • Clear docs on what is lost on process restart.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions