Skip to content

docs for complexity router and openapi reference#3716

Merged
akshaydeo merged 1 commit into
devfrom
05-24-docs_for_complexity_router_and_openapi_reference
Jun 10, 2026
Merged

docs for complexity router and openapi reference#3716
akshaydeo merged 1 commit into
devfrom
05-24-docs_for_complexity_router_and_openapi_reference

Conversation

@Madhuvod

@Madhuvod Madhuvod commented May 24, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds documentation and OpenAPI spec coverage for the Complexity Router feature, which automatically classifies incoming LLM requests into four tiers (SIMPLE, MEDIUM, COMPLEX, REASONING) and exposes a complexity_tier CEL variable for use in routing rules. This allows requests to be steered to appropriately-sized models based on prompt content with no application-side changes.

Changes

  • Added docs/features/governance/complexity-router.mdx — full reference page covering the scoring algorithm (five weighted dimensions, system prompt contribution, conversation context blending, output complexity floor, reasoning override), tier classification boundaries, configuration via UI/API/config.json, CEL routing examples, observability, and troubleshooting guidance.
  • Registered the new page in docs/docs.json under the Governance section.
  • Added cross-reference callouts in routing.mdx, routing-rules.mdx, and provider-routing.mdx pointing to the Complexity Router page and describing the complexity_tier variable.
  • Added GET /api/governance/complexity-analyzer-config, PUT /api/governance/complexity-analyzer-config, and POST /api/governance/complexity-analyzer-config/reset endpoints to the OpenAPI spec (both openapi.json and openapi.yaml), with ComplexityAnalyzerConfig, ComplexityTierBoundaries, and ComplexityKeywordConfig schemas.
  • Added a ConfigStoreUnavailable (503) reusable response component to the OpenAPI spec.
  • Corrected the API path reference in ui/lib/types/complexityRouter.ts from /api/governance/complexity to /governance/complexity-analyzer-config.
  • Added supporting architecture and UI screenshot assets under docs/media/.

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (React)
  • Docs

How to test

  1. Navigate to the docs site and confirm the Complexity Router page appears under the Governance section in the sidebar.
  2. Verify all internal links (Routing Rules, Virtual Keys, Budget & Limits, Provider Routing) resolve correctly.
  3. Confirm the OpenAPI spec renders the three new /api/governance/complexity-analyzer-config endpoints with correct request/response schemas.
  4. Validate the complexity_tier CEL variable examples in routing-rules.mdx are consistent with the behavior described in the Complexity Router page.

Breaking changes

  • Yes
  • No

Related issues

N/A

Security considerations

No new auth surfaces or secrets handling introduced. The API endpoints follow the same governance authentication patterns as existing endpoints.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

Summary by CodeRabbit

  • New Features

    • Introduced Complexity Router feature to classify requests into four tiers (SIMPLE, MEDIUM, COMPLEX, REASONING) for dynamic request routing.
    • Added REST API endpoints to retrieve, update, and reset complexity analyzer configuration at runtime.
  • Documentation

    • Added comprehensive guide for Complexity Router feature and configuration options.
    • Updated routing documentation to reference Complexity Router and explain the complexity_tier routing variable.
    • Clarified static vs. dynamic routing capabilities.

@coderabbitai

coderabbitai Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds a Complexity Router docs page and navigation entry; defines complexity_tier CEL usage; adds OpenAPI schemas and management endpoints (GET, PUT, POST/reset) for the analyzer config; updates routing/provider docs; and small UI/configstore doc comment tweaks.

Changes

Complexity Router Feature

Layer / File(s) Summary
Navigation and page frontmatter
docs/docs.json, docs/features/governance/complexity-router.mdx
Added the feature page to site navigation and the page frontmatter/intro describing automatic request tier classification.
Core Complexity Router docs
docs/features/governance/complexity-router.mdx
Full feature documentation covering scoring pipeline, tier mapping, configuration (UI/API/config.json), CEL routing examples, observability, troubleshooting, supported request types, and next steps.
OpenAPI schema definitions
docs/openapi/schemas/management/governance.yaml
Added ComplexityTierBoundaries, ComplexityKeywordConfig, and ComplexityAnalyzerConfig schemas describing thresholds and keyword lists.
OpenAPI paths, operations, and response component
docs/openapi/paths/management/governance.yaml, docs/openapi/openapi.json, docs/openapi/openapi.yaml
Added management endpoints for complexity-analyzer-config (GET, PUT, POST /reset) with request/response schemas and error responses, and a reusable ConfigStoreUnavailable response mapping to BifrostError.
Routing docs and provider docs integration
docs/features/governance/routing.mdx, docs/providers/routing-rules.mdx, docs/providers/provider-routing.mdx
Clarified static governance routing scope, added Complexity Routing docs describing the complexity_tier CEL variable, examples, unknown/fallback behavior, troubleshooting note, and cross-links to the new feature page.
ConfigStore doc and UI comment tweaks
framework/configstore/store.go, ui/lib/types/complexityRouter.ts
Added a doc comment for GetComplexityAnalyzerConfig and updated a UI type comment to reference /governance/complexity-analyzer-config.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • akshaydeo
  • danpiths

"I hop through docs and YAML with cheer,
I tuck new tiers where routes appear,
SIMPLE to REASONING, CEL knows the way,
Endpoints and schemas now join the play,
A rabbit's note: docs blossom today."

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the main change: documentation and OpenAPI reference updates for the Complexity Router feature, which aligns with the substantial additions to docs and OpenAPI specs.
Description check ✅ Passed The description follows the template structure with all major sections completed: Summary, Changes, Type of change, Affected areas, How to test, Breaking changes, Related issues, Security considerations, and Checklist. All critical information is present and well-documented.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 05-24-docs_for_complexity_router_and_openapi_reference

Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps

greptile-apps Bot commented May 24, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

Safe to merge; all doc content and API paths cross-check against the live handler and schema implementations, and the one code change (comment fix) is purely cosmetic.

The changes are documentation and OpenAPI spec additions. API paths, schema field names, tier boundaries, and fallback behaviour in the docs all match what the Go handlers and config schema actually implement. The only non-doc touch is a comment correction in a TypeScript types file, which is correct given how the UI base URL is constructed.

ui/public/images/prisma_airs.png — appears to be an accidentally included image not referenced anywhere in the UI.

Important Files Changed

Filename Overview
docs/features/governance/complexity-router.mdx New full-reference page for Complexity Router; algorithm description, tier table, config tabs, routing examples, observability, and troubleshooting all align with actual handler and schema implementations reviewed.
docs/openapi/schemas/management/governance.yaml Adds ComplexityTierBoundaries, ComplexityKeywordConfig, and ComplexityAnalyzerConfig schemas; field names and types match the Go AnalyzerConfig struct.
docs/openapi/paths/management/governance.yaml Adds GET/PUT complexity and POST complexity-reset path definitions; request/response schemas, 400/500/503 responses, and operationIds all match actual handler routes.
docs/openapi/openapi.json Adds three new endpoints and ConfigStoreUnavailable component; ComplexityAnalyzerConfig schema is inlined four times rather than added to components/schemas and referenced, unlike the pattern used elsewhere in this file (e.g. BifrostError).
ui/lib/types/complexityRouter.ts Fixes comment path from /api/governance/complexity to /governance/complexity-analyzer-config, which is correct given getApiBaseUrl() already prepends /api.
framework/configstore/store.go Adds doc comment for GetComplexityAnalyzerConfig; no functional changes.
docs/providers/routing-rules.mdx Adds complexity_tier CEL variable documentation with accurate fallback behaviour and cross-link to the new complexity-router page.
ui/public/images/prisma_airs.png Binary image file added to ui/public/images/ but not referenced anywhere in UI code; appears to be an accidental inclusion.

Reviews (22): Last reviewed commit: "docs for complexity router and openapi r..." | Re-trigger Greptile

