A run owns its schema, completion marker, and all batch objects.
Namespace-aware run path. Null and empty namespaces have distinct sentinel components; nonempty namespaces escape literal tildes so they cannot collide with those sentinels.