Skip to content

feat: probe profiles, dual-probe recovery, and thinking guard - #930

Merged
chenyme merged 4 commits into
chenyme:mainfrom
lij768423-svg:feat/quality-guard-profiles-dual-probe
Aug 15, 2026
Merged

feat: probe profiles, dual-probe recovery, and thinking guard#930
chenyme merged 4 commits into
chenyme:mainfrom
lij768423-svg:feat/quality-guard-profiles-dual-probe

Conversation

@lij768423-svg

Copy link
Copy Markdown
Contributor

Summary

  • Configurable quality-guard probe profiles (built-in QUALITY_OK last-line marker + throughput recipe, plus custom last-line / contains / regex).
  • Dual-probe recovery: user-traffic degrade isolates immediately and holds; restore only after a QUALITY_OK probe comes back healthy.
  • Thinking guard: output >= 64 with reasoningTokens == 0 is a hard missing_thinking isolate, including on the QUALITY_OK recovery probe. Catches backend model swaps that keep a normal 80–200 TPS.

Test plan

  • python3 tools/egress-quality-guard/quality_guard_test.py (40 OK)
  • go test ./internal/application/egress/ ./internal/application/gateway/ ./internal/transport/http/egress/

lij768423-svg and others added 4 commits August 14, 2026 19:59
Add a configurable quality-guard probe catalog (last-line / contains /
regex markers). User-traffic degrade isolates immediately; restore only
after a QUALITY_OK probe is healthy and includes thinking tokens.
Missing thinking is a hard isolate even at normal TPS.
Short 降智 answers (30-40 tokens, reasoning=0) were skipped by the
64-token floor. Isolate those; keep sub-32 samples ignored.
@chenyme
chenyme merged commit 0cc2027 into chenyme:main Aug 15, 2026
9 checks passed
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.

2 participants