Skip to content

Grclark/tmp escalation - #189

Draft
messiaen wants to merge 20 commits into
mainfrom
grclark/tmp-escalation
Draft

Grclark/tmp escalation#189
messiaen wants to merge 20 commits into
mainfrom
grclark/tmp-escalation

Conversation

@messiaen

Copy link
Copy Markdown
Contributor

What

example vibed escalation imple with vibes simplification

Why

The motivation — what problem does this solve, or which ticket does it close?

Closes #

How tested

  • uv run ruff check . clean
  • uv run mypy switchyard clean
  • uv run pytest tests/ green
  • Manual smoke (describe what was run)

Checklist

  • One class per file; filename = snake_case of the primary class.
  • New public symbols exported from switchyard/__init__.py.__all__ if intended for downstream use.
  • Unit tests added for new components / bug fixes.
  • README / --help updated if customer-facing surface changed.
  • Commits signed off (Signed-off-by: Your Name <email>) per the DCO.

Notes for reviewers

Anything reviewers should pay extra attention to — risky paths, follow-up tickets, intentional trade-offs.

ayushag-nv and others added 20 commits July 28, 2026 15:22
Signed-off-by: ayushag <ayushag@nvidia.com>
Signed-off-by: ayushag <ayushag@nvidia.com>
Signed-off-by: ayushag <ayushag@nvidia.com>
Signed-off-by: Lin Jia <linj@nvidia.com>
…ix API migration

Replace the generic 42-line prompt with the validated 179-line agentic trajectory
judge from switchyard/lib/processors/prompts/escalation_judge.md. Simplify schema
to {escalate, reason}. Migrate EscalationRouter off the removed SharedState/generic
Algorithm API: manage session state internally via Mutex<HashMap>, delegate stateful
logic to a plain async fn (execute) to avoid MutexGuard lifetime conflicts with
async_trait's 'static bound from AffinityRouter's S: 'static impl constraint.

Signed-off-by: Lin Jia <linj@nvidia.com>
…ionRouter

Matches the pattern FallThrough::route already uses: dispatch through
dyn Classifier<State>/dyn Processor<State> so async_trait doesn't
propagate the S: 'static bound from AffinityRouter's impl. Replaces
the scratch-State workaround and passes real session state through.

Signed-off-by: Lin Jia <linj@nvidia.com>
…lation-router

Signed-off-by: Lin Jia <linj@nvidia.com>

# Conflicts:
#	crates/libsy/README.md
#	crates/libsy/examples/research_agent.rs
#	crates/libsy/examples/research_agent_core.rs
#	crates/libsy/src/algorithms/llm_class.rs
#	crates/libsy/src/algorithms/util/affinity.rs
#	crates/libsy/src/lib.rs
#	crates/libsy/tests/observability.rs
#	crates/switchyard-server/src/config.rs
…s (SWITCH-1054)

Signed-off-by: Lin Jia <linj@nvidia.com>
…ration

Signed-off-by: Lin Jia <linj@nvidia.com>
Signed-off-by: Lin Jia <linj@nvidia.com>
Signed-off-by: Lin Jia <linj@nvidia.com>
…mpletion is empty

Signed-off-by: Lin Jia <linj@nvidia.com>
Signed-off-by: Greg Clark <grclark@nvidia.com>
Signed-off-by: Greg Clark <grclark@nvidia.com>
Signed-off-by: Greg Clark <grclark@nvidia.com>
Signed-off-by: Greg Clark <grclark@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants