Skip to content

Conversation

@tisnik
Copy link
Contributor

@tisnik tisnik commented Aug 31, 2025

Description

Update OpenAPI docs

Type of change

  • Refactor
  • New feature
  • Bug fix
  • CVE fix
  • Optimization
  • Documentation Update
  • Configuration Update
  • Bump-up service version
  • Bump-up dependent library
  • Bump-up library or tool used for development (does not change the final image)
  • CI configuration change
  • Konflux configuration change
  • Unit tests improvement
  • Integration tests improvement
  • End to end tests improvement

Summary by CodeRabbit

  • New Features

    • Added API endpoint PUT /v1/feedback/status to update feedback enablement.
  • Documentation

    • Added FeedbackStatusUpdateRequest (status: boolean) and FeedbackStatusUpdateResponse (status object with previous_status, updated_status, updated_by) with examples.
    • Corrected response reference and adjusted docs formatting.
    • Minor wording and clarification updates (attachment text, per-worker/life-of-service note, GET /v1/conversations wording).

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Aug 31, 2025

Walkthrough

Adds documentation and small docstring edits for a new PUT /v1/feedback/status endpoint and two new public models (FeedbackStatusUpdateRequest, FeedbackStatusUpdateResponse); updates rendered docs and minor wording/formatting in OpenAPI docs. No functional code changes.

Changes

Cohort / File(s) Summary of Changes
OpenAPI source docs
docs/openapi.md
Adds PUT /v1/feedback/status endpoint; introduces models FeedbackStatusUpdateRequest (status: boolean) and FeedbackStatusUpdateResponse (status: object / fields described); documents responses 200 (FeedbackStatusUpdateResponse) and 422 (HTTPValidationError); small wording and table-format tweaks.
Rendered docs / examples
docs/output.md
Mirrors new endpoint and models with field tables and examples; updates GET /v1/conversations prose; documents request/response examples for the new models.
OpenAPI machine spec
docs/openapi.json
Textual correction: return reference for PUT /v1/feedback/status updated to reference FeedbackStatusUpdateResponse consistently (no schema change).
Endpoint docstring
src/app/endpoints/feedback.py
Docstring adjusted to reference FeedbackStatusUpdateResponse instead of StatusResponse; no behavior or signature changes.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant C as Client
  participant API as HTTP API (/v1/feedback/status)
  participant S as Feedback Service
  participant DB as Data Store

  C->>API: PUT /v1/feedback/status\nBody: FeedbackStatusUpdateRequest { status: boolean }
  alt Valid request
    API->>S: UpdateFeedbackStatus(status)
    S->>DB: Persist status change
    DB-->>S: Ack (previous/current)
    S-->>API: FeedbackStatusUpdateResponse { previous_status, updated_status, updated_by }
    API-->>C: 200 OK + FeedbackStatusUpdateResponse
  else Invalid input
    API-->>C: 422 Unprocessable Entity + HTTPValidationError
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • manstis

Poem

I twitch my ears at status new,
Flip a bit—enabled, true!
PUT it gently, hop right through,
200 carrots, response in view.
If fields go wrong, I'll help you too.

✨ Finishing Touches
  • 📝 Generate Docstrings
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Nitpick comments (7)
docs/openapi.md (6)

27-31: Fix table formatting: add blank lines around table.

Markdownlint MD058 flags missing blank lines before/after this table.

-### ✅ Responses
-
-| Status Code | Description | Component |
+### ✅ Responses
+
+| Status Code | Description | Component |
 |-------------|-------------|-----------|
-| 200 | Successful Response | string |
+| 200 | Successful Response | string |
+

48-51: Fix table formatting: add blank lines around table.

Add blank lines to satisfy MD058.

-### ✅ Responses
-
-| Status Code | Description | Component |
+### ✅ Responses
+
+| Status Code | Description | Component |
 |-------------|-------------|-----------|
