diff --git a/docs/components.md b/docs/components.md
index 23460c7..bfc4f5e 100644
--- a/docs/components.md
+++ b/docs/components.md
@@ -78,7 +78,7 @@ signatures survive). Stashes the whole original message.
```mermaid
flowchart LR
- A["```go fenced block
full func bodies"] --> B{tree-sitter parse
lang known? body ≥ min_tokens?}
+ A["go fenced block
full func bodies"] --> B{"tree-sitter parse
lang known? body ≥ min_tokens?"}
B -->|no| A
B -->|yes| C["signatures + { … }
+ <> marker"]
C --> D[(Store: original)]
@@ -269,7 +269,7 @@ wrapping `cmdfilter` component is an Offload (it stashes the original first).
```mermaid
flowchart LR
- I[input] --> S1[1 strip_ansi] --> S2[2 replace[]] --> S3[3 match_output[] + unless]
+ I[input] --> S1[1 strip_ansi] --> S2["2 replace[]"] --> S3["3 match_output[] + unless"]
S3 --> S4[4 strip / keep lines] --> S5[5 truncate_lines_at] --> S6[6 head / tail]
S6 --> S7[7 max_lines] --> S8[8 on_empty] --> O[output + Lossiness]
```
diff --git a/docs/design.md b/docs/design.md
index f154392..e06ee86 100644
--- a/docs/design.md
+++ b/docs/design.md
@@ -111,7 +111,7 @@ sequenceDiagram
apply->>apply: normalize → []ChatMessage + write-back slots
apply->>Pipe: Run(chat, ctx)
Pipe-->>apply: mutated messages
- apply->>apply: per message: unchanged → keep bytes;
changed & lossless round-trip → sjson splice
+ apply->>apply: per message: unchanged → keep bytes,
changed & lossless round-trip → sjson splice
apply-->>Host: rewritten body (or original, fail open)
```
@@ -149,7 +149,7 @@ sequenceDiagram
Store-->>Host: original bytes
Host->>Up: append assistant tool-call + tool_result(original), re-invoke
Up-->>M: final answer with full content in hand
- Note over Host,Up: capped at 3 rounds; if the model also calls another tool,
the loop bails and returns the response as-is
+ Note over Host,Up: capped at 3 rounds — if the model also calls another tool,
the loop bails and returns the response as-is
```
An expired/evicted original resolves to an explicit placeholder rather than being omitted (the