Skip to content

fixes config docs - #3722

Merged
akshaydeo merged 1 commit into
mainfrom
05-25-fixes_config_docs
May 25, 2026
Merged

fixes config docs#3722
akshaydeo merged 1 commit into
mainfrom
05-25-fixes_config_docs

Conversation

@akshaydeo

@akshaydeo akshaydeo commented May 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Clarifies how config.json and database state interact in Bifrost's two configuration modes, replacing the previous misleading statement that the two approaches cannot be used simultaneously.

Changes

  • Added an explanation of the content-based hash mechanism: entities defined in config.json are stored with a hash on first load, and subsequent UI/API changes persist to the database without being overwritten by re-applying the same config.json
  • Removed the inaccurate note stating the two configuration modes cannot be used simultaneously
  • Removed the outdated advanced-user warning that modifying config.json after initial bootstrap has no effect when config_store is enabled, replacing it with the more accurate hash-based behavior description

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

Review the updated docs/quickstart/gateway/setting-up.mdx and verify the config/database interaction explanation is accurate against the actual Bifrost bootstrap and hash-check behavior.

Breaking changes

  • Yes
  • No

Related issues

Security considerations

None.

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

@mintlify

mintlify Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
bifrost 🟢 Ready View Preview May 25, 2026, 6:25 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@coderabbitai

coderabbitai Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Summary by CodeRabbit

  • Documentation
    • Expanded "Two Configuration Modes" to clarify initial storage via content hashes, how UI/API edits persist across restarts, and when re-applying configuration preserves or overwrites entries; simplified the configuration schema note and clarified DB reconciliation for empty vs. existing stores.
    • Updated test-harness coverage overview with higher totals, enumerated request categories, clarified preview gating, expanded provider coverage details (Anthropic/Gemini/Vertex), added modalities and cross-cutting matrices, and refined passthrough and transport-route coverage descriptions.

Walkthrough

Updates clarify gateway config persistence and DB reconciliation semantics, simplify a schema note and wrapping, and substantially expand and reorganize test-harness coverage tables, provider feature rows, modality matrices, passthrough surface details, and transport-route categories.

Changes

Gateway Setup Documentation

Layer / File(s) Summary
Configuration persistence and reconciliation
docs/quickstart/gateway/setting-up.mdx
Rewrote the "Two Configuration Modes" and "Database check" text to state that config.json entities are stored initially with per-entity content hashes, that UI/API edits persist in the DB across restarts, and that re-applying/editing config.json overwrites DB entries only when content hashes differ (UI/API-only entries are always preserved).
Schema note and wrapping tweaks
docs/quickstart/gateway/setting-up.mdx
Converted the config schema <Note> to a single-line link note and rewrapped the PostgreSQL materialized-views permissions note into fewer lines without changing meaning.

Test Harness Coverage

Layer / File(s) Summary
Overview and gating
docs/providers/test-harness-coverage.mdx
Updated harness request totals, enumerated covered request categories, and clarified [PREVIEW] gating with opt-in guidance for preview-scoped resources.
Anthropic coverage adjustments
docs/providers/test-harness-coverage.mdx
Added/adjusted Anthropic rows (Opus 4.7 via /v1/chat, interleaved/structured-output workarounds, output/prompt-caching, service-tier/performance, request-metadata, anthropic-beta passthrough).
Gemini & Vertex feature rows
docs/providers/test-harness-coverage.mdx
Added Gemini presence+frequency penalty coverage; expanded Vertex rows for stop sequences, function calling, forced tool choice, and parallel function calls; reorganized related entries.
Modalities matrix and cross-cutting structure
docs/providers/test-harness-coverage.mdx
Inserted a new "Modalities (8. Criss-Cross)" modality-by-provider matrix and expanded the cross-cutting section into translation-layer matrices, drop-in/umbrella matrices, and a Bifrost-only behaviors header.
Passthrough surface and transport routes
docs/providers/test-harness-coverage.mdx
Extended passthrough feature matrix with provider-specific categories (streaming/multi-turn/vision/tool use/structured output/etc.) and restructured "Coverage by transport route" into explicit categories (drop-in native, drop-in umbrella, cross-model, modality-linked routes).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Suggested reviewers

  • danpiths

Poem

🐰 A hop through docs, I scrub and write,

Hashes kept safe through day and night,
Tables widened, routes mapped with care,
Notes wrapped tidy, clarity to share,
Hooray — docs gleam in Bifrost light!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'fixes config docs' is vague and generic, using non-descriptive language that doesn't convey the specific nature of the documentation changes made to the pull request. Replace with a more specific title that captures the main change, such as 'Clarify config.json and database interaction in two configuration modes' or 'Fix misleading config/database state documentation'.
✅ Passed checks (4 passed)
Check name Status Explanation
Description check ✅ Passed The pull request description is well-structured, follows the provided template with all major sections completed, and clearly explains the purpose, changes, and affected areas of the documentation updates.
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-25-fixes_config_docs

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

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@akshaydeo
akshaydeo marked this pull request as ready for review May 25, 2026 06:26
@coderabbitai
coderabbitai Bot requested a review from danpiths May 25, 2026 06:27
@greptile-apps

greptile-apps Bot commented May 25, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

Documentation-only change that clarifies existing behavior; no code paths are modified.

The hash-based reconciliation description in setting-up.mdx aligns with the actual Go implementation: per-entity ConfigHash fields exist on every table, UI updates preserve the original ConfigHash (so re-applying an unchanged config.json leaves DB edits intact), and a changed config.json entity triggers an overwrite. The previous contradictions and orphaned heading flagged in earlier review threads are resolved. The test-harness doc updates are factual expansions with no logic to break.

No files require special attention.

Important Files Changed

Filename Overview
docs/quickstart/gateway/setting-up.mdx Clarifies the hash-based config reconciliation mechanism; removes the inaccurate 'cannot use both simultaneously' note and the orphaned 'Important for Advanced Users' heading; updates the 'Existing DB' bullet to accurately describe per-entity hash comparison behavior.
docs/providers/test-harness-coverage.mdx Expands test harness documentation to reflect 725 requests (up from 321) across new modality, umbrella SDK, and drop-in matrix sections; adds coverage rows for new provider features. Pure documentation update.

Reviews (4): Last reviewed commit: "fixes config docs" | Re-trigger Greptile

Comment thread docs/quickstart/gateway/setting-up.mdx Outdated
Comment thread docs/quickstart/gateway/setting-up.mdx
Comment thread docs/quickstart/gateway/setting-up.mdx Outdated

@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: 1

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/quickstart/gateway/setting-up.mdx (1)

145-160: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

Use required Mintlify tabs for configuration modes.

This section should be presented with Web UI / API / config.json tabs instead of plain headings to comply with docs standards.

As per coding guidelines "docs/**/*.mdx: Mintlify MDX documentation must have Web UI / API / config.json tabs; validate config.json examples against transports/config.schema.json".

🤖 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/quickstart/gateway/setting-up.mdx` around lines 145 - 160, Replace the
plain headings "Mode 1: Web UI Configuration" and "Mode 2: File-based
Configuration" with Mintlify tab blocks labeled "Web UI", "API", and
"config.json" so the section uses required tabs; move the UI content (including
the image and the two bullet cases) into the "Web UI" tab, add an "API" tab
placeholder or content if applicable, and place the file-based configuration
instructions plus the example config.json into the "config.json" tab; ensure the
config.json example shown in the "config.json" tab is validated/updated to
conform to transports/config.schema.json.
🤖 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/quickstart/gateway/setting-up.mdx`:
- Around line 134-143: The page contains conflicting descriptions of persistence
for config.json: one section says the DB ignores config.json configurations,
while the shown hunk explains entities are stored by content-based hash and that
editing config.json with a changed hash will overwrite DB entries; reconcile by
updating the contradictory sentence (referencing "config.json" and
"content-based hash") to clearly state the precedence rules — e.g., that on
first load entities from config.json are written to the DB with a content hash,
subsequent UI/API changes persist to the DB and are preserved unless config.json
is edited such that the content-based hash changes (in which case the file
definition overwrites the DB) — and ensure the page consistently uses the terms
"config.json", "content-based hash", and "database" across both places.

---

Outside diff comments:
In `@docs/quickstart/gateway/setting-up.mdx`:
- Around line 145-160: Replace the plain headings "Mode 1: Web UI Configuration"
and "Mode 2: File-based Configuration" with Mintlify tab blocks labeled "Web
UI", "API", and "config.json" so the section uses required tabs; move the UI
content (including the image and the two bullet cases) into the "Web UI" tab,
add an "API" tab placeholder or content if applicable, and place the file-based
configuration instructions plus the example config.json into the "config.json"
tab; ensure the config.json example shown in the "config.json" tab is
validated/updated to conform to transports/config.schema.json.
🪄 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: 5d0c8c35-e412-43f4-9498-803386e9a189

📥 Commits

Reviewing files that changed from the base of the PR and between 6e3c19f and a1b15ad.

📒 Files selected for processing (1)
  • docs/quickstart/gateway/setting-up.mdx

Comment thread docs/quickstart/gateway/setting-up.mdx

@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.

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/quickstart/gateway/setting-up.mdx (1)

145-205: 🛠️ Refactor suggestion | 🟠 Major | ⚡ Quick win

Add required Mintlify tabs for configuration flows.

This section documents Web UI and file-based config behavior, but it is not structured with the required Web UI / API / config.json tabs. Please convert this section into tabbed MDX to match docs standards.

As per coding guidelines "docs/**/*.mdx: Mintlify MDX documentation must have Web UI / API / config.json tabs; validate config.json examples against transports/config.schema.json".

🤖 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/quickstart/gateway/setting-up.mdx` around lines 145 - 205, Convert the
"Mode 1: Web UI Configuration" / "Mode 2: File-based Configuration" section into
Mintlify tabbed MDX with three tabs labeled "Web UI", "API", and "config.json"
(move the UI description and image under "Web UI", any API runtime/behavior
notes under "API", and the file-based example and bullet points under
"config.json"); ensure the config.json code block matches the
transports/config.schema.json schema (validate keys, types, and model names) and
update any text to reference the appropriate tab where it originally lived (use
the existing headings "Mode 1: Web UI Configuration" and "Mode 2: File-based
Configuration" to locate content).
🤖 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.

Outside diff comments:
In `@docs/quickstart/gateway/setting-up.mdx`:
- Around line 145-205: Convert the "Mode 1: Web UI Configuration" / "Mode 2:
File-based Configuration" section into Mintlify tabbed MDX with three tabs
labeled "Web UI", "API", and "config.json" (move the UI description and image
under "Web UI", any API runtime/behavior notes under "API", and the file-based
example and bullet points under "config.json"); ensure the config.json code
block matches the transports/config.schema.json schema (validate keys, types,
and model names) and update any text to reference the appropriate tab where it
originally lived (use the existing headings "Mode 1: Web UI Configuration" and
"Mode 2: File-based Configuration" to locate content).

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 20078acd-4a37-4d51-bf7d-ffcbb6898a83

📥 Commits

Reviewing files that changed from the base of the PR and between a1b15ad and 9224437.

📒 Files selected for processing (1)
  • docs/quickstart/gateway/setting-up.mdx

coderabbitai[bot]
coderabbitai Bot previously approved these changes May 25, 2026
coderabbitai[bot]
coderabbitai Bot previously approved these changes May 25, 2026

@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: 1

🤖 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/providers/test-harness-coverage.mdx`:
- Line 156: The docs row for "Adaptive thinking (Opus 4.7 via `/v1/chat`)"
incorrectly claims service_tier, performanceConfig (latency: "optimized"), and
request metadata are exercised; update either the docs or the harness: either
change docs/providers/test-harness-coverage.mdx to remove the ✅s (and correct
the endpoint string) to match the existing test in
tests/e2e/api/collections/provider-harness.json (the "Adaptive thinking (Opus
4.7)" entry with model "claude-opus-4-7" and url
"{{baseUrl}}/anthropic/v1/messages"), or add new Opus 4.7 harness cases in
provider-harness.json that send/assert service_tier: "auto", performanceConfig:
{ latency: "optimized" }, and any request metadata fields so the docs are
accurate.
🪄 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: 1a35813c-f44d-4495-aba6-74d9fb239307

📥 Commits

Reviewing files that changed from the base of the PR and between e03525c and 4621a71.

📒 Files selected for processing (2)
  • docs/providers/test-harness-coverage.mdx
  • docs/quickstart/gateway/setting-up.mdx
✅ Files skipped from review due to trivial changes (1)
  • docs/quickstart/gateway/setting-up.mdx

| PDF input (URLs auto-fetched + inlined) | ✅ |
| Citations on document blocks | ✅ |
| Extended thinking (`thinking.budget_tokens`) | ✅ |
| Adaptive thinking (Opus 4.7 via `/v1/chat`) | ✅ |

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.

⚠️ Potential issue | 🟠 Major | 💤 Low value

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Verify Anthropic features documented on lines 156, 164-166 exist in the harness

echo "=== Searching for Opus 4.7 adaptive thinking ==="
rg -i "adaptive" tests/e2e/api/collections/provider-harness.json -A2 -B2 | head -20

