Skip to content

[docs] Add model fallback feature documentation#3617

Merged
lpcox merged 1 commit into
mainfrom
doc/model-fallback-feature-119d355f43f4376d
May 23, 2026
Merged

[docs] Add model fallback feature documentation#3617
lpcox merged 1 commit into
mainfrom
doc/model-fallback-feature-119d355f43f4376d

Conversation

@github-actions
Copy link
Copy Markdown
Contributor

Documentation Sync - Model Fallback Feature

This PR synchronizes documentation with the model fallback feature added in commit 1d234dd.

Changes Made

  • docs/awf-config-spec.md: Added comprehensive section (§12) documenting model fallback including:

    • Configuration reference for apiProxy.modelFallback with enabled and strategy fields
    • Detailed explanation of the middle-power strategy with capability tier mapping
    • Activation conditions and interaction with model aliases
    • Extended alias syntax supporting per-alias fallback control
    • Introspection via /health endpoint
    • Added apiProxy.modelFallback to CLI mapping section (§5)
  • docs/api-proxy-sidecar.md: Added model fallback section covering:

    • Configuration examples (config file and CLI)
    • How middle-power selection works with examples
    • Extended alias syntax with per-alias fallback control
    • How to disable fallback globally or per-alias
    • Updated health check example to include new model_fallback field

Code Changes Referenced

  • Commit 1d234dd: feat(api-proxy): add middle-power model fallback with stale-cache recovery (feat(api-proxy): add middle-power model fallback with stale-cache recovery #3607)
    • Added getModelCapabilityTier() and getTierSortedModels() for tier-based model ranking
    • Added selectMiddlePowerFallback() for median model selection
    • Extended model alias syntax to support { patterns: string[], fallback?: boolean }
    • Updated health endpoint to include model_fallback configuration
    • Added comprehensive test coverage for fallback scenarios

Verification

  • ✅ Code examples match implementation in containers/api-proxy/model-discovery.js and model-resolver.js
  • ✅ Configuration fields documented match schema in src/awf-config-schema.json
  • ✅ Capability tiers align with getModelCapabilityTier() function logic
  • ✅ Extended alias syntax matches parseModelAliases() and resolveAliasDefinition() implementations
  • ✅ Health endpoint response matches management.js output
  • ✅ Documentation follows existing style and structure

🤖 Generated with [Claude Code]((claude.com/redacted)

Generated by Documentation Maintainer · ● 88.7K ·

Documents the new middle-power model fallback strategy that automatically
selects alternative models when a requested model is unavailable. Includes:

- Configuration reference for apiProxy.modelFallback in awf-config-spec.md
- Extended model alias syntax with per-alias fallback control
- Middle-power strategy explanation with capability tier mapping
- Usage examples and introspection via /health endpoint
- API proxy sidecar documentation with configuration and behavior guide

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@github-actions github-actions Bot added ai-generated documentation Improvements or additions to documentation labels May 23, 2026
@github-actions
Copy link
Copy Markdown
Contributor Author

Documentation Preview

Documentation build failed for this PR. View logs.

Built from commit 185633d

@github-actions
Copy link
Copy Markdown
Contributor Author

Smoke Test PASS

Status: All tests passed
PR: #3617 by @github-actions[bot]

🔑 BYOK report filed by Smoke Copilot BYOK

@github-actions
Copy link
Copy Markdown
Contributor Author

Smoke Test Results ✅

  • GitHub API: 2 recent PRs verified
  • GitHub check: playwright_check passed
  • File verify: Smoke test artifact exists

Status: PASS

💥 [THE END] — Illustrated by Smoke Claude

@github-actions
Copy link
Copy Markdown
Contributor Author

Smoke Test Results

GitHub MCP: Retrieved PR #3607 - feat(api-proxy): add middle-power model fallback
GitHub.com: HTTP status not available (template variable)
File Test: /tmp/smoke-test-file.txt not found

Status: PARTIAL (MCP working, file test failed)

cc @github-actions[bot]

📰 BREAKING: Report filed by Smoke Copilot

@github-actions
Copy link
Copy Markdown
Contributor Author

Smoke Test Codex: FAIL
PRs: feat(api-proxy): add middle-power model fallback with stale-cache recovery; api-proxy: fallback unavailable gpt-5.x requests to highest available family model
✅ GitHub PR review
❌ safeinputs-gh query
✅ Playwright title
❌ Tavily search
✅ File write/read
✅ Discussion comment
✅ npm ci && npm run build
Overall status: FAIL

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • registry.npmjs.org

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "registry.npmjs.org"

See Network Configuration for more information.

🔮 The oracle has spoken through Smoke Codex

@github-actions
Copy link
Copy Markdown
Contributor Author

Service Connectivity Test Results

❌ Redis: TIMEOUT/ERROR
❌ PostgreSQL pg_isready: no response
❌ PostgreSQL SELECT 1: not tested (pg_isready failed)

Result: FAIL — No services reachable via host.docker.internal

🔌 Service connectivity validated by Smoke Services

@github-actions
Copy link
Copy Markdown
Contributor Author

🏗️ Build Test Suite Results

Ecosystem Project Build/Install Tests Status
Bun elysia 1/1 passed ✅ PASS
Bun hono 1/1 passed ✅ PASS
C++ fmt N/A ✅ PASS
C++ json N/A ✅ PASS
Deno oak N/A 1/1 passed ✅ PASS
Deno std N/A 1/1 passed ✅ PASS
.NET hello-world N/A ✅ PASS
.NET json-parse N/A ✅ PASS
Go color 1/1 passed ✅ PASS
Go env 1/1 passed ✅ PASS
Go uuid 1/1 passed ✅ PASS
Java gson 1/1 passed ✅ PASS
Java caffeine 1/1 passed ✅ PASS
Node.js clsx 1/1 passed ✅ PASS
Node.js execa 1/1 passed ✅ PASS
Node.js p-limit 1/1 passed ✅ PASS
Rust fd 1/1 passed ✅ PASS
Rust zoxide 1/1 passed ✅ PASS

Overall: 8/8 ecosystems passed — ✅ PASS

All build and test operations completed successfully across all ecosystems.

Generated by Build Test Suite for issue #3617 · ● 11.1M ·

@github-actions
Copy link
Copy Markdown
Contributor Author

Smoke test results: FAIL (Gemini)

Warning

Firewall blocked 1 domain

The following domain was blocked by the firewall during workflow execution:

  • localhost

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "localhost"

See Network Configuration for more information.

💎 Faceted by Smoke Gemini

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant