Conversation
Signed-off-by: Zheng Lu <Lz429671594@gmail.com>
Signed-off-by: Zheng Lu <Lz429671594@gmail.com>
Signed-off-by: Zheng Lu <Lz429671594@gmail.com>
Signed-off-by: Zheng Lu <Lz429671594@gmail.com>
Rows written before typed reasoning may carry any content discriminator and untyped summary, opaque state, or status values. Decode them through a bounded projection that keeps every field that still decodes, so existing histories stay continuable. Rows that cannot be read even this way still fail closed. Signed-off-by: Zheng Lu <Lz429671594@gmail.com>
Zheng-Lu
requested review from
bbrowning,
franciscojavierarceo,
haoshan98,
jiahuei,
leseb,
maralbahari,
noobHappylife,
qandrew and
tjtanaa
as code owners
September 25, 2026 17:04
This branch has not been deployed
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.
Part of #335 (split from #350)
Summary
ReasoningOutputwith typed reasoning content, summaries and status, plus a boundedOpaqueReasoningstring forencrypted_content: redactedDebug, 16 MiB ceiling. Public JSON field names are unchanged. The shared retained-response budget now charges reasoning parts and opaque bytes.reasoning_text) and every summary, string opaque state and status that still decodes. Only rows that cannot be read even this way fail closed.Compatibility: request input and upstream output now reject reasoning items that don't match the typed schema, for example a non-string
encrypted_contentor an unknownstatus; earlier releases accepted them. No migration is needed, and existing rows are not rewritten.Test Plan
cargo test -p agentic-server-core -p agentic-server: 1,742 passed, 0 failed, 17 ignored.cargo clippy --workspace --all-targets -- -D warnings,cargo fmt --checkand pre-commit (including Rust file sizes) pass.legacy_reasoning_rows_test.rsrewrites stored rows to shapes earlier releases accepted:previous_response_idcontinuation completes and replays the plaintext to vLLM asreasoning_text.reasoning_types_test.rscovers schema rejection, nullability, exact opaque round trips, redaction and the size ceiling.storage_response_integrity_test.rsand the storage suites cover invalid rows, missing rows, bad references and bad metadata, all with redacted errors.