Comment thread docs/features/governance/complexity-router.mdx Outdated
Comment thread docs/openapi/schemas/management/governance.yaml
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 032bc77 to 96b8aad Compare May 24, 2026 16:36
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from d56b305 to 5cc4920 Compare May 24, 2026 16:36
@coderabbitai coderabbitai Bot requested a review from akshaydeo May 24, 2026 16:37

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (1)
docs/openapi/schemas/management/governance.yaml (1)

1318-1341: 💤 Low value

Document that ordering constraint is runtime-validated, not schema-enforced.

The description states "All values must satisfy 0 < simple_medium < medium_complex < complex_reasoning < 1", but JSON Schema cannot enforce cross-field ordering (only per-field bounds via exclusiveMinimum/exclusiveMaximum). The ordering constraint must be validated by the API handler at runtime and will produce a 400 BadRequest on violation.

Consider adding a note in the description that ordering validation happens at the API layer (as documented in the PUT operation at line 1090), so clients understand that schema-valid payloads may still be rejected.

📝 Suggested clarification
 ComplexityTierBoundaries:
   type: object
-  description: Score thresholds for complexity tier classification. All values must satisfy 0 < simple_medium < medium_complex < complex_reasoning < 1.
+  description: |
+    Score thresholds for complexity tier classification. All values must satisfy 
+    0 < simple_medium < medium_complex < complex_reasoning < 1. 
+    Note: Cross-field ordering is validated at runtime by the API; the schema enforces only per-field bounds.
   additionalProperties: false
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@docs/openapi/schemas/management/governance.yaml` around lines 1318 - 1341,
Update the ComplexityTierBoundaries schema description to explicitly state that
cross-field ordering (0 < simple_medium < medium_complex < complex_reasoning <
1) is NOT enforced by the JSON Schema and is validated at the API layer
(runtime) — violations will result in a 400 BadRequest; reference the PUT
operation's runtime validation behavior and ensure the description mentions
clients may pass schema-valid payloads that are still rejected if ordering is
invalid.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@docs/openapi/openapi.json`:
- Around line 40364-40391: The OpenAPI schema's tier_boundaries (properties
simple_medium, medium_complex, complex_reasoning) notes a required ordering (0 <
simple_medium < medium_complex < complex_reasoning < 1) that JSON Schema cannot
enforce at runtime; add validation in the request handling code that inspects
tier_boundaries and verifies simple_medium < medium_complex < complex_reasoning
(and each is between 0 and 1), and if the check fails return a 400 response with
a clear error message indicating which boundary comparison failed (e.g.,
"simple_medium must be less than medium_complex").
- Around line 48995-49003: The new response component ConfigStoreUnavailable is
defined but unused; update the three complexity-analyzer-config endpoints (the
GET, PUT, and POST operations that currently inline identical 503 responses) to
reference the component instead of duplicating the schema by replacing their
inline 503 response bodies with "$ref":
"`#/components/responses/ConfigStoreUnavailable`"; alternatively, if the component
is not needed, remove the ConfigStoreUnavailable component declaration to avoid
dead OpenAPI definitions. Ensure the change is applied to the operations named
for complexity-analyzer-config (GET complexity-analyzer-config, PUT
complexity-analyzer-config, POST complexity-analyzer-config) so they all
consistently reference the shared response component.

---

Nitpick comments:
In `@docs/openapi/schemas/management/governance.yaml`:
- Around line 1318-1341: Update the ComplexityTierBoundaries schema description
to explicitly state that cross-field ordering (0 < simple_medium <
medium_complex < complex_reasoning < 1) is NOT enforced by the JSON Schema and
is validated at the API layer (runtime) — violations will result in a 400
BadRequest; reference the PUT operation's runtime validation behavior and ensure
the description mentions clients may pass schema-valid payloads that are still
rejected if ordering is invalid.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 1e90ca74-44a5-482c-b6f8-655b6bbede83

📥 Commits

Reviewing files that changed from the base of the PR and between 032bc77 and 96b8aad.

