\subsection{Fan-in, composition and conflicting evidence (E5)} \label{sec:fanin} Each of 20 synthetic test documents was partitioned among $k\in\{2,4\}$ source agents (project blocks round-robin), one source received an additional \emph{superseded} revision sentence for a project also held by another source (a conflict that the ledger's date-precedence rule resolves), and the last source received an irrelevant block from another document. An aggregator (Qwen2.5-3B) answered the multi-hop, aggregation, revision, temporal and unanswerable questions (8 per document; 1\,600 trials, no failures) from one of five compositions (Table~\ref{tab:fanin}): the concatenated source texts (reference), concatenated 512-token summaries, merged structured records with the precedence rule stated, a shared-memory index with metered retrieval (at most three lookups and 1\,500 bytes per source), and a \emph{negative control} that concatenates the KV caches of the independently prefilled sources along the position axis---an operation that is not valid by construction (overlapping positions, no cross-source context during prefill) and is reported only as a diagnostic. \begin{table}[t]\centering\scriptsize \caption{Fan-in accuracy (\%, 95\,\% cluster-bootstrap CI) by composition method and question type; $k$ = number of source agents. Twenty documents; multi-hop and revision 40 trials per cell, aggregation and temporal 20, unanswerable 40.}\label{tab:fanin} \adjustbox{max width=\textwidth}{\input{tables/table_fanin}} \end{table} \paragraph{Prose composes; structured records and references do not, at this budget.} Concatenated summaries match the full-context reference on multi-hop joins (92 vs 95--98\,\%) and on the conflicting revisions (65--70 vs 60--62\,\%: the summaries carry the dates, and the aggregator applies the precedence rule as well from summaries as from the sources). Merged structured records fall to 22--32\,\% on multi-hop and 15--45\,\% on revisions, again because each 512-token extraction covers only part of its source, and a join needs both parts. Shared memory with metered retrieval improves with more sources (38 $\to$ 60\,\% multi-hop, 45 $\to$ 68\,\% revision from $k=2$ to $k=4$) because more references exist to be fetched, at 1.4--3.3~kB of fetched source per question on top of a 3--6~kB index. Every method abstained correctly on the unanswerable questions (98--100\,\%), including those about the irrelevant block's projects, and no method---not even the full-context reference---solved the numerical aggregation (0\,\% everywhere): summing five to six seven-digit amounts is beyond the 3B aggregator regardless of representation, a receiver limit rather than a communication effect. \paragraph{The cache-concatenation control is not zero, and that is the warning.} Feeding the aggregator two independently built caches laid end to end gave 70\,\% on multi-hop and 50\,\% on revisions at $k=2$, falling to 52 and 25\,\% at $k=4$ (Table~\ref{tab:fanin}). Attention can still find a fact whose key happens to be reachable, so a shape-compatible but semantically invalid composition produces plausible answers instead of failing loudly; this is exactly the failure mode that compatibility manifests must prevent, and it is why we report the control as a diagnostic and not as a method. A valid cache composition would need either re-encoding with consistent positions (i.e., a fresh prefill) or a composition-aware method, none of which was available for these models.