docs: stay within architecture word budget

This commit is contained in:
Yichen Jiang
2026-07-16 16:42:04 +08:00
parent 97190c81ba
commit 182c622eab
+1 -1
View File
@@ -127,7 +127,7 @@ Durability is a plugin concern. Persistence backends buffer synchronous `session
Messages are arrays of typed content blocks (`text`, `reasoning`, `tool-call`, `tool-result`). The union derives from the merge-extensible `ContentBlockMap`; the same pattern types `MessageSource`, `FinishReason`, `TurnTrigger`, and `TurnEndReason`. New block types are coordinated across adapters, UI bridges, compaction pricing, and persistence, so block types remain a repo-wide contract.
Streaming uses raw chunks (`block-start` through `finish`) and `BlockAssembler`. The loop logs and assembles chunks, storing assistant provider/model provenance plus replay state. An `LlmAdapter` implements `stream()`, registers provider routes, and may expose advisory selector metadata; the adapter still resolves and validates model ids. Replay state reaches a target only when both routes map to the same adapter instance, which owns validation and conversion. The contract lives in [llm-streaming.md](core-data-structures/llm-streaming.md).
Streaming uses raw chunks (`block-start` through `finish`) and `BlockAssembler`. The loop logs and assembles chunks, storing provider/model provenance plus replay state. An `LlmAdapter` implements `stream()`, registers provider routes, and may expose selector metadata; it resolves and validates model ids. Replay state reaches targets only when both routes map to one adapter instance, which owns validation and conversion. The contract lives in [llm-streaming.md](core-data-structures/llm-streaming.md).
## Extension And Composition