{"abstract":"The operation returns a result or retained state that violates this contract: A local shared-ownership model executes [operation,handle,argument] commands. Only owners retain the resource. Output is one result per command; weak and borrowed handles do not retain it. Dropping the final owner destroys the object, but dropping a borrower must not destroy a still-owned object.","category":"Runtime and resources","checks":5,"contract":"A local shared-ownership model executes [operation,handle,argument] commands. Only owners retain the resource. Output is one result per command; weak and borrowed handles do not retain it. Dropping the final owner destroys the object, but dropping a borrower must not destroy a still-owned object. Inputs are the finite Python values shown by the executable fixtures; no concurrent execution is assumed.","evaluation_group":"xr-suite-owner-clone-requires-live-owner","failed_approach":"The attempted transition changes the behavior but still violates the same invariant in at least one independent regression fixture.","family":"xr-last-owner-triggers-destruction","id":"FA-4446","implementations":{"attempt":{"sha256":"8c28cc4c10ec7e8bcb35961c299efeb275222b55fe7d2bdf639b1bb4c6e532fe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x, y=None):\n    h={'root':'owner'}; destroyed=False; out=[]\n    for op,k,arg in x:\n        owners=lambda: sum(v=='owner' for v in h.values())\n        if op=='clone':\n            ok=h.get(arg)=='owner' and k not in h and not destroyed\n            if ok: h[k]='owner'\n            out.append(ok)\n        elif op=='borrow':\n            ok=h.get(arg)=='owner' and k not in h and not destroyed\n            if ok: h[k]='borrow'\n            out.append(ok)\n        elif op=='weak':\n            ok=k not in h\n            if ok: h[k]='weak'\n            out.append(ok)\n        elif op=='upgrade':\n            ok=h.get(k)=='weak' and owners()>0 and arg not in h and not destroyed\n            if ok: h[arg]='owner'\n            out.append(ok)\n        elif op=='drop':\n            existed=k in h\n            kind=h.pop(k,None)\n            if kind=='owner': destroyed=True\n            out.append(existed)\n        elif op=='move':\n            ok=k in h and arg not in h\n            if ok:\n                h[arg]=h[k]\n                del h[k]\n            out.append(ok)\n        elif op=='use':\n            out.append(h.get(k) in ('owner','borrow') and owners()>0 and not destroyed)\n        elif op=='unique':\n            out.append(h.get(k)=='owner' and owners()==1 and not destroyed)\n        elif op=='inspect':\n            out.append([owners(),destroyed,sorted(h)])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('borrow cannot clone or outlive resource', solve([['borrow', 'b', 'root'], ['clone', 'c', 'b'], ['weak', 'w', None], ['use', 'w', None], ['unique', 'root', None], ['unique', 'b', None], ['drop', 'root', None], ['use', 'b', None], ['upgrade', 'w', 'c'], ['inspect', None, None]]), [True, False, True, False, True, False, True, False, False, [0, True, ['b', 'w']]])\ncheck('clones prevent premature destruction', solve([['clone', 'c', 'root'], ['drop', 'root', None], ['use', 'c', None], ['inspect', None, None], ['drop', 'c', None], ['inspect', None, None]]), [True, True, True, [1, False, ['c']], True, [0, True, []]])\ncheck('destination collisions preserve all handles', solve([['clone', 'c', 'root'], ['borrow', 'b', 'root'], ['clone', 'b', 'root'], ['borrow', 'c', 'root'], ['weak', 'w', None], ['upgrade', 'w', 'b'], ['move', 'root', 'c'], ['move', 'root', 'root'], ['inspect', None, None]]), [True, True, False, False, True, False, False, False, [2, False, ['b', 'c', 'root', 'w']]])\ncheck('move and borrower release preserve ownership', solve([['borrow', 'b', 'root'], ['drop', 'b', None], ['move', 'root', 'new'], ['use', 'root', None], ['borrow', 'b', 'new'], ['weak', 'w', None], ['upgrade', 'w', 'c'], ['borrow', 'z', 'b'], ['inspect', None, None]]), [True, True, True, False, True, True, True, False, [2, False, ['b', 'c', 'new', 'w']]])\ncheck('weak collision cannot discard owner', solve([['weak','root',None],['inspect',None,None]]), [False,[1,False,['root']]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"a5d74596c86253e8ac0e8c9cb93b702179e284748f01f89dfba8c773f66196f2","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x, y=None):\n    h={'root':'owner'}; destroyed=False; out=[]\n    for op,k,arg in x:\n        owners=lambda: sum(v=='owner' for v in h.values())\n        if op=='clone':\n            ok=h.get(arg)=='owner' and k not in h and not destroyed\n            if ok: h[k]='owner'\n            out.append(ok)\n        elif op=='borrow':\n            ok=h.get(arg)=='owner' and k not in h and not destroyed\n            if ok: h[k]='borrow'\n            out.append(ok)\n        elif op=='weak':\n            ok=k not in h\n            if ok: h[k]='weak'\n            out.append(ok)\n        elif op=='upgrade':\n            ok=h.get(k)=='weak' and owners()>0 and arg not in h and not destroyed\n            if ok: h[arg]='owner'\n            out.append(ok)\n        elif op=='drop':\n            existed=k in h\n            kind=h.pop(k,None)\n            if kind is not None: destroyed=True\n            out.append(existed)\n        elif op=='move':\n            ok=k in h and arg not in h\n            if ok:\n                h[arg]=h[k]\n                del h[k]\n            out.append(ok)\n        elif op=='use':\n            out.append(h.get(k) in ('owner','borrow') and owners()>0 and not destroyed)\n        elif op=='unique':\n            out.append(h.get(k)=='owner' and owners()==1 and not destroyed)\n        elif op=='inspect':\n            out.append([owners(),destroyed,sorted(h)])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('borrow cannot clone or outlive resource', solve([['borrow', 'b', 'root'], ['clone', 'c', 'b'], ['weak', 'w', None], ['use', 'w', None], ['unique', 'root', None], ['unique', 'b', None], ['drop', 'root', None], ['use', 'b', None], ['upgrade', 'w', 'c'], ['inspect', None, None]]), [True, False, True, False, True, False, True, False, False, [0, True, ['b', 'w']]])\ncheck('clones prevent premature destruction', solve([['clone', 'c', 'root'], ['drop', 'root', None], ['use', 'c', None], ['inspect', None, None], ['drop', 'c', None], ['inspect', None, None]]), [True, True, True, [1, False, ['c']], True, [0, True, []]])\ncheck('destination collisions preserve all handles', solve([['clone', 'c', 'root'], ['borrow', 'b', 'root'], ['clone', 'b', 'root'], ['borrow', 'c', 'root'], ['weak', 'w', None], ['upgrade', 'w', 'b'], ['move', 'root', 'c'], ['move', 'root', 'root'], ['inspect', None, None]]), [True, True, False, False, True, False, False, False, [2, False, ['b', 'c', 'root', 'w']]])\ncheck('move and borrower release preserve ownership', solve([['borrow', 'b', 'root'], ['drop', 'b', None], ['move', 'root', 'new'], ['use', 'root', None], ['borrow', 'b', 'new'], ['weak', 'w', None], ['upgrade', 'w', 'c'], ['borrow', 'z', 'b'], ['inspect', None, None]]), [True, True, True, False, True, True, True, False, [2, False, ['b', 'c', 'new', 'w']]])\ncheck('weak collision cannot discard owner', solve([['weak','root',None],['inspect',None,None]]), [False,[1,False,['root']]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"1017562ac69b04380bb05ee5f95a1f6a25e17e1dd8871b2c7685d7c460c6f600","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(x, y=None):\n    h={'root':'owner'}; destroyed=False; out=[]\n    for op,k,arg in x:\n        owners=lambda: sum(v=='owner' for v in h.values())\n        if op=='clone':\n            ok=h.get(arg)=='owner' and k not in h and not destroyed\n            if ok: h[k]='owner'\n            out.append(ok)\n        elif op=='borrow':\n            ok=h.get(arg)=='owner' and k not in h and not destroyed\n            if ok: h[k]='borrow'\n            out.append(ok)\n        elif op=='weak':\n            ok=k not in h\n            if ok: h[k]='weak'\n            out.append(ok)\n        elif op=='upgrade':\n            ok=h.get(k)=='weak' and owners()>0 and arg not in h and not destroyed\n            if ok: h[arg]='owner'\n            out.append(ok)\n        elif op=='drop':\n            existed=k in h\n            kind=h.pop(k,None)\n            if kind=='owner' and owners()==0: destroyed=True\n            out.append(existed)\n        elif op=='move':\n            ok=k in h and arg not in h\n            if ok:\n                h[arg]=h[k]\n                del h[k]\n            out.append(ok)\n        elif op=='use':\n            out.append(h.get(k) in ('owner','borrow') and owners()>0 and not destroyed)\n        elif op=='unique':\n            out.append(h.get(k)=='owner' and owners()==1 and not destroyed)\n        elif op=='inspect':\n            out.append([owners(),destroyed,sorted(h)])\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('borrow cannot clone or outlive resource', solve([['borrow', 'b', 'root'], ['clone', 'c', 'b'], ['weak', 'w', None], ['use', 'w', None], ['unique', 'root', None], ['unique', 'b', None], ['drop', 'root', None], ['use', 'b', None], ['upgrade', 'w', 'c'], ['inspect', None, None]]), [True, False, True, False, True, False, True, False, False, [0, True, ['b', 'w']]])\ncheck('clones prevent premature destruction', solve([['clone', 'c', 'root'], ['drop', 'root', None], ['use', 'c', None], ['inspect', None, None], ['drop', 'c', None], ['inspect', None, None]]), [True, True, True, [1, False, ['c']], True, [0, True, []]])\ncheck('destination collisions preserve all handles', solve([['clone', 'c', 'root'], ['borrow', 'b', 'root'], ['clone', 'b', 'root'], ['borrow', 'c', 'root'], ['weak', 'w', None], ['upgrade', 'w', 'b'], ['move', 'root', 'c'], ['move', 'root', 'root'], ['inspect', None, None]]), [True, True, False, False, True, False, False, False, [2, False, ['b', 'c', 'root', 'w']]])\ncheck('move and borrower release preserve ownership', solve([['borrow', 'b', 'root'], ['drop', 'b', None], ['move', 'root', 'new'], ['use', 'root', None], ['borrow', 'b', 'new'], ['weak', 'w', None], ['upgrade', 'w', 'c'], ['borrow', 'z', 'b'], ['inspect', None, None]]), [True, True, True, False, True, True, True, False, [2, False, ['b', 'c', 'new', 'w']]])\ncheck('weak collision cannot discard owner', solve([['weak','root',None],['inspect',None,None]]), [False,[1,False,['root']]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"xr-last-owner-triggers-destruction","generated_at":"2026-09-29T14:37:39.280579+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A controlled local-runtime regression for collection APIs, language semantics, or ownership wrappers. Fixtures include boundary and interaction cases.","repair":"A local shared-ownership model executes [operation,handle,argument] commands. Only owners retain the resource. Output is one result per command; weak and borrowed handles do not retain it. Dropping the final owner destroys the object, but dropping a borrower must not destroy a still-owned object.","root_cause":"Dropping the final owner destroys the object, but dropping a borrower must not destroy a still-owned object. The broken transition violates that invariant.","sha256":"2a9acb6fb5bf93d36baf875b3aa9fc1a9926b2150b062aebe7572aff2c53f124","title":"Last owner triggers destruction · case 01","variant":1,"variant_policy":"Five execution reruns of a fixed adversarial fixture suite; variant number does not alter semantic inputs.","verification":{"attempt":{"elapsed_ms":43.456,"exit_code":1,"observations":[{"actual":[true,false,true,false,true,false,true,false,false,[0,true,["b","w"]]],"check":"borrow cannot clone or outlive resource","expected":[true,false,true,false,true,false,true,false,false,[0,true,["b","w"]]],"passed":true},{"actual":[true,true,false,[1,true,["c"]],true,[0,true,[]]],"check":"clones prevent premature destruction","expected":[true,true,true,[1,false,["c"]],true,[0,true,[]]],"passed":false},{"actual":[true,true,false,false,true,false,false,false,[2,false,["b","c","root","w"]]],"check":"destination collisions preserve all handles","expected":[true,true,false,false,true,false,false,false,[2,false,["b","c","root","w"]]],"passed":true},{"actual":[true,true,true,false,true,true,true,false,[2,false,["b","c","new","w"]]],"check":"move and borrower release preserve ownership","expected":[true,true,true,false,true,true,true,false,[2,false,["b","c","new","w"]]],"passed":true},{"actual":[false,[1,false,["root"]]],"check":"weak collision cannot discard owner","expected":[false,[1,false,["root"]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"borrow cannot clone or outlive resource\", \"actual\": [true, false, true, false, true, false, true, false, false, [0, true, [\"b\", \"w\"]]], \"expected\": [true, false, true, false, true, false, true, false, false, [0, true, [\"b\", \"w\"]]], \"passed\": true}, {\"check\": \"clones prevent premature destruction\", \"actual\": [true, true, false, [1, true, [\"c\"]], true, [0, true, []]], \"expected\": [true, true, true, [1, false, [\"c\"]], true, [0, true, []]], \"passed\": false}, {\"check\": \"destination collisions preserve all handles\", \"actual\": [true, true, false, false, true, false, false, false, [2, false, [\"b\", \"c\", \"root\", \"w\"]]], \"expected\": [true, true, false, false, true, false, false, false, [2, false, [\"b\", \"c\", \"root\", \"w\"]]], \"passed\": true}, {\"check\": \"move and borrower release preserve ownership\", \"actual\": [true, true, true, false, true, true, true, false, [2, false, [\"b\", \"c\", \"new\", \"w\"]]], \"expected\": [true, true, true, false, true, true, true, false, [2, false, [\"b\", \"c\", \"new\", \"w\"]]], \"passed\": true}, {\"check\": \"weak collision cannot discard owner\", \"actual\": [false, [1, false, [\"root\"]]], \"expected\": [false, [1, false, [\"root\"]]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.119,"exit_code":1,"observations":[{"actual":[true,false,true,false,true,false,true,false,false,[0,true,["b","w"]]],"check":"borrow cannot clone or outlive resource","expected":[true,false,true,false,true,false,true,false,false,[0,true,["b","w"]]],"passed":true},{"actual":[true,true,false,[1,true,["c"]],true,[0,true,[]]],"check":"clones prevent premature destruction","expected":[true,true,true,[1,false,["c"]],true,[0,true,[]]],"passed":false},{"actual":[true,true,false,false,true,false,false,false,[2,false,["b","c","root","w"]]],"check":"destination collisions preserve all handles","expected":[true,true,false,false,true,false,false,false,[2,false,["b","c","root","w"]]],"passed":true},{"actual":[true,true,true,false,false,true,false,false,[1,true,["new","w"]]],"check":"move and borrower release preserve ownership","expected":[true,true,true,false,true,true,true,false,[2,false,["b","c","new","w"]]],"passed":false},{"actual":[false,[1,false,["root"]]],"check":"weak collision cannot discard owner","expected":[false,[1,false,["root"]]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"borrow cannot clone or outlive resource\", \"actual\": [true, false, true, false, true, false, true, false, false, [0, true, [\"b\", \"w\"]]], \"expected\": [true, false, true, false, true, false, true, false, false, [0, true, [\"b\", \"w\"]]], \"passed\": true}, {\"check\": \"clones prevent premature destruction\", \"actual\": [true, true, false, [1, true, [\"c\"]], true, [0, true, []]], \"expected\": [true, true, true, [1, false, [\"c\"]], true, [0, true, []]], \"passed\": false}, {\"check\": \"destination collisions preserve all handles\", \"actual\": [true, true, false, false, true, false, false, false, [2, false, [\"b\", \"c\", \"root\", \"w\"]]], \"expected\": [true, true, false, false, true, false, false, false, [2, false, [\"b\", \"c\", \"root\", \"w\"]]], \"passed\": true}, {\"check\": \"move and borrower release preserve ownership\", \"actual\": [true, true, true, false, false, true, false, false, [1, true, [\"new\", \"w\"]]], \"expected\": [true, true, true, false, true, true, true, false, [2, false, [\"b\", \"c\", \"new\", \"w\"]]], \"passed\": false}, {\"check\": \"weak collision cannot discard owner\", \"actual\": [false, [1, false, [\"root\"]]], \"expected\": [false, [1, false, [\"root\"]]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":126.694,"exit_code":0,"observations":[{"actual":[true,false,true,false,true,false,true,false,false,[0,true,["b","w"]]],"check":"borrow cannot clone or outlive resource","expected":[true,false,true,false,true,false,true,false,false,[0,true,["b","w"]]],"passed":true},{"actual":[true,true,true,[1,false,["c"]],true,[0,true,[]]],"check":"clones prevent premature destruction","expected":[true,true,true,[1,false,["c"]],true,[0,true,[]]],"passed":true},{"actual":[true,true,false,false,true,false,false,false,[2,false,["b","c","root","w"]]],"check":"destination collisions preserve all handles","expected":[true,true,false,false,true,false,false,false,[2,false,["b","c","root","w"]]],"passed":true},{"actual":[true,true,true,false,true,true,true,false,[2,false,["b","c","new","w"]]],"check":"move and borrower release preserve ownership","expected":[true,true,true,false,true,true,true,false,[2,false,["b","c","new","w"]]],"passed":true},{"actual":[false,[1,false,["root"]]],"check":"weak collision cannot discard owner","expected":[false,[1,false,["root"]]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"borrow cannot clone or outlive resource\", \"actual\": [true, false, true, false, true, false, true, false, false, [0, true, [\"b\", \"w\"]]], \"expected\": [true, false, true, false, true, false, true, false, false, [0, true, [\"b\", \"w\"]]], \"passed\": true}, {\"check\": \"clones prevent premature destruction\", \"actual\": [true, true, true, [1, false, [\"c\"]], true, [0, true, []]], \"expected\": [true, true, true, [1, false, [\"c\"]], true, [0, true, []]], \"passed\": true}, {\"check\": \"destination collisions preserve all handles\", \"actual\": [true, true, false, false, true, false, false, false, [2, false, [\"b\", \"c\", \"root\", \"w\"]]], \"expected\": [true, true, false, false, true, false, false, false, [2, false, [\"b\", \"c\", \"root\", \"w\"]]], \"passed\": true}, {\"check\": \"move and borrower release preserve ownership\", \"actual\": [true, true, true, false, true, true, true, false, [2, false, [\"b\", \"c\", \"new\", \"w\"]]], \"expected\": [true, true, true, false, true, true, true, false, [2, false, [\"b\", \"c\", \"new\", \"w\"]]], \"passed\": true}, {\"check\": \"weak collision cannot discard owner\", \"actual\": [false, [1, false, [\"root\"]]], \"expected\": [false, [1, false, [\"root\"]]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}