Action Observation Context
Thin context for the embabel.action span: wraps the owning AgentProcess and the Action.
statusCode is set after the action runs and read by the convention at stop — the only mutable field, since the outcome status is not known when the span opens. No cross-thread synchronization is needed: observe{} is synchronous, so it is written and then read on the same thread, with a happens-before from program order.