agent-ecosystem/test/main/services
777genius 0a750a9fa8 perf: share a frozen team-summary snapshot instead of cloning on every listTeams
listTeams() deep-cloned ALL team summaries via structuredClone on every call -- even
cache hits and concurrent in-flight awaiters. A heap allocation sample of a launch
put this (listTeams -> cloneTeamSummaries -> structuredClone) as the single largest
memory allocator, driving heap churn + GC pressure during launch (this stand has ~158
teams, and listTeams is called constantly: startup, notification init, task projection,
IPC polls, provisioning).

Build ONE deep-frozen, independent snapshot per uncached load and hand the same
reference to the cache entry, in-flight awaiters, and every later reader. The single
cloneTeamSummaries keeps it independent of any cached config the loader returns;
freezing lets all readers share it safely. Audited every listTeams consumer -- all
iterate / map / filter / serialize, none mutate -- and the freeze turns any stray
future mutation into a loud error rather than silent cross-caller corruption.

TeamConfigReader 26/26 (added a frozen + same-reference regression test), and the
listTeams consumers (TeamDataService 116, CrossTeamService 26) all pass under frozen
summaries.
2026-05-30 15:25:26 +03:00
..
analysis fix(provenance): classify synthetic user turns 2026-05-26 23:51:17 +03:00
discovery fix(provenance): classify synthetic user turns 2026-05-26 23:51:17 +03:00
editor fix: harden Windows frontend path handling 2026-05-16 17:34:50 +03:00
extensions fix(ci): restore dev validation checks 2026-05-19 02:49:45 +03:00
identity feat: add telemetry identity and runtime status 2026-05-17 20:26:34 +03:00
infrastructure fix: export notifyTeamWatchScopeChanged so the committed build resolves 2026-05-30 12:33:57 +03:00
parsing fix(provenance): classify synthetic user turns 2026-05-26 23:51:17 +03:00
runtime fix(opencode): extend summary status timeout 2026-05-28 00:39:53 +03:00
schedule feat(runtime): add provider fast mode support 2026-04-21 22:22:47 +03:00
team perf: share a frozen team-summary snapshot instead of cloning on every listTeams 2026-05-30 15:25:26 +03:00