echo "=== Searching for service tier in Anthropic/Bedrock sections ==="
rg -i "service.?tier" tests/e2e/api/collections/provider-harness.json -C2 | head -20

echo "=== Searching for performance config ==="
rg -i "performance|latency.*optimized" tests/e2e/api/collections/provider-harness.json -C2 | head -20

echo "=== Searching for request metadata ==="
rg -i "metadata" tests/e2e/api/collections/provider-harness.json -C2 | head -20

Repository: maximhq/bifrost

Length of output: 23237


Fix Anthropic “Opus 4.7” harness coverage row: service tier / perf config / request metadata aren’t exercised

In docs/providers/test-harness-coverage.mdx (lines 156, 164–166), the ✅ entries claim service tier (auto), performance config (latency: optimized), and request metadata for Adaptive thinking (Opus 4.7 via /v1/chat). However, tests/e2e/api/collections/provider-harness.json’s Opus 4.7 adaptive-thinking test ("Adaptive thinking (Opus 4.7)", model claude-opus-4-7, url {{baseUrl}}/anthropic/v1/messages) only sets thinking: { "type": "adaptive" } plus messages and does not include service_tier, performanceConfig/latency: "optimized", or request-metadata fields.

Update the docs to match the harness (including the endpoint), or add Opus 4.7 harness cases that actually send/assert those fields.

🤖 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/providers/test-harness-coverage.mdx` at line 156, The docs row for
"Adaptive thinking (Opus 4.7 via `/v1/chat`)" incorrectly claims service_tier,
performanceConfig (latency: "optimized"), and request metadata are exercised;
update either the docs or the harness: either change
docs/providers/test-harness-coverage.mdx to remove the ✅s (and correct the
endpoint string) to match the existing test in
tests/e2e/api/collections/provider-harness.json (the "Adaptive thinking (Opus
4.7)" entry with model "claude-opus-4-7" and url
"{{baseUrl}}/anthropic/v1/messages"), or add new Opus 4.7 harness cases in
provider-harness.json that send/assert service_tier: "auto", performanceConfig:
{ latency: "optimized" }, and any request metadata fields so the docs are
accurate.

akshaydeo commented May 25, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

  • May 25, 8:17 AM UTC: A user started a stack merge that includes this pull request via Graphite.
  • May 25, 8:17 AM UTC: @akshaydeo merged this pull request with Graphite.

@akshaydeo
akshaydeo merged commit df82078 into main May 25, 2026
14 of 15 checks passed
@akshaydeo
akshaydeo deleted the 05-25-fixes_config_docs branch May 25, 2026 08:17
akhsaul pushed a commit to akhsaul/bifrost that referenced this pull request Aug 27, 2026
## Summary

Clarifies how `config.json` and database state interact in Bifrost's two configuration modes, replacing the previous misleading statement that the two approaches cannot be used simultaneously.

## Changes

- Added an explanation of the content-based hash mechanism: entities defined in `config.json` are stored with a hash on first load, and subsequent UI/API changes persist to the database without being overwritten by re-applying the same `config.json`
- Removed the inaccurate note stating the two configuration modes cannot be used simultaneously
- Removed the outdated advanced-user warning that modifying `config.json` after initial bootstrap has no effect when `config_store` is enabled, replacing it with the more accurate hash-based behavior description

## Type of change

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

## Affected areas

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

## How to test

Review the updated `docs/quickstart/gateway/setting-up.mdx` and verify the config/database interaction explanation is accurate against the actual Bifrost bootstrap and hash-check behavior.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

## Security considerations

None.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable
occcat pushed a commit to occcat/bifrost that referenced this pull request Sep 2, 2026
## Summary

Clarifies how `config.json` and database state interact in Bifrost's two configuration modes, replacing the previous misleading statement that the two approaches cannot be used simultaneously.

## Changes

- Added an explanation of the content-based hash mechanism: entities defined in `config.json` are stored with a hash on first load, and subsequent UI/API changes persist to the database without being overwritten by re-applying the same `config.json`
- Removed the inaccurate note stating the two configuration modes cannot be used simultaneously
- Removed the outdated advanced-user warning that modifying `config.json` after initial bootstrap has no effect when `config_store` is enabled, replacing it with the more accurate hash-based behavior description

## Type of change

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

## Affected areas

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

## How to test

Review the updated `docs/quickstart/gateway/setting-up.mdx` and verify the config/database interaction explanation is accurate against the actual Bifrost bootstrap and hash-check behavior.

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

## Security considerations

None.

## Checklist

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