Introduction In the previous articles, we demonstrated how to integrate our signal mechanism into two mainstream frameworks: React and Vue. Starting from this article, we will return to the core signal kernel we designed and examine which parts can be improved further. Quick Overview The goal is to merge “multi-step updates across await boundaries” into a single effect rerun, while keeping our existing lazy computed behavior and microtask-based scheduling model intact. In this article, we only extend scheduler.ts and a few minimal integration points, without changing the public API. Why Do We Need Async Transactions? Our current system is already stable: Within the same call stack, multiple set() calls are merged by our scheduler — using Set + queueMicrotask — into the same microtask, so the effect only reruns once. But this does not work across await . Each await creates a new microtask. Without a transaction, effects will run once per async boundary. Without vs.…