Repository navigation
fix(call-logs): record encrypted reasoning presence, duration and effort - #14680
Merged
diegosouzapw merged 2 commits intoSep 24, 2026
Conversation
maxmad64bis
force-pushed
the
fix/reasoning-encrypted-observability
branch
3 times, most recently
from
September 23, 2026 19:00
3f4e384 to
a3566ba
Compare
maxmad64bis
marked this pull request as ready for review
September 23, 2026 19:09
Collaborator
|
Careful piece of work, especially on the security side: I traced the request-body |
Responses upstreams that encrypt their reasoning left call logs blind: reasoning columns stayed NULL because the chat-shaped response body never carries the opaque item. Raw output-item events are observed in both stream loops and terminal snapshots are scanned at the save sink; four nullable columns carry flag, duration and effort, readers and cost math unchanged. Migration 187 (base tip already carries 186); covered by tests/unit/call-logs-reasoning-encrypted.test.ts (5/5).
maxmad64bis
force-pushed
the
fix/reasoning-encrypted-observability
branch
from
September 24, 2026 11:22
a3566ba to
0d72161
Compare
# Conflicts: # config/quality/file-size-baseline.json
diegosouzapw
merged commit Sep 24, 2026
4e77ceb
into
cheaper-inference:release/v3.8.51
4 of 7 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Record encrypted reasoning presence, duration and requested effort in call logs: Responses upstreams that encrypt their reasoning left call logs blind (reasoning columns stayed NULL because the chat-shaped response body never carries the opaque item). Raw output-item events are observed in both stream loops and terminal snapshots are scanned at the save sink so streaming and non-streaming paths are covered. Additive only: four nullable columns, readers and cost math unchanged.
Related Issues
No linked issue — observational gap found while diagnosing long stalls on a Responses upstream; no existing issue covers encrypted-reasoning observability.
Validation
npm run lint— clean on the touched files (exit 0 with suppressions); the full run is red on the base (🔴 Release branch not green: release/v3.8.51 #14547)release/v3.8.51tip7d23bcf8ec,rev-list HEAD..base= 0; file-size/complexity/eslint/unit/numbering rerun on the rebased treeTests Added Or Updated
tests/unit/call-logs-reasoning-encrypted.test.ts(new, 5 tests: sink flag, NULL baseline, usage intact, stream meta with duration and efforts, pure observer).Coverage Notes
reasoning-token-source-6187suite (11 green locally). Cost math untouched.Reviewer Notes
186→187(the tip already carries186_conversation_turn_nodes_last_seen_index.sql); numbering gate passes (184 migrations, 0 duplicates).ADD COLUMN, nullable) with self-heal for divergent lineages; never stores encrypted content, signatures, or payloads — flag, duration and effort values only.stream.ts3239→3296, new observer module under cap;chatCore.ts+3 under its freeze).