6ae6287360
M2: after plc_tag_destroy, the release writes 0 back to the wrapper's nativeTagHandle, so a repeat release is a no-op instead of touching a destroyed id. The runtimes keep the destroyed handle for tests and diagnostics. M1: the rooting fallback is now described accurately, as an unbounded leak (one native tag per failed create), not a bounded one. A test seam (ForceRootingForTest) pins that the fallback roots the tag and destroys nothing. Both pins are red with their line removed. The orphan tests share a non-parallel collection, because the counters and the seam are process-wide. Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe