Aias00 opened a new pull request, #7051:
URL: https://github.com/apache/rocketmq-dashboard/pull/7051

   ### Which Issue(s) This PR Fixes
   
   Fixes #7043
   
   ### Brief Description
   
   HTTP conversation turns now include bounded persisted user/assistant prose 
as separate role messages. Read only this conversation before the admitted run 
start seq, selecting bounded ordered seq keys before fetching payloads (no 
MEDIUMTEXT filesort). Keep a 200-event window, at most 16 complete 
question/answer pairs and 64 KiB UTF-8 history, plus the current question. 
Incomplete/unreadable or over-budget turns are omitted whole and an existing 
notice reports reduced context. Never forward reasoning, tool calls, 
diagnostics or prior system instructions.
   
   A separate HTTP message method keeps the legacy single-prompt and CLI paths 
unchanged. resume=false skips history for that request. Keep the formatting 
system message and combined outbound budget guard; no database schema or 
dependency changes. Architecture docs explain limits and opt-out semantics.
   
   ### How Did You Test This Change?
   
   - The context integration regression failed with empty history; builder 
regressions failed before implementation.
   - Java21 conversation suite plus OpenAiCompatibleLlmClientTest: 250 tests 
passed; 0 Checkstyle violations.
   - Real HTTP request capture verifies separate 
system/user/assistant/current-user messages and model selection.
   - H2 persistence verifies latest-before-cursor order and conversation 
isolation; SQL tests verify the row ceiling and key-only ORDER BY.
   - Tests cover first turns, resume=false, partial/unreadable history, 
row/turn/UTF-8 budgets, Unicode, and combined outbound limits.
   - git diff --check passed; all test sources compiled.
   
   No real provider/broker invocation, MySQL performance benchmark or full 
backend suite was run locally. CI runs repository checks. This is a text-byte 
bound, not provider-token accounting; omitted history is not summarized and 
HTTP remains tool-free. resume=false is per-request, not deletion or a durable 
reset boundary.
   
   ### Checklist
   
   - [x] One coherent enhancement
   - [x] Conventional Commit and ...Test names
   - [x] New source/test have ASF headers
   - [x] No new dependencies, schema or protocol event type
   - [x] Bounds and limitations documented


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to