- Fixed child chat streaming so orchestrated replies are returned directly instead of being fed back into generation.
- Reduced cases where short prompts end in cut-off replies by increasing the child chat generation budget.
- Added streaming regression coverage for both direct inference and orchestrated child chat paths.
POST /api/child/chat/streamnow behaves differently depending on the active backend path:- When the orchestrator is available, the completed orchestrator answer is returned directly as the stream result.
- When the orchestrator is unavailable, the endpoint falls back to direct streaming inference.
- This prevents multi-turn continuation artifacts such as repeated
Kind:/Euli:roleplay text appearing in a single child reply. - Child chat generation now uses a larger reply budget to reduce premature sentence cutoffs on simple prompts.
Automated coverage:
child_ui::tests::chat_uses_orchestrator_when_availablechild_ui::tests::stream_chat_returns_chunk_and_done_eventschild_ui::tests::stream_chat_with_orchestrator_returns_orchestrator_reply
Verification commands run for this fix:
cargo fmt --all --checkcargo test -p eule-core child_ui::tests::chat_uses_orchestrator_when_available -- --exactcargo test -p eule-core child_ui::tests::stream_chat_returns_chunk_and_done_events -- --exactcargo test -p eule-core child_ui::tests::stream_chat_with_orchestrator_returns_orchestrator_reply -- --exact
- This is still an alpha release intended for local testing and feedback, not production deployment.
- Reply quality still depends on the selected local model, prompt design, and local hardware constraints.
- Very long answers can still be constrained by model context and generation settings, although this release reduces the most obvious early cutoffs in child chat.