The kit runner picks up every *.test.ts and rejects a vitest import, so
agntcy (4 pass 3 fail), arena (4/4) and graph-intelligence (7/11) failed on
files that were never kit tests. Renamed the vitest files to *.spec.ts (the
convention ruflo-swarm and ruflo-console already use), pointed the two
vitest configs at them, patch-bumped the three plugins. No test removed or
weakened: root vitest 18 files / 163 tests and the per-plugin vitest runs
(arena 23, graph 104) are unchanged.
Co-Authored-By: RuFlo <ruv@ruv.net>
Adds opt-in plugin `plugins/ruflo-arena` from @shaal (Ofer Shaal). 26 files / +1781 lines, 4 vitest suites (23 tests), all green locally on this checkout. Closes#2314.
Pure additive — no Ruflo-core changes, one runtime dep (zod). MCP tools: arena/run, tournament/run, evolve/run, coevolve/run, run/get, run/list. CLI: arena, tournament, evolve, coevolve, demo.
Follow-up patch (5 review items: coevolve baseline cache, tournament self-skip, Math.spread → single-pass, factory doc, agentdbRecord field lift) posted in https://github.com/ruvnet/ruflo/pull/2315#issuecomment-4650114965 — will land as a follow-up PR.
Admin-merged: the only failing PR check (`graph trajectory hooks smoke (ADR-130 P3)`) is an unrelated pre-existing main OOM in @ruvector/ruvllm SonaCoordinator, tracked in #2312. PR touches none of that code path.
Co-Authored-By: Ofer Shaal <shaal@users.noreply.github.com>