⛔ Files ignored due to path filters (6)
  • docs/media/architecture-complexity-router.png is excluded by !**/*.png
  • docs/media/complexity-logic-architecture.png is excluded by !**/*.png
  • docs/media/ui-complexity-router-config.png is excluded by !**/*.png
  • docs/media/ui-complexity-router-keywords.png is excluded by !**/*.png
  • docs/media/ui-routing-logs-complexity.png is excluded by !**/*.png
  • docs/media/ui-routing-rule-complexity.png is excluded by !**/*.png
📒 Files selected for processing (10)
  • docs/docs.json
  • docs/features/governance/complexity-router.mdx
  • docs/features/governance/routing.mdx
  • docs/openapi/openapi.json
  • docs/openapi/openapi.yaml
  • docs/openapi/paths/management/governance.yaml
  • docs/openapi/schemas/management/governance.yaml
  • docs/providers/provider-routing.mdx
  • docs/providers/routing-rules.mdx
  • ui/lib/types/complexityRouter.ts
✅ Files skipped from review due to trivial changes (2)
  • docs/providers/provider-routing.mdx
  • ui/lib/types/complexityRouter.ts

Comment thread docs/openapi/openapi.json
Comment thread docs/openapi/openapi.json
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 5cc4920 to 3a08ff0 Compare May 25, 2026 08:38
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch 2 times, most recently from 654ce74 to 20c9b3f Compare May 25, 2026 08:40
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 3a08ff0 to 3d09d45 Compare May 25, 2026 08:40
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 20c9b3f to f49fb9b Compare May 25, 2026 09:18
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch 2 times, most recently from b66e714 to 7f1d0df Compare May 27, 2026 08:28
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from f49fb9b to 6c5e5b0 Compare May 27, 2026 08:28
@Madhuvod Madhuvod removed the request for review from danpiths May 27, 2026 08:38
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 6c5e5b0 to d28667a Compare May 27, 2026 12:04
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 7f1d0df to 5b4a4bd Compare May 27, 2026 12:04
@coderabbitai coderabbitai Bot requested a review from danpiths May 27, 2026 12:08
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 5b4a4bd to dfd376e Compare May 27, 2026 12:15
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch 2 times, most recently from d2741d2 to e7f5826 Compare May 27, 2026 12:22
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from c13d822 to 9ffc142 Compare June 1, 2026 10:06
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch 2 times, most recently from 794b85a to ccb6b3a Compare June 1, 2026 10:29
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 9ffc142 to 0bae999 Compare June 1, 2026 10:29
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from ccb6b3a to 4351e01 Compare June 1, 2026 11:54
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 0bae999 to 3b8e6cd Compare June 1, 2026 11:54
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 4351e01 to 3966859 Compare June 1, 2026 12:15
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 3966859 to 6601d0a Compare June 8, 2026 12:21
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 3b8e6cd to 89303f9 Compare June 8, 2026 12:21
@akshaydeo akshaydeo force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 89303f9 to 1d1c7e7 Compare June 9, 2026 05:39
@akshaydeo akshaydeo force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 6601d0a to acd1741 Compare June 9, 2026 05:40
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from 1d1c7e7 to a149544 Compare June 9, 2026 09:09
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch 2 times, most recently from 2cfba2a to f6f934f Compare June 9, 2026 11:36
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch from a149544 to 887b9fc Compare June 9, 2026 11:36
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from f6f934f to dc7e360 Compare June 9, 2026 12:08
@Madhuvod Madhuvod force-pushed the 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support branch 2 times, most recently from 0f24388 to c1f0650 Compare June 10, 2026 12:56
@Madhuvod Madhuvod force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from dc7e360 to 4d64c2c Compare June 10, 2026 12:56

akshaydeo commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Merge activity

  • Jun 10, 1:30 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Jun 10, 1:37 PM UTC: Graphite rebased this pull request as part of a merge.
  • Jun 10, 1:38 PM UTC: @akshaydeo merged this pull request with Graphite.

