{"version":"2.1.234","anchor":"background-repl-evaluations-report-back-into-the-conversatio","canonical_anchor":"background-repl-evaluations-report-back-into-the-conversatio","heading":"Background REPL evaluations report back into the conversation","tier":"notice","area":"REPL","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234\/e\/background-repl-evaluations-report-back-into-the-conversatio","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.234","markdown":"### Background REPL evaluations report back into the conversation\n\nBackground REPL evaluations now return an id and feed their results back into the conversation.\n\n**What**\n\nStarting an asynchronous REPL evaluation now returns an evaluation id and the current queue depth, and when the evaluation finishes its output is inserted back into the conversation instead of being lost. Dispatching more than the per-context queue cap allows is rejected outright.\n\n**Details**\n\n- The settled output arrives as a `repl-eval` element, after hooks have had a pass at it.\n- Output is truncated to a byte budget, cut on a UTF-8 character boundary so multi-byte text is not split.\n- If a hook blocks the output, it is withheld with that fact recorded rather than silently dropped.\n- `repl_async_settle` telemetry separates the withheld case, the hook-failed-open case and the case where the result never reached the conversation.\n\n**Evidence**\n\n`async REPL dispatch rejected: queue depth cap`\n\n- Area: REPL\n- Tier: You'll notice\n- Useful: 3\/5\n- Signal: 3\/5"}