n8n/packages/@n8n
Arvin Ansari 30b4d7946c
feat(core): Add the activity-awareness skill and its A/B eval arms (no-changelog)
Three pieces so the surfaces built earlier can actually be judged.

The `instance-awareness` skill teaches the ladder rather than the tools: ask
about intent, look up state; read cheapest-first and stop at the first rung that
answers the question; treat an absence in the node-usage histogram as evidence
rather than as a gap. It also says where each surface stops — the log records
that a save happened and the node count changed, never which nodes, so anything
about contents is a workflow read.

Four eval cases on a new `activity` tier, which also carries `memory` so they
run under both. Two are authored from real reviewed traces rather than invented:
lang-tracer observation 3870 and its siblings, where the agent restarted work it
had just finished and re-elicited requirements it already had. Their A/B
discriminator is a probe-anchored context assertion — with the feed off nothing
carries the prior workflow into the turn, so it can only arrive via a tool call,
which is turn-end and not probe. That distinction is the measurement.

Every case is scored on behaviour, never on narration. A probe that asks the
agent to describe its own context manufactures its own evidence, which is the
restatement confound recorded on this branch. So the checks ask whether it
re-elicited a known requirement, whether it named the broken workflow, whether
it picked the house node — not whether it can recite the block.

The fourth case is the negative control, and the one that should stop a rollout:
loud recent activity plus an unrelated request. It deliberately does not assert
that the recent workflow is absent from context — it will be there, the feed put
it there. What is scored is whether the agent acted on it. Having a fact and
using it are different, and that difference is the whole point.

scripts/ab-activity-eval.sh drives both arms. They differ by a flag on the
instance under test, not by a runner argument, so each arm needs its own start —
the flag is read once when the relay registers. The script says what to read and
in what order, with context-ignored first.

Also opens the activity preamble up. It forbade narrating the feed but never
granted permission to act on it, which left the agent with a list of work it was
implicitly told to ignore. It now says this is work you can pick up, that a
vague opener usually means the most recent thing, and points at the skill.

Two honest limits recorded in the README. `node-usage` is not gated by the flag,
so the preference case measures a capability both arms have and a difference
there is noise. And that case has no historical precedent: a sweep of 16,262
traces found no conversation where a user stated a node preference their own
workflows already showed.
2026-08-26 16:32:51 +02:00
..
agents fix(core): Validate chat models and recover from execution failures (#36550) 2026-08-19 16:46:31 +00:00
ai-node-sdk 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
ai-utilities fix(MCP Server Trigger Node): Emit tool schemas as JSON Schema 2020-12 (#36490) 2026-08-19 07:52:36 +00:00
ai-workflow-builder.ee 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
api-types feat(API): Add Git connections public API (no-changelog) (#36272) 2026-08-20 07:28:36 +00:00
backend-common feat(core): Add policy infrastructure module scaffold (no-changelog) (#36613) 2026-08-19 14:43:12 +00:00
backend-network chore: Bundle/2.x (#36558) 2026-08-19 07:57:44 +03:00
backend-test-utils 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
benchmark 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
blob-storage 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
chat-hub 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
cli feat: Add git-connections commands to the n8n CLI (no-changelog) (#36287) 2026-08-20 08:09:57 +00:00
client-oauth2 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
codemirror-lang 🚀 Release 2.31.0 (#34117) 2026-07-14 07:18:45 +00:00
codemirror-lang-html 🚀 Release 2.31.0 (#34117) 2026-07-14 07:18:45 +00:00
codemirror-lang-sql 🚀 Release 2.31.0 (#34117) 2026-07-14 07:18:45 +00:00
computer-use 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
config feat(core): Record recent instance activity for agent context (no-changelog) 2026-08-26 13:13:21 +02:00
constants feat(core): Add Git connections module and service (no-changelog) (#36270) 2026-08-19 13:46:51 +00:00
crdt 🚀 Release 2.32.0 (#34600) 2026-07-21 07:14:52 +00:00
create-node 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
db feat(core): Let the agent discover node preferences without reading workflows (no-changelog) 2026-08-26 16:11:24 +02:00
decorators feat(core): Add policy check contract, decorator and registry (#36532) 2026-08-19 08:25:20 +00:00
di 🚀 Release 2.32.0 (#34600) 2026-07-21 07:14:52 +00:00
engine feat(engine): Map iterations across loop edges (no-changelog) (#36524) 2026-08-19 12:32:15 +00:00
errors 🚀 Release 2.32.0 (#34600) 2026-07-21 07:14:52 +00:00
eslint-config feat(editor): Promote v2 Pagination to core, removed legacy CSS (#36522) 2026-08-18 17:02:25 +00:00
eslint-plugin-community-nodes 🚀 Release 2.35.0 (#36006) 2026-08-11 07:16:06 +00:00
expression-runtime chore: Bundle/2.x (#36558) 2026-08-19 07:57:44 +03:00
extension-sdk 🚀 Release 2.34.0 (#35487) 2026-08-04 07:14:55 +00:00
imap 🚀 Release 2.32.0 (#34600) 2026-07-21 07:14:52 +00:00
instance-ai feat(core): Add the activity-awareness skill and its A/B eval arms (no-changelog) 2026-08-26 16:32:51 +02:00
json-schema-to-zod 🚀 Release 2.32.0 (#34600) 2026-07-21 07:14:52 +00:00
local-gateway chore: More Typescript 7 migrations (#34228) 2026-07-16 07:44:11 +00:00
mcp-apps 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
mcp-browser fix(core): Fail fast on browser actions against unactionable targets (no-changelog) (#36608) 2026-08-19 14:59:45 +00:00
mcp-browser-extension feat: Restyle and simplify Browser Use connection view (no-changelog) (#36611) 2026-08-20 07:02:55 +00:00
node-cli fix: Return list-search pagination token as a string in github-issues template (#36657) 2026-08-20 06:56:45 +00:00
node-engine-compatibility refactor(engine): Extract the engine runtime wiring into a factory (no-changelog) (#36504) 2026-08-19 08:39:38 +00:00
nodes-langchain fix(core): Surface agent failures with a useful message and original cause (#36603) 2026-08-20 08:11:56 +00:00
permissions feat(API): Add Git connections public API (no-changelog) (#36272) 2026-08-20 07:28:36 +00:00
scan-community-package 🚀 Release 2.35.0 (#36006) 2026-08-11 07:16:06 +00:00
scheduler 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
stylelint-config chore: Migrate the rest of packages/@n8n to typescript 7 (#34332) 2026-07-17 10:45:58 +03:00
syslog-client 🚀 Release 2.34.0 (#35487) 2026-08-04 07:14:55 +00:00
task-runner 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
task-runner-python refactor: Assign task runner IDs from n8n (#35494) 2026-08-10 11:20:37 +00:00
telemetry 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
tournament chore: Bundle/2.x (#36558) 2026-08-19 07:57:44 +03:00
typeorm 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
typescript-config 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
utils Merge tag 'n8n@2.36.0' 2026-08-18 09:41:33 +00:00
vitest-config 🚀 Release 2.36.0 (#36483) 2026-08-18 08:24:56 +00:00
workflow-sdk fix(core): Correct chainLlm structured-output shape in eval verifier guidance (no-changelog) (#36283) 2026-08-19 11:07:12 +00:00