research: RLM-RESEARCH-336 text streaming through the completion boundary #349
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nsaspy/prolog-rlm!349
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "research/text-streaming"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
ADADR research slice for issue #336 (prolog-rlm should support text streaming). Research only — no implementation. Implementation begins after operator approval per
prolog-rlm.research-approval.v1.research/RLM-RESEARCH-336-text-streaming.org(approval state PENDING) and indexes it inresearch/README.md..prolog/verification ledger for the new task (issue-336-text-streaming) with recorded observations.Findings (from the record)
The issue's claim "streaming is not currently implemented" is only true above the chain layer:
stream_event{}delivery,include_usage,[DONE]sentinel enforcement, cancellation propagation, validatedstream_result{}; chainmodel_stream/model_stream_async/chain_stream*through the canonicalrlm_asyncscheduler; UI v1streaming_textcapability,message_started/text_delta/message_completedreducers, and facade mapping for canonicalagent_event(model_delta, ...); live OpenRouter streaming gate at the chain layer.rlm_completion(call_planner/call_model) dispatches onlymodel_complete_execute; agent trace vocabulary carries no deltas; conversation runtime has no event plumbing;agent_event(model_delta, ...)has zero producers (UI fixtures are hand-authored).Enumerated methods
text_delta_handlercompletion option dispatching throughmodel_stream_executeinside the existing async worker; validatedstream_result.responsestays authoritative; delta-aggregate-vs-final consistency; usage recorded exactly once; cancellation stays conservative.streamflag (reserved native session control), durable raw-delta persistence (collapses semantic classes).Non-goals
No scheduler/event-bus changes, no SSE transport changes, no direct-mode native streaming, no trajectory-shape or UI protocol changes.
Verification evidence
prolog-verifygate green at the pushed HEAD:make research-approvalPASS (21 tracked records), static load PASS, complete deterministic suite PASS (1179 tests),git diff --checkclean, slice scope (no files outsideresearch/+.prolog/changed) — all machine-recorded in.prolog/facts.kb.Follow-up
Operator approval of RLM-RESEARCH-336 authorizes the design phase; design approval authorizes implementation.