D018 - Guest call recording is allocation-free and attributed

Status: decided Date: 2026-09-26

Every guest call is recorded on the dispatch path into a fixed-size atomic ring with a global sequence number, the import index, its first argument and the guest return address. Recording takes no lock and allocates nothing; the worker drains the ring into the run's call trace.

Why: guest call volume reaches tens of millions per run, and a recorder that blocks or allocates changes the program it observes. The sequence number orders a multi-threaded run after the fact, and the return address answers "which call site", which is usually the useful question.

Rejected: