LCORE-3444: Properly formatted devel doc - #2367
Conversation
WalkthroughThe documentation generator now inserts blank lines after file headings. Generated source and test README files were reformatted and expanded with descriptions for selected modules and tests. ChangesREADME documentation
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related PRs
Suggested reviewers: 🚥 Pre-merge checks | ✅ 7✅ Passed checks (7 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 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 `@src/app/endpoints/README.md`:
- Line 49: Update the README description for the REST API handler to place
“dynamically” after “manage MCP servers,” preserving the existing meaning and
wording otherwise.
In `@src/app/README.md`:
- Line 13: Update the source descriptions generating src/app/README.md at lines
13-13 and src/authentication/README.md at lines 17-17 to use the compound
modifiers “FastAPI-based web service” and “JWK-based JWT auth” respectively,
then regenerate both README files so the generated descriptions reflect those
corrections.
In `@src/utils/README.md`:
- Line 9: Update the source description consumed by scripts/gen_doc.py to use
“built-in” instead of “builtin” for the file-search provider, then regenerate
src/utils/README.md so the generated documentation preserves the corrected
wording.
🪄 Autofix
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: Path: .coderabbit.yaml
Review profile: ASSERTIVE
Plan: Pro Plus
Run ID: aaf86973-8f9f-43f4-9dee-48a057ee90e3
📒 Files selected for processing (67)
scripts/gen_doc.pysrc/README.mdsrc/a2a_storage/README.mdsrc/app/README.mdsrc/app/endpoints/README.mdsrc/authentication/README.mdsrc/authorization/README.mdsrc/cache/README.mdsrc/data/README.mdsrc/metrics/README.mdsrc/models/README.mdsrc/models/api/README.mdsrc/models/api/requests/README.mdsrc/models/api/responses/README.mdsrc/models/api/responses/error/README.mdsrc/models/api/responses/successful/README.mdsrc/models/common/README.mdsrc/models/common/agents/README.mdsrc/models/common/responses/README.mdsrc/models/database/README.mdsrc/observability/README.mdsrc/observability/formats/README.mdsrc/pydantic_ai_lightspeed/README.mdsrc/pydantic_ai_lightspeed/capabilities/README.mdsrc/pydantic_ai_lightspeed/capabilities/question_validity/README.mdsrc/pydantic_ai_lightspeed/capabilities/redaction/README.mdsrc/pydantic_ai_lightspeed/llamastack/README.mdsrc/quota/README.mdsrc/runners/README.mdsrc/telemetry/README.mdsrc/utils/README.mdsrc/utils/agents/README.mdtests/e2e/features/README.mdtests/e2e/features/steps/README.mdtests/e2e/mock_jwks_server/README.mdtests/e2e/mock_mcp_server/README.mdtests/e2e/mock_tls_inference_server/README.mdtests/e2e/proxy/README.mdtests/e2e/utils/README.mdtests/integration/container_lifecycle/README.mdtests/integration/endpoints/README.mdtests/unit/README.mdtests/unit/a2a_storage/README.mdtests/unit/app/README.mdtests/unit/app/endpoints/README.mdtests/unit/authentication/README.mdtests/unit/authorization/README.mdtests/unit/cache/README.mdtests/unit/metrics/README.mdtests/unit/models/README.mdtests/unit/models/config/README.mdtests/unit/models/database/README.mdtests/unit/models/requests/README.mdtests/unit/models/responses/README.mdtests/unit/models/rlsapi/README.mdtests/unit/observability/README.mdtests/unit/observability/formats/README.mdtests/unit/pydantic_ai_lightspeed/README.mdtests/unit/pydantic_ai_lightspeed/capabilities/README.mdtests/unit/pydantic_ai_lightspeed/capabilities/question_validity/README.mdtests/unit/pydantic_ai_lightspeed/capabilities/redaction/README.mdtests/unit/pydantic_ai_lightspeed/llamastack/README.mdtests/unit/quota/README.mdtests/unit/runners/README.mdtests/unit/telemetry/README.mdtests/unit/utils/README.mdtests/unit/utils/agents/README.md
📜 Review details
⏰ Context from checks skipped due to timeout. (2)
- GitHub Check: integration_tests (3.12)
- GitHub Check: Konflux kflux-prd-rh02 / lightspeed-stack-0-7-on-pull-request
⚠️ CI failures not shown inline (1)
GitHub Check: Konflux kflux-prd-rh02 / lightspeed-stack-0-8-on-pull-request: Failed
Conclusion: failure
Konflux kflux-prd-rh02/lightspeed-stack-0-8-on-pull-request has <b>failed</b>.
<ul>
<li><b>Namespace</b>: <a href="https://konflux-ui.apps.kflux-prd-rh02.0fk9.p1.openshiftapps.com/ns/lightspeed-core-tenant">lightspeed-core-tenant</a></li>
<li><b>PipelineRun:</b> <a href="https://konflux-ui.apps.kflux-prd-rh02.0fk9.p1.openshiftapps.com/ns/lightspeed-core-tenant/pipelinerun/lightspeed-stack-0-8-on-pull-request-gph2b">lightspeed-stack-0-8-on-pull-request-gph2b</a></li>
</ul>
<hr>
<h4>Task Statuses:</h4>
<table>
<tr><th>Status</th><th>Duration</th><th>Name</th></tr>
<tr>
<td>🟢 Succeeded</td>
<td>4 seconds</td><td>
[init](https://konflux-ui.apps.kflux-prd-rh02.0fk9.p1.openshiftapps.com/ns/lightspeed-core-tenant/pipelinerun/lightspeed-stack-0-8-on-pull-request-gph2b/logs/init)
</td></tr>
<tr>
<td>🟢 Succeeded</td>
<td>16 seconds</td><td>
[clone-repository](https://konflux-ui.apps.kflux-prd-rh02.0fk9.p1.openshiftapps.com/ns/lightspeed-core-tenant/pipelinerun/lightspeed-stack-0-8-on-pull-request-gph2b/logs/clone-repository)
</td></tr>
<tr>
<td>🟢 Succeeded</td>
<td>10 seconds</td><td>
[prefetch-dependencies](https://konflux-ui.apps.kflux-prd-rh02.0fk9.p1.openshiftapps.com/ns/lightspeed-core-tenant/pipelinerun/lightspeed-stack-0-8-on-pull-request-gph2b/logs/prefetch-dependencies)
</td></tr>
<tr>
<td>🔴 Failed</td>
<td>10 seconds</td><td>
[build-images](https://konflux-ui.apps.kflux-prd-rh02.0fk9.p1.openshiftapps.com/ns/lightspeed-core-tenant/pipelinerun/lightspeed-stack-0-8-on-pull-request-gph2b/logs/build-images)
</td></tr>
</table>
🧰 Additional context used
📓 Path-based instructions (3)
**/*
📄 CodeRabbit inference engine (Custom checks)
**/*: Flag meaningful O(n^2)+ algorithms on non-trivial inputs, including handlers and Kubernetes list operations.
Flag N+1 patterns that list items and then query once per item, including Kubernetes API and database access.
Flag expensive work inside loops, including API calls, JSON parsing, and regex compilation.
Flag unbounded growth in caches, watchers, or buffers when eviction or limits are missing.
Flag missing pagination or limits on list operations and API endpoints.
Flag secrets or tokens logged in plaintext or hardcoded in source.
Flag API endpoints missing authentication or authorization.
Flag injection vulnerabilities, including SQL injection, command injection, and path traversal.
Flag sensitive data leaked in API responses, WebSocket messages, or logs.
Flag Kubernetes Secrets and Red Hat secrets missing OwnerReferences.
**/*: Useuvfor dependency management and prefix project commands withuv run; synchronize development dependencies withuv sync --group dev --group llslibdevwhen required.
Before completing code changes, runuv run make format,uv run make verify, and the applicable tests; regenerate the OpenAPI schema when models change, and report completion only after checks pass.
Follow existing code patterns in the module being modified and write unit tests covering new functionality.
Files:
tests/e2e/features/README.mdsrc/models/api/README.mdtests/integration/container_lifecycle/README.mdsrc/observability/formats/README.mdtests/unit/pydantic_ai_lightspeed/capabilities/README.mdtests/unit/utils/README.mdsrc/models/api/responses/successful/README.mdtests/unit/models/database/README.mdtests/unit/models/config/README.mdtests/unit/models/rlsapi/README.mdsrc/app/README.mdsrc/authentication/README.mdsrc/pydantic_ai_lightspeed/llamastack/README.mdsrc/app/endpoints/README.mdsrc/observability/README.mdtests/integration/endpoints/README.mdtests/unit/models/responses/README.mdsrc/utils/README.mdtests/unit/README.mdtests/e2e/mock_jwks_server/README.mdtests/unit/cache/README.mdtests/unit/metrics/README.mdsrc/telemetry/README.mdsrc/models/README.mdsrc/pydantic_ai_lightspeed/capabilities/question_validity/README.mdsrc/models/database/README.mdsrc/a2a_storage/README.mdtests/e2e/mock_mcp_server/README.mdsrc/quota/README.mdscripts/gen_doc.pytests/e2e/proxy/README.mdsrc/pydantic_ai_lightspeed/capabilities/redaction/README.mdtests/unit/pydantic_ai_lightspeed/README.mdtests/unit/app/README.mdtests/unit/runners/README.mdsrc/README.mdtests/unit/authorization/README.mdsrc/models/api/responses/error/README.mdtests/unit/a2a_storage/README.mdsrc/pydantic_ai_lightspeed/capabilities/README.mdtests/unit/observability/README.mdtests/unit/utils/agents/README.mdtests/unit/quota/README.mdsrc/cache/README.mdsrc/models/common/agents/README.mdtests/unit/app/endpoints/README.mdsrc/runners/README.mdtests/unit/pydantic_ai_lightspeed/capabilities/question_validity/README.mdsrc/authorization/README.mdtests/unit/models/README.mdsrc/utils/agents/README.mdtests/e2e/mock_tls_inference_server/README.mdsrc/models/api/requests/README.mdsrc/metrics/README.mdtests/unit/models/requests/README.mdsrc/models/common/responses/README.mdtests/unit/telemetry/README.mdtests/e2e/features/steps/README.mdtests/unit/observability/formats/README.mdtests/e2e/utils/README.mdtests/unit/authentication/README.mdtests/unit/pydantic_ai_lightspeed/capabilities/redaction/README.mdsrc/models/api/responses/README.mdsrc/pydantic_ai_lightspeed/README.mdtests/unit/pydantic_ai_lightspeed/llamastack/README.mdsrc/data/README.mdsrc/models/common/README.md
**/*.py
📄 CodeRabbit inference engine (AGENTS.md)
**/*.py: Use absolute imports for internal Python modules.
All modules must begin with descriptive docstrings; package__init__.pyfiles must contain brief package descriptions.
Uselogger = get_logger(__name__)fromlog.pyfor module logging.
UseFinal[type]type hints for constants and define shared constants in the centralconstants.pymodule.
Files:
scripts/gen_doc.py
**/*.{py,yaml,yml,json,toml}
📄 CodeRabbit inference engine (AGENTS.md)
Never commit secrets or keys; use environment variables for sensitive data.
Files:
scripts/gen_doc.py
🧠 Learnings (1)
📚 Learning: 2026-06-24T13:45:37.249Z
Learnt from: Jdubrick
Repo: lightspeed-core/lightspeed-stack PR: 1971
File: src/utils/markdown_repair.py:31-36
Timestamp: 2026-06-24T13:45:37.249Z
Learning: In the lightspeed-stack repository, docstrings must use the section header name "Parameters:" (not "Args:") for function arguments, even if the project references Google Python docstring conventions. Ensure docstrings follow the project’s established "Parameters:" header format for any documented function parameters.
Applied to files:
scripts/gen_doc.py
🪛 ast-grep (0.45.0)
scripts/gen_doc.py
[warning] 47-47: File path is request-/variable-derived; validate and normalize to prevent path traversal.
Context: open(file, encoding="utf-8")
Note: [CWE-22] Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal').
(open-filename-from-request)
🪛 LanguageTool
src/app/README.md
[grammar] ~13-~13: Use a hyphen to join words.
Context: ...main.py](main.py) Definition of FastAPI based web service. ## [routers.py](rout...
(QB_NEW_EN_HYPHEN)
src/authentication/README.md
[grammar] ~17-~17: Use a hyphen to join words.
Context: ...tion flow for FastAPI endpoints with JWK based JWT auth. ## k8s.py Ma...
(QB_NEW_EN_HYPHEN)
src/app/endpoints/README.md
[style] ~49-~49: Try moving the adverb to make the sentence clearer.
Context: ...](mcp_servers.py) Handler for REST API calls to dynamically manage MCP servers. ## metrics.py Handler ...
(SPLIT_INFINITIVE)
src/utils/README.md
[grammar] ~9-~9: Ensure spelling is correct
Context: ...n_tools.py](builtin_tools.py) Discover builtin file-search tools when that provider is...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🔇 Additional comments (66)
scripts/gen_doc.py (1)
47-47: LGTM!src/models/api/responses/README.md (1)
4-8: LGTM!src/models/api/responses/error/README.md (1)
4-48: LGTM!src/models/api/responses/successful/README.md (1)
4-56: LGTM!src/models/common/README.md (1)
4-48: LGTM!src/models/common/agents/README.md (1)
4-12: LGTM!src/models/common/responses/README.md (1)
4-20: LGTM!src/models/database/README.md (1)
4-16: LGTM!src/observability/README.md (1)
4-8: LGTM!src/observability/formats/README.md (1)
4-12: LGTM!src/pydantic_ai_lightspeed/README.md (1)
4-4: LGTM!src/README.md (1)
4-36: LGTM!src/a2a_storage/README.md (1)
4-24: LGTM!src/app/README.md (1)
4-12: LGTM!Also applies to: 14-16
src/app/endpoints/README.md (1)
4-48: LGTM!Also applies to: 50-112
src/authentication/README.md (1)
4-16: LGTM!Also applies to: 18-40
src/authorization/README.md (1)
4-16: LGTM!src/cache/README.md (1)
4-36: LGTM!src/data/README.md (1)
4-4: LGTM!src/metrics/README.md (1)
4-12: LGTM!src/models/README.md (1)
4-12: LGTM!src/models/api/README.md (1)
4-4: LGTM!src/models/api/requests/README.md (1)
4-44: LGTM!src/pydantic_ai_lightspeed/capabilities/README.md (1)
4-8: LGTM!src/pydantic_ai_lightspeed/capabilities/question_validity/README.md (1)
4-8: LGTM!src/pydantic_ai_lightspeed/capabilities/redaction/README.md (1)
4-12: LGTM!src/pydantic_ai_lightspeed/llamastack/README.md (1)
4-16: LGTM!src/quota/README.md (1)
4-44: LGTM!src/runners/README.md (1)
4-12: LGTM!src/telemetry/README.md (1)
4-8: LGTM!tests/e2e/features/README.md (1)
4-4: LGTM!tests/e2e/features/steps/README.md (1)
4-76: LGTM!tests/e2e/mock_jwks_server/README.md (1)
4-8: LGTM!tests/e2e/mock_mcp_server/README.md (1)
4-4: LGTM!src/utils/agents/README.md (1)
4-20: LGTM!tests/e2e/mock_tls_inference_server/README.md (1)
4-4: LGTM!tests/e2e/proxy/README.md (1)
4-12: LGTM!tests/e2e/utils/README.md (1)
4-20: LGTM!tests/integration/container_lifecycle/README.md (1)
4-4: LGTM!tests/unit/quota/README.md (1)
4-28: LGTM!tests/unit/runners/README.md (1)
4-8: LGTM!tests/unit/telemetry/README.md (1)
4-12: LGTM!tests/unit/utils/README.md (1)
4-132: LGTM!tests/unit/utils/agents/README.md (1)
4-12: LGTM!tests/integration/endpoints/README.md (1)
4-76: LGTM!tests/unit/README.md (1)
4-44: LGTM!tests/unit/a2a_storage/README.md (1)
4-16: LGTM!tests/unit/app/README.md (1)
4-16: LGTM!tests/unit/app/endpoints/README.md (1)
4-112: LGTM!tests/unit/observability/formats/README.md (1)
4-12: LGTM!tests/unit/pydantic_ai_lightspeed/README.md (1)
4-4: LGTM!tests/unit/pydantic_ai_lightspeed/capabilities/README.md (1)
4-4: LGTM!tests/unit/pydantic_ai_lightspeed/capabilities/question_validity/README.md (1)
4-8: LGTM!tests/unit/pydantic_ai_lightspeed/capabilities/redaction/README.md (1)
4-16: LGTM!tests/unit/pydantic_ai_lightspeed/llamastack/README.md (1)
4-16: LGTM!tests/unit/authentication/README.md (1)
4-40: LGTM!tests/unit/authorization/README.md (1)
4-16: LGTM!tests/unit/cache/README.md (1)
4-24: LGTM!tests/unit/metrics/README.md (1)
4-12: LGTM!tests/unit/models/README.md (1)
4-16: LGTM!tests/unit/models/config/README.md (1)
4-124: LGTM!tests/unit/models/database/README.md (1)
4-8: LGTM!tests/unit/models/requests/README.md (1)
4-28: LGTM!tests/unit/models/responses/README.md (1)
4-32: LGTM!tests/unit/models/rlsapi/README.md (1)
4-12: LGTM!tests/unit/observability/README.md (1)
4-8: LGTM!
|
|
||
| ## [mcp_servers.py](mcp_servers.py) | ||
|
|
||
| Handler for REST API calls to dynamically manage MCP servers. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Improve the adverb placement.
Use Handler for REST API calls to manage MCP servers dynamically. This avoids the split infinitive and keeps the meaning clear.
🧰 Tools
🪛 LanguageTool
[style] ~49-~49: Try moving the adverb to make the sentence clearer.
Context: ...](mcp_servers.py) Handler for REST API calls to dynamically manage MCP servers. ## metrics.py Handler ...
(SPLIT_INFINITIVE)
🤖 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 `@src/app/endpoints/README.md` at line 49, Update the README description for
the REST API handler to place “dynamically” after “manage MCP servers,”
preserving the existing meaning and wording otherwise.
Source: Linters/SAST tools
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
repo="lightspeed-core/lightspeed-stack"
gh issue create \
--repo "$repo" \
--title "Improve adverb placement in the MCP servers endpoint README entry" \
--assignee "tisnik" \
--body "$(cat <<'EOF'
## Summary
Update the `mcp_servers.py` description in `src/app/endpoints/README.md`.
## Required change
Replace:
`Handler for REST API calls to dynamically manage MCP servers.`
With:
`Handler for REST API calls to manage MCP servers dynamically.`
## Rationale
The revised sentence has clearer adverb placement and preserves the existing meaning.
## Affected area
- `src/app/endpoints/README.md`
## Acceptance criteria
- The `mcp_servers.py` README entry uses the revised sentence.
- The generated README remains consistent with the documentation generator output.
## Backlinks
- Pull request: https://github.com/lightspeed-core/lightspeed-stack/pull/2367
- Review comment: https://github.com/lightspeed-core/lightspeed-stack/pull/2367#discussion_r3730106847
Requested by: `@tisnik`
EOF
)"Length of output: 1241
@tisnik, created follow-up issue #2368: Improve adverb placement in the MCP servers endpoint README entry.
You are interacting with an AI system.
|
|
||
| ## [main.py](main.py) | ||
|
|
||
| Definition of FastAPI based web service. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Correct compound modifiers in the generated descriptions.
src/app/README.md#L13-L13: UseFastAPI-based web servicein the source description, then regenerate the README.src/authentication/README.md#L17-L17: UseJWK-based JWT authin the source description, then regenerate the README.
🧰 Tools
🪛 LanguageTool
[grammar] ~13-~13: Use a hyphen to join words.
Context: ...main.py](main.py) Definition of FastAPI based web service. ## [routers.py](rout...
(QB_NEW_EN_HYPHEN)
📍 Affects 2 files
src/app/README.md#L13-L13(this comment)src/authentication/README.md#L17-L17
🤖 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 `@src/app/README.md` at line 13, Update the source descriptions generating
src/app/README.md at lines 13-13 and src/authentication/README.md at lines 17-17
to use the compound modifiers “FastAPI-based web service” and “JWK-based JWT
auth” respectively, then regenerate both README files so the generated
descriptions reflect those corrections.
Source: Linters/SAST tools
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
repo="lightspeed-core/lightspeed-stack"
issue_body=$(cat <<'EOF'
## Summary
Correct compound modifiers in the source descriptions that generate README documentation.
## Required changes
- Change the `src/app` description to `FastAPI-based web service`.
- Change the `src/authentication` description to `JWK-based JWT auth`.
- Regenerate `src/app/README.md` and `src/authentication/README.md` after updating the source descriptions.
## Rationale
Hyphenated compound modifiers improve grammar and maintain consistent generated documentation.
## Affected areas
- Documentation source for `src/app/README.md`
- Documentation source for `src/authentication/README.md`
- Generated README files: `src/app/README.md` and `src/authentication/README.md`
## Acceptance criteria
- The generated `main.py` entry in `src/app/README.md` contains `Definition of FastAPI-based web service.`
- The generated authentication entry contains `JWK-based JWT auth`.
- The README generator produces the corrected descriptions without manual edits to generated files.
## Backlinks
- Pull request: https://github.com/lightspeed-core/lightspeed-stack/pull/2367
- Review comment: https://github.com/lightspeed-core/lightspeed-stack/pull/2367#discussion_r3730106861
- Requested by: `@tisnik`
EOF
)
gh issue create \
--repo "$repo" \
--title "Correct compound modifiers in generated README descriptions" \
--body "$issue_body" \
--assignee "tisnik"Length of output: 1669
@tisnik Created follow-up issue #2369: Correct compound modifiers in generated README descriptions.
You are interacting with an AI system.
|
|
||
| ## [builtin_tools.py](builtin_tools.py) | ||
|
|
||
| Discover builtin file-search tools when that provider is configured. |
There was a problem hiding this comment.
📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
Use built-in in the generated description.
Correct the source description consumed by scripts/gen_doc.py, then regenerate the README. Otherwise, the next generation can restore builtin.
🧰 Tools
🪛 LanguageTool
[grammar] ~9-~9: Ensure spelling is correct
Context: ...n_tools.py](builtin_tools.py) Discover builtin file-search tools when that provider is...
(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)
🤖 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 `@src/utils/README.md` at line 9, Update the source description consumed by
scripts/gen_doc.py to use “built-in” instead of “builtin” for the file-search
provider, then regenerate src/utils/README.md so the generated documentation
preserves the corrected wording.
Source: Linters/SAST tools
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
gh issue create \
--repo lightspeed-core/lightspeed-stack \
--title 'Use “built-in” in generated documentation for builtin_tools.py' \
--assignee tisnik \
--body "$(cat <<'EOF'
## Summary
Change the source description for `builtin_tools.py` from “builtin” to “built-in”, then regenerate the affected README documentation.
## Rationale
`src/utils/README.md` is generated by `scripts/gen_doc.py`. Editing only the generated README can cause a later generation to restore the current wording.
## Affected areas
- `scripts/gen_doc.py` input source or metadata that provides the description for `builtin_tools.py`
- `src/utils/README.md`
## Required changes
1. Update the source description to use “built-in” in “Discover built-in file-search tools when that provider is configured.”
2. Regenerate `src/utils/README.md`.
3. Verify that the generated README preserves the corrected wording.
## Acceptance criteria
- The source description uses “built-in”.
- `src/utils/README.md` contains the regenerated description with “built-in”.
- A subsequent documentation generation does not restore “builtin”.
## Backlinks
- Pull request: https://github.com/lightspeed-core/lightspeed-stack/pull/2367
- Review comment: https://github.com/lightspeed-core/lightspeed-stack/pull/2367#discussion_r3730106866
Requested by: `@tisnik`
EOF
)"Length of output: 1572
@tisnik, created follow-up issue #2370: Use “built-in” in generated documentation for builtin_tools.py. It is assigned to you.
You are interacting with an AI system.
Description
LCORE-3444: Properly formatted devel doc
Type of change
pyproject.toml+uv.lock]requirements.*.txtfor Konflux]Tools used to create PR
Related Tickets & Documents
Summary by CodeRabbit