Skip to content

[pull] main from Alishahryar1:main - #256

Merged
pull[bot] merged 1 commit into
Co-Contribute-OpenSource:mainfrom
Alishahryar1:main
Sep 29, 2026
Merged

pull[bot] merged 1 commit into
Co-Contribute-OpenSource:mainfrom
Alishahryar1:main

Conversation

@pull

@pull pull Bot commented Sep 29, 2026 •

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

## Why

Default INFO logs do not show the final outcome of each inference
request. An HTTP 200 access record can hide a failure inside a stream,
and individual provider failures can be recovered by model fallback.

## How

Emit one structured INFO `request.completed` record for each POST to
`/v1/messages` or `/v1/responses`. Include the existing request ID, wire
protocol, selected provider/model, elapsed milliseconds, HTTP status,
outcome and failure reason. Provider/model remain unset when a request
is rejected before routing.

Carry routing and terminal failure details in request-local context,
updating the selected route during fallback. Observe HTTP delivery and
use the existing incremental SSE decoder to recognize wire error events,
including split frames. An optional event-name filter skips JSON
decoding for named non-error events; unnamed events are still decoded to
inspect their payload type. Other decoder callers retain their default
behavior.

Finalize the record after the request's owned work returns,
distinguishing success, failure and cancellation. Keep request and
response bodies out of the summary. Provider error codes and types
remain available as diagnostic reasons under the agreed local logging
policy.


<!-- greptile_comment -->

<!-- greptile_summary -->

<h2><a
href="https://app.greptile.com/api/retrigger?id=71209517"><picture><source
media="(prefers-color-scheme: dark)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/RetriggerDark.svg?v=2"><source
media="(prefers-color-scheme: light)"
srcset="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"><img
alt="Retrigger"
src="https://greptile-static-assets.s3.amazonaws.com/badges/Retrigger.svg?v=2"
align="right"></picture></a>Confidence Score: 3/5</h2>

<!-- greptile-risk -->

Not safe to merge until the previously reported log-disclosure issue is
addressed.

<details open><summary>Summary</summary>

The PR adds outcome logging for inference requests and now skips JSON
parsing for named non-error stream events. No new findings are reported.
A previously reported security issue remains unresolved.
</details>

<!-- greptile_confidence_score:3 -->

<sub>Reviews (2) · Last reviewed commit: ["Skip JSON decoding for
non-error
outcome..."](https://github.com/alishahryar1/free-claude-code/commit/8a5650550089f90495352ed26f00f755a69461d5)</sub>

<!-- /greptile_comment -->
@pull pull Bot locked and limited conversation to collaborators Sep 29, 2026
@pull pull Bot added the ⤵️ pull label Sep 29, 2026
@pull
pull Bot merged commit c2a4c5a into Co-Contribute-OpenSource:main Sep 29, 2026
10 of 11 checks passed

This branch had an error being deployed

1 failed deployment
pypi — c2a4c5a7 Deployed Sep 29, 2026 by pull[bot] via Publish to PyPI #13
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant