docs: add config-reference.md documenting the full YAML schema (#112) - #278
Conversation
Documents all fields for dataset, llm, retriever, metrics, report, corpus, and global config sections including types, defaults, required/optional status, and examples. Closes OpenAgentHQ#112
There was a problem hiding this comment.
Pull request overview
Adds a new documentation page that serves as a single reference for OpenAgent Eval’s config.yaml schema (intended to mirror the Pydantic models), and wires it into the MkDocs navigation so users can find it under the Guide section.
Changes:
- Added
docs/config-reference.mddocumenting config sections/fields, defaults, constraints, and examples. - Added a quick-start full config example to make the schema easier to adopt.
- Registered the new page in
mkdocs.ymlnav under Guide.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| mkdocs.yml | Adds the “Configuration Reference” page to the Guide navigation. |
| docs/config-reference.md | New config schema reference page with tables and examples for each config area. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 2 out of 2 changed files in this pull request and generated no new comments.
Suppressed comments (6)
docs/config-reference.md:257
- The heading
##global`` reads like there is aglobal:YAML section, but these settings are actually top-level fields on the root `Config` model (there is no `global` key). Renaming the section title will prevent users from trying `global:` in their YAML.
## `global`
Global settings configure overall execution and concurrency behavior. These fields are defined directly at the top level of `config.yaml`.
docs/config-reference.md:136
- The
retriever.providerfield is required when aretriever:block is provided. The effective default ofchromacomes from the top-levelConfigdefault factory when the entireretrieversection is omitted, not from a default value on theproviderfield itself. As written, the row suggestsproviderhas a default even inside an explicitly-providedretriever:block.
| `provider` | `str` | `"chroma"` | Yes | Retriever provider name (e.g., `chroma`, `memory`, `qdrant`, `pinecone`, `weaviate`, `faiss`, `pgvector`, `elasticsearch`, `bm25`, `http`, `mock`). |
docs/config-reference.md:227
- In the Pydantic schema,
corpus.checksislist[CorpusCheckType](an enum), notlist[str]. Updating the type here keeps the reference aligned withopenagent_eval/config/models.py.
| `checks` | `list[str]` | `["contradiction", "staleness", "duplicate", "coverage"]` | No | Corpus health checks to run. Allowed values: `"contradiction"`, `"staleness"`, `"duplicate"`, `"coverage"`. |
docs/config-reference.md:90
dataset.formatsupportspdfin addition tojson,jsonl,csv, andhf(the dataset loader also auto-detects.pdfby extension whenformatis omitted). The allowed-values list should includepdfto match actual supported formats.
| `format` | `str \| None` | `None` | No | Dataset format (`json`, `jsonl`, `csv`, `hf`). Auto-detected if omitted. |
docs/config-reference.md:114
llm.api_keyonly falls back to an environment variable for providers that have an env var mapping (e.g., openai/gemini/anthropic/groq/openrouter). Wording this as “when supported” avoids implyingollama/mockuse an env var.
| `api_key` | `SecretStr \| None` | `None` | No | API key string (must be at least 10 characters if specified). Falls back to provider environment variable if omitted. |
docs/config-reference.md:203
- This table row is missing a trailing
|, which breaks the Markdown table formatting for thereportsection.
| `output` | `OutputFormat` | `"terminal"` | No | Output format for reports. Allowed values: `"terminal"`, `"markdown"`, `"html"`, `"json"`.
|
🎉 Congratulations @PrinceThummar011! Your pull request has been successfully merged into main. 🚀 Thank you for contributing to OpenAgentHQ and helping improve the project. We truly appreciate your contribution and hope to see you back with more amazing PRs! Happy Open Sourcing! ❤️ |
Summary
Adds a dedicated configuration reference page (
docs/config-reference.md)that documents the complete YAML schema used by OpenAgent Eval, sourced
directly from the Pydantic models in
openagent_eval/config/models.py.Closes #112
What's included
dataset,llm,retriever,metrics,report,corpus, andglobalconstraints, and description
retriever.embedder)working
config.yamlChanges
docs/config-reference.mdmkdocs.yml— registered the new page under theGuidenav section as "Configuration Reference"
Validation
uv run mkdocs build --strictpasses with no broken links or nav errorsopenagent_eval/config/models.pymodels.py,config.yaml) were modified — docs-only changeNotes for reviewers
All field descriptions, types, and defaults were pulled directly from
docstrings and field definitions in
models.py— nothing was guessed orfabricated. Flagging for a maintainer's confirmation pass in case any
nested/less-common field's intent needs clarification.