From bf309fce208c2193dc68a5da71463cfbeaadbd22 Mon Sep 17 00:00:00 2001 From: kenneth Date: Sat, 28 Feb 2026 15:51:18 +0000 Subject: [PATCH] docs: document intentional TItems cast in post-processor merge Co-authored-by: Ona --- packages/aris-core/src/feed-engine.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/aris-core/src/feed-engine.ts b/packages/aris-core/src/feed-engine.ts index 56b745a..a3a0bce 100644 --- a/packages/aris-core/src/feed-engine.ts +++ b/packages/aris-core/src/feed-engine.ts @@ -306,6 +306,10 @@ export class FeedEngine { const enhancement = await processor(currentItems) if (enhancement.additionalItems?.length) { + // Post-processors operate on FeedItem[] without knowledge of TItems. + // Additional items are merged untyped — this is intentional. The + // processor contract is "FeedItem in, FeedItem out"; type narrowing + // is the caller's responsibility when consuming FeedResult. currentItems = [...currentItems, ...(enhancement.additionalItems as TItems[])] }