@akshaydeo akshaydeo changed the base branch from 05-24-feat_ui_add_complexity_router_config_ui_and_cel_support to graphite-base/3716 June 10, 2026 13:35
@akshaydeo akshaydeo changed the base branch from graphite-base/3716 to dev June 10, 2026 13:36
@akshaydeo akshaydeo dismissed coderabbitai[bot]’s stale review June 10, 2026 13:36

The base branch was changed.

@akshaydeo akshaydeo force-pushed the 05-24-docs_for_complexity_router_and_openapi_reference branch from 4d64c2c to ddf4862 Compare June 10, 2026 13:36
@akshaydeo akshaydeo merged commit 7217a08 into dev Jun 10, 2026
12 checks passed
@akshaydeo akshaydeo deleted the 05-24-docs_for_complexity_router_and_openapi_reference branch June 10, 2026 13:38
intarweb-sync-bot Bot pushed a commit to intarweb/bifrost that referenced this pull request Jun 11, 2026
## Summary

Adds documentation and OpenAPI spec coverage for the Complexity Router feature, which automatically classifies incoming LLM requests into four tiers (SIMPLE, MEDIUM, COMPLEX, REASONING) and exposes a `complexity_tier` CEL variable for use in routing rules. This allows requests to be steered to appropriately-sized models based on prompt content with no application-side changes.

## Changes

- Added `docs/features/governance/complexity-router.mdx` — full reference page covering the scoring algorithm (five weighted dimensions, system prompt contribution, conversation context blending, output complexity floor, reasoning override), tier classification boundaries, configuration via UI/API/config.json, CEL routing examples, observability, and troubleshooting guidance.
- Registered the new page in `docs/docs.json` under the Governance section.
- Added cross-reference callouts in `routing.mdx`, `routing-rules.mdx`, and `provider-routing.mdx` pointing to the Complexity Router page and describing the `complexity_tier` variable.
- Added `GET /api/governance/complexity-analyzer-config`, `PUT /api/governance/complexity-analyzer-config`, and `POST /api/governance/complexity-analyzer-config/reset` endpoints to the OpenAPI spec (both `openapi.json` and `openapi.yaml`), with `ComplexityAnalyzerConfig`, `ComplexityTierBoundaries`, and `ComplexityKeywordConfig` schemas.
- Added a `ConfigStoreUnavailable` (503) reusable response component to the OpenAPI spec.
- Corrected the API path reference in `ui/lib/types/complexityRouter.ts` from `/api/governance/complexity` to `/governance/complexity-analyzer-config`.
- Added supporting architecture and UI screenshot assets under `docs/media/`.

## Type of change

- [ ] Bug fix
- [ ] Feature
- [ ] Refactor
- [x] Documentation
- [ ] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [ ] Plugins
- [x] UI (React)
- [x] Docs

## How to test

1. Navigate to the docs site and confirm the **Complexity Router** page appears under the Governance section in the sidebar.
2. Verify all internal links (Routing Rules, Virtual Keys, Budget & Limits, Provider Routing) resolve correctly.
3. Confirm the OpenAPI spec renders the three new `/api/governance/complexity-analyzer-config` endpoints with correct request/response schemas.
4. Validate the `complexity_tier` CEL variable examples in `routing-rules.mdx` are consistent with the behavior described in the Complexity Router page.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

N/A

## Security considerations

No new auth surfaces or secrets handling introduced. The API endpoints follow the same governance authentication patterns as existing endpoints.

## Checklist

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

* **New Features**
  * Introduced Complexity Router feature to classify requests into four tiers (SIMPLE, MEDIUM, COMPLEX, REASONING) for dynamic request routing.
  * Added REST API endpoints to retrieve, update, and reset complexity analyzer configuration at runtime.

* **Documentation**
  * Added comprehensive guide for Complexity Router feature and configuration options.
  * Updated routing documentation to reference Complexity Router and explain the `complexity_tier` routing variable.
  * Clarified static vs. dynamic routing capabilities.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
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