n8n/packages/@n8n/instance-ai/evaluations/utils
Arvin Ansari 8632b4b8db
feat(core): Let a case put its seeded history in a separate session (no-changelog)
A seed restored prior messages into the same thread the graded turn ran in, so
"long-term memory" was really earlier turns of one conversation. That conflates
window eviction, compression and genuine cross-session recall, and nothing could
tell them apart.

`seed.sessionBoundary` restores the messages into their own thread and runs the
graded turn in a fresh one. Artifacts cross the boundary and the conversation does
not: seeded workflows, data tables and agents are instance-scoped so the agent's
tools still find them, while the messages are thread-scoped so nothing about the
prior session is recoverable from the conversation. That is the split the arm
exists to create.

Uses calls that already exist — restore takes the thread id, and a thread is
created implicitly — so there is no product change and no new endpoint.

Seeded turns from a prior session are labelled as such in the graded transcript.
Same-thread seeded turns stay deliberately unlabelled, because there it genuinely
is one conversation; across a boundary the judge would otherwise read them as
earlier turns here and penalise the agent for not remembering something it never
received. That trap is why the flag reaches the transcript rather than staying in
the harness.

Refused on a `replay` seed, which reconstructs one real thread and where a
boundary is incoherent — the strict arm rejects it instead of dropping the flag.

Worth stating plainly: on today's product every memory tier is thread-scoped, so a
boundary case expecting recall fails 100%. That is a deliberate red baseline rather
than a regression, and the guidance says to write expectations around the honest
fallback of asking rather than guessing.
2026-08-20 21:07:43 +02:00
..
__tests__ refactor: Extract shared eval helpers (no-changelog) (#29800) 2026-05-07 08:05:01 +00:00
user-proxy feat(ai-builder): Let the eval harness mint Simplified Custom Auth credentials from setup-card recipes (no-changelog) (#36192) 2026-08-19 08:44:23 +00:00
confirmation-payload.ts feat: Add manual credential-setup path to instance-ai eval harness (no-changelog) (#35197) 2026-08-03 09:11:25 +00:00
conversation-text.ts feat(core): Let a case put its seeded history in a separate session (no-changelog) 2026-08-20 21:07:43 +02:00
get-json-files.ts test(core): Extend Instance AI intent eval fixtures (no-changelog) (#33224) 2026-07-07 12:49:32 +00:00
llm-judge.ts refactor: Extract shared eval helpers (no-changelog) (#29800) 2026-05-07 08:05:01 +00:00
load-eval-cases.ts feat(ai-builder): Carry an eval case's conversation seed in the case body (no-changelog) (#35074) 2026-07-28 16:26:08 +00:00
safe-extract.ts refactor: Remove @n8n/utils barrel export (no-changelog) (#33082) 2026-06-30 16:05:24 +03:00