-| 200 | Successful Response | [InfoResponse](#inforesponse) |
+| 200 | Successful Response | [InfoResponse](#inforesponse) |
+

246-255: Tighten request/response docs and fix table spacing.

  • Keep table surrounded by blank lines (MD058).
  • Keep naming consistent with models.
-### 📦 Request Body 
-
-[FeedbackStatusUpdateRequest](#feedbackstatusupdaterequest)
-
-### ✅ Responses
-
-| Status Code | Description | Component |
+### 📦 Request Body
+
+[FeedbackStatusUpdateRequest](#feedbackstatusupdaterequest)
+
+### ✅ Responses
+
+| Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | [FeedbackStatusUpdateResponse](#feedbackstatusupdateresponse) |
 | 422 | Validation Error | [HTTPValidationError](#httpvalidationerror) |
+

420-424: Fix table formatting: add blank lines around table.

Add blank lines for MD058.

-### ✅ Responses
-
-| Status Code | Description | Component |
+### ✅ Responses
+
+| Status Code | Description | Component |
 |-------------|-------------|-----------|
-| 200 | Successful Response | string |
+| 200 | Successful Response | string |
+

453-475: Grammar fixes in Attachment description.

Minor wording cleanups.

-Model representing an attachment that can be send from the UI as part of query.
-A list of attachments can be an optional part of 'query' request.
+Model representing an attachment that can be sent from the UI as part of a query.
+A list of attachments can be an optional part of the QueryRequest.
-
-    content_type: The content type as defined in MIME standard
+    content_type: The content type as defined in the MIME standard
-    content: The actual attachment content
+    content: The attachment content

229-238: Scope note is good; consider adding auth note if applicable.

If this endpoint requires auth/role, add 401/403 responses to mirror other endpoints; otherwise, explicitly state it’s unauthenticated. Skip if not applicable.

docs/output.md (1)

246-255: Keep table spacing consistent and mirror model names.

Surround table with blank lines and keep model names consistent.

-### 📦 Request Body 
-
+### 📦 Request Body
+
 [FeedbackStatusUpdateRequest](#feedbackstatusupdaterequest)
 
-### ✅ Responses
-
+### ✅ Responses
+
 | Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | [FeedbackStatusUpdateResponse](#feedbackstatusupdateresponse) |
 | 422 | Validation Error | [HTTPValidationError](#httpvalidationerror) |
+
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 38be419 and efb6883.

📒 Files selected for processing (2)
  • docs/openapi.md (6 hunks)
  • docs/output.md (2 hunks)
🧰 Additional context used
🪛 LanguageTool
docs/output.md

[grammar] ~239-~239: There might be a mistake here.
Context: ...and are on a per-worker basis. Returns: StatusResponse: Indicates whether feedba...

(QB_NEW_EN)


[grammar] ~246-~246: There might be a mistake here.
Context: ...ack is enabled. ### 📦 Request Body [FeedbackStatusUpdateRequest](#feedbackst...

(QB_NEW_EN)


[grammar] ~252-~252: There might be a mistake here.
Context: ... Status Code | Description | Component | |-------------|-------------|-----------...

(QB_NEW_EN)


[grammar] ~253-~253: There might be a mistake here.
Context: ...-------------|-------------|-----------| | 200 | Successful Response | [FeedbackS...

(QB_NEW_EN)


[grammar] ~254-~254: There might be a mistake here.
Context: ...sponse](#feedbackstatusupdateresponse) | | 422 | Validation Error | [HTTPValidati...

(QB_NEW_EN)


[grammar] ~255-~255: There might be a mistake here.
Context: ...ValidationError](#httpvalidationerror) | ## GET /v1/conversations > **Get Convers...

(QB_NEW_EN)


[grammar] ~795-~795: There might be a mistake here.
Context: ...back status update request. Attributes: status: Value of the desired feedback en...

(QB_NEW_EN)


[grammar] ~806-~806: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~807-~807: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | boolean | Desired state of fe...

(QB_NEW_EN)


[grammar] ~816-~816: There might be a mistake here.
Context: ...back status update request. Attributes: status: The previous and current status ...

(QB_NEW_EN)


[grammar] ~831-~831: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~832-~832: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | object | | ## ForbiddenRes...

(QB_NEW_EN)

docs/openapi.md

[grammar] ~29-~29: There might be a mistake here.
Context: ...| | 200 | Successful Response | string | ## GET /v1/info > **Info Endpoint Handle...

(QB_NEW_EN)


[grammar] ~50-~50: There might be a mistake here.
Context: ...sponse | InfoResponse | ## GET /v1/models > **Models Endpoint Ha...

(QB_NEW_EN)


[grammar] ~239-~239: There might be a mistake here.
Context: ...and are on a per-worker basis. Returns: StatusResponse: Indicates whether feedba...

(QB_NEW_EN)


[grammar] ~246-~246: There might be a mistake here.
Context: ...ack is enabled. ### 📦 Request Body [FeedbackStatusUpdateRequest](#feedbackst...

(QB_NEW_EN)


[grammar] ~252-~252: There might be a mistake here.
Context: ... Status Code | Description | Component | |-------------|-------------|-----------...

(QB_NEW_EN)


[grammar] ~253-~253: There might be a mistake here.
Context: ...-------------|-------------|-----------| | 200 | Successful Response | [FeedbackS...

(QB_NEW_EN)


[grammar] ~254-~254: There might be a mistake here.
Context: ...sponse](#feedbackstatusupdateresponse) | | 422 | Validation Error | [HTTPValidati...

(QB_NEW_EN)


[grammar] ~255-~255: There might be a mistake here.
Context: ...ValidationError](#httpvalidationerror) | ## GET /v1/conversations > **Get Convers...

(QB_NEW_EN)


[grammar] ~453-~453: There might be a mistake here.
Context: ...nt that can be send from the UI as part of query. A list of attachments can be an...

(QB_NEW_EN)


[grammar] ~457-~457: There might be a mistake here.
Context: ...al part of 'query' request. Attributes: attachment_type: The attachment type, li...

(QB_NEW_EN)


[grammar] ~458-~458: There might be a mistake here.
Context: ...t type, like "log", "configuration" etc. content_type: The content type as define...

(QB_NEW_EN)


[grammar] ~459-~459: There might be a mistake here.
Context: ...ntent_type: The content type as defined in MIME standard content: The actual a...

(QB_NEW_EN)


[grammar] ~459-~459: There might be a mistake here.
Context: ...content type as defined in MIME standard content: The actual attachment content ...

(QB_NEW_EN)


[grammar] ~462-~462: There might be a mistake here.
Context: ...** and metadata/name attributes will be handled as resources with the specifi...

(QB_NEW_EN)


[grammar] ~805-~805: There might be a mistake here.
Context: ...back status update request. Attributes: status: Value of the desired feedback en...

(QB_NEW_EN)


[grammar] ~816-~816: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~817-~817: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | boolean | Desired state of fe...

(QB_NEW_EN)


[grammar] ~826-~826: There might be a mistake here.
Context: ...back status update request. Attributes: status: The previous and current status ...

(QB_NEW_EN)


[grammar] ~841-~841: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~842-~842: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | object | | ## ForbiddenRes...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.17.2)
docs/openapi.md

29-29: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


50-50: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


255-255: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


423-423: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: build-pr
  • GitHub Check: e2e_tests
🔇 Additional comments (1)
docs/output.md (1)

229-238: Confirm authentication requirements
Verify the FastAPI route for PUT /v1/feedback/status and update the docs to explicitly state whether it requires authentication/roles (with 401/403 responses) or is public.

Comment on lines 229 to 241
## PUT `/v1/feedback/status`

> **Update Feedback Status**
Handle feedback status update requests.

Takes a request with the desired state of the feedback status.
Returns the updated state of the feedback status based on the request's value.
These changes are for the life of the service and are on a per-worker basis.

Returns:
StatusResponse: Indicates whether feedback is enabled.

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Make return type consistent: use FeedbackStatusUpdateResponse.

The prose says “Returns: StatusResponse” but 200-response uses FeedbackStatusUpdateResponse. Align prose with the schema.

-Returns:
-    StatusResponse: Indicates whether feedback is enabled.
+Returns:
+    FeedbackStatusUpdateResponse: Previous and updated state with updater identity.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
## PUT `/v1/feedback/status`
> **Update Feedback Status**
Handle feedback status update requests.
Takes a request with the desired state of the feedback status.
Returns the updated state of the feedback status based on the request's value.
These changes are for the life of the service and are on a per-worker basis.
Returns:
StatusResponse: Indicates whether feedback is enabled.
## PUT `/v1/feedback/status`
> **Update Feedback Status**
Handle feedback status update requests.
Takes a request with the desired state of the feedback status.
Returns the updated state of the feedback status based on the request's value.
These changes are for the life of the service and are on a per-worker basis.
Returns:
FeedbackStatusUpdateResponse: Previous and updated state with updater identity.
🧰 Tools
🪛 LanguageTool

[grammar] ~239-~239: There might be a mistake here.
Context: ...and are on a per-worker basis. Returns: StatusResponse: Indicates whether feedba...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In docs/openapi.md around lines 229 to 241, the Returns section incorrectly
lists the return type as StatusResponse while the actual 200 response uses
FeedbackStatusUpdateResponse; update the prose to reference
FeedbackStatusUpdateResponse (and, if present, any corresponding schema name
elsewhere in this block) so the documentation return type matches the defined
response schema.

Comment on lines +800 to +819
## FeedbackStatusUpdateRequest


Model representing a feedback status update request.

Attributes:
status: Value of the desired feedback enabled state.

Example:
```python
feedback_request = FeedbackRequest(
status=false
)
```


| Field | Type | Description |
|-------|------|-------------|
| status | boolean | Desired state of feedback enablement, must be False or True |

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix model name in example and Python boolean literal.

Use the correct request type and Python’s True/False.

-Example:
-    ```python
-    feedback_request = FeedbackRequest(
-        status=false
-    )
-    ```
+Example:
+    ```python
+    feedback_status_update_request = FeedbackStatusUpdateRequest(
+        status=False
+    )
+    ```

Also simplify the field description:

-| status | boolean | Desired state of feedback enablement, must be False or True |
+| status | boolean | Desired state of feedback enablement |
🧰 Tools
🪛 LanguageTool

[grammar] ~805-~805: There might be a mistake here.
Context: ...back status update request. Attributes: status: Value of the desired feedback en...

(QB_NEW_EN)


[grammar] ~816-~816: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~817-~817: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | boolean | Desired state of fe...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In docs/openapi.md around lines 800 to 819, the example uses the wrong model
name and a lowercase Python boolean and the field description is verbose; update
the example to use FeedbackStatusUpdateRequest and Python's False/True (e.g.,
feedback_status_update_request = FeedbackStatusUpdateRequest(status=False)) and
simplify the table description for the status field to something concise like
"Desired feedback state (boolean)".

Comment on lines +821 to +844
## FeedbackStatusUpdateResponse


Model representing a response to a feedback status update request.

Attributes:
status: The previous and current status of the service and who updated it.

Example:
```python
status_response = StatusResponse(
status={
"previous_status": true,
"updated_status": false,
"updated_by": "user/test"
},
)
```


| Field | Type | Description |
|-------|------|-------------|
| status | object | |

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix response example type and clarify payload.

Use FeedbackStatusUpdateResponse and keep Python booleans.

-Example:
-    ```python
-    status_response = StatusResponse(
+Example:
+    ```python
+    feedback_status_update_response = FeedbackStatusUpdateResponse(
         status={
-            "previous_status": true,
-            "updated_status": false,
+            "previous_status": True,
+            "updated_status": False,
             "updated_by": "user/test"
         },
     )
     ```

Optionally expand the field table to document the nested keys:

-| status | object |  |
+| status | object | Object with keys: previous_status (boolean), updated_status (boolean), updated_by (string) |
🧰 Tools
🪛 LanguageTool

[grammar] ~826-~826: There might be a mistake here.
Context: ...back status update request. Attributes: status: The previous and current status ...

(QB_NEW_EN)


[grammar] ~841-~841: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~842-~842: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | object | | ## ForbiddenRes...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In docs/openapi.md around lines 821 to 844, the example response uses the wrong
model name and incorrect Python boolean literals; update the example to use
FeedbackStatusUpdateResponse (not StatusResponse) and change true/false to
Python True/False, and optionally expand the Field table to document the nested
status keys (previous_status: boolean, updated_status: boolean, updated_by:
string) so the payload is clearly specified.

Comment on lines +790 to +809
## FeedbackStatusUpdateRequest


Model representing a feedback status update request.

Attributes:
status: Value of the desired feedback enabled state.

Example:
```python
feedback_request = FeedbackRequest(
status=false
)
```


| Field | Type | Description |
|-------|------|-------------|
| status | boolean | Desired state of feedback enablement, must be False or True |

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix model name in example and Python boolean literal.

Correct type and boolean casing.

-Example:
-    ```python
-    feedback_request = FeedbackRequest(
-        status=false
-    )
-    ```
+Example:
+    ```python
+    feedback_status_update_request = FeedbackStatusUpdateRequest(
+        status=False
+    )
+    ```

And simplify the field description:

-| status | boolean | Desired state of feedback enablement, must be False or True |
+| status | boolean | Desired state of feedback enablement |
🧰 Tools
🪛 LanguageTool

[grammar] ~795-~795: There might be a mistake here.
Context: ...back status update request. Attributes: status: Value of the desired feedback en...

(QB_NEW_EN)


[grammar] ~806-~806: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~807-~807: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | boolean | Desired state of fe...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In docs/output.md around lines 790 to 809, the example uses the wrong model name
and lowercase Python boolean and the field description is verbose; update the
example to instantiate FeedbackStatusUpdateRequest with status=False (use Python
capitalization) and simplify the table description for the status field to
something concise like "Desired feedback state" (or similar short phrase) so the
example and docs match the model name, correct boolean literal, and a clearer
brief field description.

Comment on lines +811 to +834
## FeedbackStatusUpdateResponse


Model representing a response to a feedback status update request.

Attributes:
status: The previous and current status of the service and who updated it.

Example:
```python
status_response = StatusResponse(
status={
"previous_status": true,
"updated_status": false,
"updated_by": "user/test"
},
)
```


| Field | Type | Description |
|-------|------|-------------|
| status | object | |

Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue

Fix response example type and clarify payload.

Use correct response class and Python booleans; document nested keys.

-Example:
-    ```python
-    status_response = StatusResponse(
+Example:
+    ```python
+    feedback_status_update_response = FeedbackStatusUpdateResponse(
         status={
-            "previous_status": true,
-            "updated_status": false,
+            "previous_status": True,
+            "updated_status": False,
             "updated_by": "user/test"
         },
     )
     ```

Optionally adjust field row:

-| status | object |  |
+| status | object | Object with keys: previous_status (boolean), updated_status (boolean), updated_by (string) |
🧰 Tools
🪛 LanguageTool

[grammar] ~816-~816: There might be a mistake here.
Context: ...back status update request. Attributes: status: The previous and current status ...

(QB_NEW_EN)


[grammar] ~831-~831: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~832-~832: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | object | | ## ForbiddenRes...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In docs/output.md around lines 811 to 834, the example uses the wrong response
class and JavaScript-style booleans and doesn't document the nested keys; update
the example to instantiate FeedbackStatusUpdateResponse instead of
StatusResponse, change true/false to Python True/False for previous_status and
updated_status, and explicitly list the nested status object keys
(previous_status, updated_status, updated_by) in the example and the field
description — also update the table row for the status field to indicate it is
an object with those nested keys (e.g., object with keys previous_status: bool,
updated_status: bool, updated_by: string).

@tisnik tisnik force-pushed the update-openapi-docs branch from efb6883 to a0ca1de Compare August 31, 2025 11:22
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

♻️ Duplicate comments (4)
docs/output.md (2)

790-809: Fix request example type and Python boolean; simplify field description

Use FeedbackStatusUpdateRequest and Python booleans; tighten the description.

 Example:
     ```python
-    feedback_request = FeedbackRequest(
-        status=false
+    feedback_status_update_request = FeedbackStatusUpdateRequest(
+        status=False
     )
     ```
 
 | Field | Type | Description |
 |-------|------|-------------|
-| status | boolean | Desired state of feedback enablement, must be False or True |
+| status | boolean | Desired feedback state |

811-834: Correct response example class and booleans; document nested keys

Use FeedbackStatusUpdateResponse, Python booleans, and specify object keys.

 Example:
     ```python
-    status_response = StatusResponse(
+    feedback_status_update_response = FeedbackStatusUpdateResponse(
         status={
-            "previous_status": true,
-            "updated_status": false,
+            "previous_status": True,
+            "updated_status": False,
             "updated_by": "user/test"
         },
     )
     ```
 
 | Field | Type | Description |
 |-------|------|-------------|
-| status | object |  |
+| status | object | Object with keys: previous_status (boolean), updated_status (boolean), updated_by (string) |
docs/openapi.md (2)

800-819: Fix request example type and Python boolean; simplify field description

Align with schema and Python casing.

 Example:
     ```python
-    feedback_request = FeedbackRequest(
-        status=false
+    feedback_status_update_request = FeedbackStatusUpdateRequest(
+        status=False
     )
     ```
 
 | Field | Type | Description |
 |-------|------|-------------|
-| status | boolean | Desired state of feedback enablement, must be False or True |
+| status | boolean | Desired feedback state |

821-844: Correct response example class and booleans; document nested keys

Use FeedbackStatusUpdateResponse and specify nested fields.

 Example:
     ```python
-    status_response = StatusResponse(
+    feedback_status_update_response = FeedbackStatusUpdateResponse(
         status={
-            "previous_status": true,
-            "updated_status": false,
+            "previous_status": True,
+            "updated_status": False,
             "updated_by": "user/test"
         },
     )
     ```
 
 | Field | Type | Description |
 |-------|------|-------------|
-| status | object |  |
+| status | object | Object with keys: previous_status (boolean), updated_status (boolean), updated_by (string) |
🧹 Nitpick comments (8)
docs/output.md (2)

239-241: Clarify return description to reflect full payload

Returns object includes previous_status, updated_status, and updated_by; update prose accordingly.

-Returns:
-    FeedbackStatusUpdateResponse: Indicates whether feedback is enabled.
+Returns:
+    FeedbackStatusUpdateResponse: Previous and updated status plus updater identity.

250-255: Fix markdownlint MD058: add blank lines around the table

Surround the table with blank lines.

 ### ✅ Responses
-
 | Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | [FeedbackStatusUpdateResponse](#feedbackstatusupdateresponse) |
 | 422 | Validation Error | [HTTPValidationError](#httpvalidationerror) |
+
docs/openapi.md (6)

29-29: Fix markdownlint MD058 at first responses table

Add blank lines around the table.

 ### ✅ Responses
-
 | Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | string |
+

50-50: Fix markdownlint MD058 at Info responses table

Add surrounding blank lines.

 ### ✅ Responses
-
 | Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | [InfoResponse](#inforesponse) |
+

229-241: Tighten PUT /v1/feedback/status prose and return description

Clarify lifetime/per-worker note and return type description.

 Takes a request with the desired state of the feedback status.
 Returns the updated state of the feedback status based on the request's value.
 These changes are for the life of the service and are on a per-worker basis.
 
-Returns:
-    FeedbackStatusUpdateResponse: Indicates whether feedback is enabled.
+Returns:
+    FeedbackStatusUpdateResponse: Previous and updated status plus updater identity.

250-255: Fix markdownlint MD058 at PUT responses table

Surround the table with blank lines.

 ### ✅ Responses
-
 | Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | [FeedbackStatusUpdateResponse](#feedbackstatusupdateresponse) |
 | 422 | Validation Error | [HTTPValidationError](#httpvalidationerror) |
+

453-456: Grammar: “can be send” → “can be sent”; quote style

Minor grammar and consistency fixes.

-Model representing an attachment that can be send from the UI as part of query.
+Model representing an attachment that can be sent from the UI as part of a query.
 
-A list of attachments can be an optional part of 'query' request.
+A list of attachments can be an optional part of a "query" request.

423-423: Fix markdownlint MD058 at Metrics responses table

Add blank lines around the table.

 ### ✅ Responses
-
 | Status Code | Description | Component |
 |-------------|-------------|-----------|
 | 200 | Successful Response | string |
+
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between efb6883 and a0ca1de.

📒 Files selected for processing (4)
  • docs/openapi.json (1 hunks)
  • docs/openapi.md (6 hunks)
  • docs/output.md (2 hunks)
  • src/app/endpoints/feedback.py (1 hunks)
✅ Files skipped from review due to trivial changes (2)
  • src/app/endpoints/feedback.py
  • docs/openapi.json
🧰 Additional context used
🪛 LanguageTool
docs/openapi.md

[grammar] ~29-~29: There might be a mistake here.
Context: ...| | 200 | Successful Response | string | ## GET /v1/info > **Info Endpoint Handle...

(QB_NEW_EN)


[grammar] ~50-~50: There might be a mistake here.
Context: ...sponse | InfoResponse | ## GET /v1/models > **Models Endpoint Ha...

(QB_NEW_EN)


[grammar] ~239-~239: There might be a mistake here.
Context: ...and are on a per-worker basis. Returns: FeedbackStatusUpdateResponse: Indicates ...

(QB_NEW_EN)


[grammar] ~246-~246: There might be a mistake here.
Context: ...ack is enabled. ### 📦 Request Body [FeedbackStatusUpdateRequest](#feedbackst...

(QB_NEW_EN)


[grammar] ~252-~252: There might be a mistake here.
Context: ... Status Code | Description | Component | |-------------|-------------|-----------...

(QB_NEW_EN)


[grammar] ~253-~253: There might be a mistake here.
Context: ...-------------|-------------|-----------| | 200 | Successful Response | [FeedbackS...

(QB_NEW_EN)


[grammar] ~254-~254: There might be a mistake here.
Context: ...sponse](#feedbackstatusupdateresponse) | | 422 | Validation Error | [HTTPValidati...

(QB_NEW_EN)


[grammar] ~255-~255: There might be a mistake here.
Context: ...ValidationError](#httpvalidationerror) | ## GET /v1/conversations > **Get Convers...

(QB_NEW_EN)


[grammar] ~453-~453: There might be a mistake here.
Context: ...nt that can be send from the UI as part of query. A list of attachments can be an...

(QB_NEW_EN)


[grammar] ~457-~457: There might be a mistake here.
Context: ...al part of 'query' request. Attributes: attachment_type: The attachment type, li...

(QB_NEW_EN)


[grammar] ~458-~458: There might be a mistake here.
Context: ...t type, like "log", "configuration" etc. content_type: The content type as define...

(QB_NEW_EN)


[grammar] ~459-~459: There might be a mistake here.
Context: ...ntent_type: The content type as defined in MIME standard content: The actual a...

(QB_NEW_EN)


[grammar] ~459-~459: There might be a mistake here.
Context: ...content type as defined in MIME standard content: The actual attachment content ...

(QB_NEW_EN)


[grammar] ~462-~462: There might be a mistake here.
Context: ...** and metadata/name attributes will be handled as resources with the specifi...

(QB_NEW_EN)


[grammar] ~805-~805: There might be a mistake here.
Context: ...back status update request. Attributes: status: Value of the desired feedback en...

(QB_NEW_EN)


[grammar] ~816-~816: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~817-~817: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | boolean | Desired state of fe...

(QB_NEW_EN)


[grammar] ~826-~826: There might be a mistake here.
Context: ...back status update request. Attributes: status: The previous and current status ...

(QB_NEW_EN)


[grammar] ~841-~841: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~842-~842: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | object | | ## ForbiddenRes...

(QB_NEW_EN)

docs/output.md

[grammar] ~239-~239: There might be a mistake here.
Context: ...and are on a per-worker basis. Returns: FeedbackStatusUpdateResponse: Indicates ...

(QB_NEW_EN)


[grammar] ~246-~246: There might be a mistake here.
Context: ...ack is enabled. ### 📦 Request Body [FeedbackStatusUpdateRequest](#feedbackst...

(QB_NEW_EN)


[grammar] ~252-~252: There might be a mistake here.
Context: ... Status Code | Description | Component | |-------------|-------------|-----------...

(QB_NEW_EN)


[grammar] ~253-~253: There might be a mistake here.
Context: ...-------------|-------------|-----------| | 200 | Successful Response | [FeedbackS...

(QB_NEW_EN)


[grammar] ~254-~254: There might be a mistake here.
Context: ...sponse](#feedbackstatusupdateresponse) | | 422 | Validation Error | [HTTPValidati...

(QB_NEW_EN)


[grammar] ~255-~255: There might be a mistake here.
Context: ...ValidationError](#httpvalidationerror) | ## GET /v1/conversations > **Get Convers...

(QB_NEW_EN)


[grammar] ~795-~795: There might be a mistake here.
Context: ...back status update request. Attributes: status: Value of the desired feedback en...

(QB_NEW_EN)


[grammar] ~806-~806: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~807-~807: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | boolean | Desired state of fe...

(QB_NEW_EN)


[grammar] ~816-~816: There might be a mistake here.
Context: ...back status update request. Attributes: status: The previous and current status ...

(QB_NEW_EN)


[grammar] ~831-~831: There might be a mistake here.
Context: ... ``` | Field | Type | Description | |-------|------|-------------| | status ...

(QB_NEW_EN)


[grammar] ~832-~832: There might be a mistake here.
Context: ...ription | |-------|------|-------------| | status | object | | ## ForbiddenRes...

(QB_NEW_EN)

🪛 markdownlint-cli2 (0.17.2)
docs/openapi.md

29-29: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


50-50: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


255-255: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)


423-423: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

docs/output.md

255-255: Tables should be surrounded by blank lines

(MD058, blanks-around-tables)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
  • GitHub Check: e2e_tests
  • GitHub Check: build-pr

@tisnik tisnik merged commit 8bd3479 into lightspeed-core:main Aug 31, 2025
19 checks passed
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.

1 participant