{"abstract":"Cleanup before rerun.","category":"Client state","checks":60,"contract":"An effect tracks dependency length, values and scalar types; an empty dependency vector differs from no prior run. Cleanup precedes setup, unmount suppresses completion writes, and each setup advances a generation. Operation cleanup-before-rerun has the six explicit input/output oracles below.","evaluation_group":"s3-client-state-effect-lifecycle","failed_approach":"The partial repair `['cleanup'] if cleanup else ['setup']` still violates the explicit fixture contract.","family":"s3-client-state-effect-lifecycle-cleanup-before-rerun","id":"FA-23881","implementations":{"attempt":{"sha256":"756cbe22d3fd0e563ea53c941cb0dfdcfe88075d46b4937f973cf621bb9bad8a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    mounted, dependencies, previous, cleanup, run, owner, completion_owner = s\n    if operation == 'dependency-shape-comparison':\n        return previous is None or len(dependencies)!=len(previous) or any(type(a)!=type(b) or a!=b for a,b in zip(dependencies,previous))\n    if operation == 'unmount-cleanup':\n        return cleanup and not mounted\n    if operation == 'initial-effect-run':\n        return previous is None or run==0\n    if operation == 'cleanup-before-rerun':\n        return ['cleanup'] if cleanup else ['setup']\n    if operation == 'completion-owner-check':\n        return mounted and owner==completion_owner\n    if operation == 'dependency-snapshot-copy':\n        return list(dependencies)\n    if operation == 'generation-increment':\n        return run+1\n    if operation == 'setup-after-unmount':\n        return 'setup' if mounted else 'skip'\n    if operation == 'cleanup-registration-retained':\n        return cleanup if mounted else False\n    if operation == 'owner-change-invalidates':\n        return owner!=completion_owner\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('dependency-shape-comparison scenario 1', solve('dependency-shape-comparison', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('dependency-shape-comparison scenario 2', solve('dependency-shape-comparison', (True,[],[],False,0,'a','a')), False)\ncheck('dependency-shape-comparison scenario 3', solve('dependency-shape-comparison', (False,[1],[1],True,1,'a','a')), False)\ncheck('dependency-shape-comparison scenario 4', solve('dependency-shape-comparison', (True,[0],[False],True,3,'a','b')), True)\ncheck('dependency-shape-comparison scenario 5', solve('dependency-shape-comparison', (True,[None],None,False,0,'b','b')), True)\ncheck('dependency-shape-comparison scenario 6', solve('dependency-shape-comparison', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('unmount-cleanup scenario 1', solve('unmount-cleanup', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('unmount-cleanup scenario 2', solve('unmount-cleanup', (True,[],[],False,0,'a','a')), False)\ncheck('unmount-cleanup scenario 3', solve('unmount-cleanup', (False,[1],[1],True,1,'a','a')), True)\ncheck('unmount-cleanup scenario 4', solve('unmount-cleanup', (True,[0],[False],True,3,'a','b')), False)\ncheck('unmount-cleanup scenario 5', solve('unmount-cleanup', (True,[None],None,False,0,'b','b')), False)\ncheck('unmount-cleanup scenario 6', solve('unmount-cleanup', (True,[1,2],[1],True,1,'a','a')), False)\ncheck('initial-effect-run scenario 1', solve('initial-effect-run', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('initial-effect-run scenario 2', solve('initial-effect-run', (True,[],[],False,0,'a','a')), True)\ncheck('initial-effect-run scenario 3', solve('initial-effect-run', (False,[1],[1],True,1,'a','a')), False)\ncheck('initial-effect-run scenario 4', solve('initial-effect-run', (True,[0],[False],True,3,'a','b')), False)\ncheck('initial-effect-run scenario 5', solve('initial-effect-run', (True,[None],None,False,0,'b','b')), True)\ncheck('initial-effect-run scenario 6', solve('initial-effect-run', (True,[1,2],[1],True,1,'a','a')), False)\ncheck('cleanup-before-rerun scenario 1', solve('cleanup-before-rerun', (True,[N,2],[N,1],True,2,'a','a')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 2', solve('cleanup-before-rerun', (True,[],[],False,0,'a','a')), ['setup'])\ncheck('cleanup-before-rerun scenario 3', solve('cleanup-before-rerun', (False,[1],[1],True,1,'a','a')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 4', solve('cleanup-before-rerun', (True,[0],[False],True,3,'a','b')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 5', solve('cleanup-before-rerun', (True,[None],None,False,0,'b','b')), ['setup'])\ncheck('cleanup-before-rerun scenario 6', solve('cleanup-before-rerun', (True,[1,2],[1],True,1,'a','a')), ['cleanup','setup'])\ncheck('completion-owner-check scenario 1', solve('completion-owner-check', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('completion-owner-check scenario 2', solve('completion-owner-check', (True,[],[],False,0,'a','a')), True)\ncheck('completion-owner-check scenario 3', solve('completion-owner-check', (False,[1],[1],True,1,'a','a')), False)\ncheck('completion-owner-check scenario 4', solve('completion-owner-check', (True,[0],[False],True,3,'a','b')), False)\ncheck('completion-owner-check scenario 5', solve('completion-owner-check', (True,[None],None,False,0,'b','b')), True)\ncheck('completion-owner-check scenario 6', solve('completion-owner-check', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('dependency-snapshot-copy scenario 1', solve('dependency-snapshot-copy', (True,[N,2],[N,1],True,2,'a','a')), [N,2])\ncheck('dependency-snapshot-copy scenario 2', solve('dependency-snapshot-copy', (True,[],[],False,0,'a','a')), [])\ncheck('dependency-snapshot-copy scenario 3', solve('dependency-snapshot-copy', (False,[1],[1],True,1,'a','a')), [1])\ncheck('dependency-snapshot-copy scenario 4', solve('dependency-snapshot-copy', (True,[0],[False],True,3,'a','b')), [0])\ncheck('dependency-snapshot-copy scenario 5', solve('dependency-snapshot-copy', (True,[None],None,False,0,'b','b')), [None])\ncheck('dependency-snapshot-copy scenario 6', solve('dependency-snapshot-copy', (True,[1,2],[1],True,1,'a','a')), [1,2])\ncheck('generation-increment scenario 1', solve('generation-increment', (True,[N,2],[N,1],True,2,'a','a')), 3)\ncheck('generation-increment scenario 2', solve('generation-increment', (True,[],[],False,0,'a','a')), 1)\ncheck('generation-increment scenario 3', solve('generation-increment', (False,[1],[1],True,1,'a','a')), 2)\ncheck('generation-increment scenario 4', solve('generation-increment', (True,[0],[False],True,3,'a','b')), 4)\ncheck('generation-increment scenario 5', solve('generation-increment', (True,[None],None,False,0,'b','b')), 1)\ncheck('generation-increment scenario 6', solve('generation-increment', (True,[1,2],[1],True,1,'a','a')), 2)\ncheck('setup-after-unmount scenario 1', solve('setup-after-unmount', (True,[N,2],[N,1],True,2,'a','a')), 'setup')\ncheck('setup-after-unmount scenario 2', solve('setup-after-unmount', (True,[],[],False,0,'a','a')), 'setup')\ncheck('setup-after-unmount scenario 3', solve('setup-after-unmount', (False,[1],[1],True,1,'a','a')), 'skip')\ncheck('setup-after-unmount scenario 4', solve('setup-after-unmount', (True,[0],[False],True,3,'a','b')), 'setup')\ncheck('setup-after-unmount scenario 5', solve('setup-after-unmount', (True,[None],None,False,0,'b','b')), 'setup')\ncheck('setup-after-unmount scenario 6', solve('setup-after-unmount', (True,[1,2],[1],True,1,'a','a')), 'setup')\ncheck('cleanup-registration-retained scenario 1', solve('cleanup-registration-retained', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('cleanup-registration-retained scenario 2', solve('cleanup-registration-retained', (True,[],[],False,0,'a','a')), False)\ncheck('cleanup-registration-retained scenario 3', solve('cleanup-registration-retained', (False,[1],[1],True,1,'a','a')), False)\ncheck('cleanup-registration-retained scenario 4', solve('cleanup-registration-retained', (True,[0],[False],True,3,'a','b')), True)\ncheck('cleanup-registration-retained scenario 5', solve('cleanup-registration-retained', (True,[None],None,False,0,'b','b')), False)\ncheck('cleanup-registration-retained scenario 6', solve('cleanup-registration-retained', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('owner-change-invalidates scenario 1', solve('owner-change-invalidates', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('owner-change-invalidates scenario 2', solve('owner-change-invalidates', (True,[],[],False,0,'a','a')), False)\ncheck('owner-change-invalidates scenario 3', solve('owner-change-invalidates', (False,[1],[1],True,1,'a','a')), False)\ncheck('owner-change-invalidates scenario 4', solve('owner-change-invalidates', (True,[0],[False],True,3,'a','b')), True)\ncheck('owner-change-invalidates scenario 5', solve('owner-change-invalidates', (True,[None],None,False,0,'b','b')), False)\ncheck('owner-change-invalidates scenario 6', solve('owner-change-invalidates', (True,[1,2],[1],True,1,'a','a')), False)\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":"90a0a11326a5e30380a1b9ccc9b0ce90424cd00af460da5d2bf394fd8e013431","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    mounted, dependencies, previous, cleanup, run, owner, completion_owner = s\n    if operation == 'dependency-shape-comparison':\n        return previous is None or len(dependencies)!=len(previous) or any(type(a)!=type(b) or a!=b for a,b in zip(dependencies,previous))\n    if operation == 'unmount-cleanup':\n        return cleanup and not mounted\n    if operation == 'initial-effect-run':\n        return previous is None or run==0\n    if operation == 'cleanup-before-rerun':\n        return ['setup','cleanup'] if cleanup else ['setup']\n    if operation == 'completion-owner-check':\n        return mounted and owner==completion_owner\n    if operation == 'dependency-snapshot-copy':\n        return list(dependencies)\n    if operation == 'generation-increment':\n        return run+1\n    if operation == 'setup-after-unmount':\n        return 'setup' if mounted else 'skip'\n    if operation == 'cleanup-registration-retained':\n        return cleanup if mounted else False\n    if operation == 'owner-change-invalidates':\n        return owner!=completion_owner\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('dependency-shape-comparison scenario 1', solve('dependency-shape-comparison', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('dependency-shape-comparison scenario 2', solve('dependency-shape-comparison', (True,[],[],False,0,'a','a')), False)\ncheck('dependency-shape-comparison scenario 3', solve('dependency-shape-comparison', (False,[1],[1],True,1,'a','a')), False)\ncheck('dependency-shape-comparison scenario 4', solve('dependency-shape-comparison', (True,[0],[False],True,3,'a','b')), True)\ncheck('dependency-shape-comparison scenario 5', solve('dependency-shape-comparison', (True,[None],None,False,0,'b','b')), True)\ncheck('dependency-shape-comparison scenario 6', solve('dependency-shape-comparison', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('unmount-cleanup scenario 1', solve('unmount-cleanup', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('unmount-cleanup scenario 2', solve('unmount-cleanup', (True,[],[],False,0,'a','a')), False)\ncheck('unmount-cleanup scenario 3', solve('unmount-cleanup', (False,[1],[1],True,1,'a','a')), True)\ncheck('unmount-cleanup scenario 4', solve('unmount-cleanup', (True,[0],[False],True,3,'a','b')), False)\ncheck('unmount-cleanup scenario 5', solve('unmount-cleanup', (True,[None],None,False,0,'b','b')), False)\ncheck('unmount-cleanup scenario 6', solve('unmount-cleanup', (True,[1,2],[1],True,1,'a','a')), False)\ncheck('initial-effect-run scenario 1', solve('initial-effect-run', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('initial-effect-run scenario 2', solve('initial-effect-run', (True,[],[],False,0,'a','a')), True)\ncheck('initial-effect-run scenario 3', solve('initial-effect-run', (False,[1],[1],True,1,'a','a')), False)\ncheck('initial-effect-run scenario 4', solve('initial-effect-run', (True,[0],[False],True,3,'a','b')), False)\ncheck('initial-effect-run scenario 5', solve('initial-effect-run', (True,[None],None,False,0,'b','b')), True)\ncheck('initial-effect-run scenario 6', solve('initial-effect-run', (True,[1,2],[1],True,1,'a','a')), False)\ncheck('cleanup-before-rerun scenario 1', solve('cleanup-before-rerun', (True,[N,2],[N,1],True,2,'a','a')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 2', solve('cleanup-before-rerun', (True,[],[],False,0,'a','a')), ['setup'])\ncheck('cleanup-before-rerun scenario 3', solve('cleanup-before-rerun', (False,[1],[1],True,1,'a','a')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 4', solve('cleanup-before-rerun', (True,[0],[False],True,3,'a','b')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 5', solve('cleanup-before-rerun', (True,[None],None,False,0,'b','b')), ['setup'])\ncheck('cleanup-before-rerun scenario 6', solve('cleanup-before-rerun', (True,[1,2],[1],True,1,'a','a')), ['cleanup','setup'])\ncheck('completion-owner-check scenario 1', solve('completion-owner-check', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('completion-owner-check scenario 2', solve('completion-owner-check', (True,[],[],False,0,'a','a')), True)\ncheck('completion-owner-check scenario 3', solve('completion-owner-check', (False,[1],[1],True,1,'a','a')), False)\ncheck('completion-owner-check scenario 4', solve('completion-owner-check', (True,[0],[False],True,3,'a','b')), False)\ncheck('completion-owner-check scenario 5', solve('completion-owner-check', (True,[None],None,False,0,'b','b')), True)\ncheck('completion-owner-check scenario 6', solve('completion-owner-check', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('dependency-snapshot-copy scenario 1', solve('dependency-snapshot-copy', (True,[N,2],[N,1],True,2,'a','a')), [N,2])\ncheck('dependency-snapshot-copy scenario 2', solve('dependency-snapshot-copy', (True,[],[],False,0,'a','a')), [])\ncheck('dependency-snapshot-copy scenario 3', solve('dependency-snapshot-copy', (False,[1],[1],True,1,'a','a')), [1])\ncheck('dependency-snapshot-copy scenario 4', solve('dependency-snapshot-copy', (True,[0],[False],True,3,'a','b')), [0])\ncheck('dependency-snapshot-copy scenario 5', solve('dependency-snapshot-copy', (True,[None],None,False,0,'b','b')), [None])\ncheck('dependency-snapshot-copy scenario 6', solve('dependency-snapshot-copy', (True,[1,2],[1],True,1,'a','a')), [1,2])\ncheck('generation-increment scenario 1', solve('generation-increment', (True,[N,2],[N,1],True,2,'a','a')), 3)\ncheck('generation-increment scenario 2', solve('generation-increment', (True,[],[],False,0,'a','a')), 1)\ncheck('generation-increment scenario 3', solve('generation-increment', (False,[1],[1],True,1,'a','a')), 2)\ncheck('generation-increment scenario 4', solve('generation-increment', (True,[0],[False],True,3,'a','b')), 4)\ncheck('generation-increment scenario 5', solve('generation-increment', (True,[None],None,False,0,'b','b')), 1)\ncheck('generation-increment scenario 6', solve('generation-increment', (True,[1,2],[1],True,1,'a','a')), 2)\ncheck('setup-after-unmount scenario 1', solve('setup-after-unmount', (True,[N,2],[N,1],True,2,'a','a')), 'setup')\ncheck('setup-after-unmount scenario 2', solve('setup-after-unmount', (True,[],[],False,0,'a','a')), 'setup')\ncheck('setup-after-unmount scenario 3', solve('setup-after-unmount', (False,[1],[1],True,1,'a','a')), 'skip')\ncheck('setup-after-unmount scenario 4', solve('setup-after-unmount', (True,[0],[False],True,3,'a','b')), 'setup')\ncheck('setup-after-unmount scenario 5', solve('setup-after-unmount', (True,[None],None,False,0,'b','b')), 'setup')\ncheck('setup-after-unmount scenario 6', solve('setup-after-unmount', (True,[1,2],[1],True,1,'a','a')), 'setup')\ncheck('cleanup-registration-retained scenario 1', solve('cleanup-registration-retained', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('cleanup-registration-retained scenario 2', solve('cleanup-registration-retained', (True,[],[],False,0,'a','a')), False)\ncheck('cleanup-registration-retained scenario 3', solve('cleanup-registration-retained', (False,[1],[1],True,1,'a','a')), False)\ncheck('cleanup-registration-retained scenario 4', solve('cleanup-registration-retained', (True,[0],[False],True,3,'a','b')), True)\ncheck('cleanup-registration-retained scenario 5', solve('cleanup-registration-retained', (True,[None],None,False,0,'b','b')), False)\ncheck('cleanup-registration-retained scenario 6', solve('cleanup-registration-retained', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('owner-change-invalidates scenario 1', solve('owner-change-invalidates', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('owner-change-invalidates scenario 2', solve('owner-change-invalidates', (True,[],[],False,0,'a','a')), False)\ncheck('owner-change-invalidates scenario 3', solve('owner-change-invalidates', (False,[1],[1],True,1,'a','a')), False)\ncheck('owner-change-invalidates scenario 4', solve('owner-change-invalidates', (True,[0],[False],True,3,'a','b')), True)\ncheck('owner-change-invalidates scenario 5', solve('owner-change-invalidates', (True,[None],None,False,0,'b','b')), False)\ncheck('owner-change-invalidates scenario 6', solve('owner-change-invalidates', (True,[1,2],[1],True,1,'a','a')), False)\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":"e86fb948251b862a588aa5dbb98eaafcd12fc24c53af46a43854f3bc174b2e83","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    mounted, dependencies, previous, cleanup, run, owner, completion_owner = s\n    if operation == 'dependency-shape-comparison':\n        return previous is None or len(dependencies)!=len(previous) or any(type(a)!=type(b) or a!=b for a,b in zip(dependencies,previous))\n    if operation == 'unmount-cleanup':\n        return cleanup and not mounted\n    if operation == 'initial-effect-run':\n        return previous is None or run==0\n    if operation == 'cleanup-before-rerun':\n        return ['cleanup','setup'] if cleanup else ['setup']\n    if operation == 'completion-owner-check':\n        return mounted and owner==completion_owner\n    if operation == 'dependency-snapshot-copy':\n        return list(dependencies)\n    if operation == 'generation-increment':\n        return run+1\n    if operation == 'setup-after-unmount':\n        return 'setup' if mounted else 'skip'\n    if operation == 'cleanup-registration-retained':\n        return cleanup if mounted else False\n    if operation == 'owner-change-invalidates':\n        return owner!=completion_owner\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('dependency-shape-comparison scenario 1', solve('dependency-shape-comparison', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('dependency-shape-comparison scenario 2', solve('dependency-shape-comparison', (True,[],[],False,0,'a','a')), False)\ncheck('dependency-shape-comparison scenario 3', solve('dependency-shape-comparison', (False,[1],[1],True,1,'a','a')), False)\ncheck('dependency-shape-comparison scenario 4', solve('dependency-shape-comparison', (True,[0],[False],True,3,'a','b')), True)\ncheck('dependency-shape-comparison scenario 5', solve('dependency-shape-comparison', (True,[None],None,False,0,'b','b')), True)\ncheck('dependency-shape-comparison scenario 6', solve('dependency-shape-comparison', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('unmount-cleanup scenario 1', solve('unmount-cleanup', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('unmount-cleanup scenario 2', solve('unmount-cleanup', (True,[],[],False,0,'a','a')), False)\ncheck('unmount-cleanup scenario 3', solve('unmount-cleanup', (False,[1],[1],True,1,'a','a')), True)\ncheck('unmount-cleanup scenario 4', solve('unmount-cleanup', (True,[0],[False],True,3,'a','b')), False)\ncheck('unmount-cleanup scenario 5', solve('unmount-cleanup', (True,[None],None,False,0,'b','b')), False)\ncheck('unmount-cleanup scenario 6', solve('unmount-cleanup', (True,[1,2],[1],True,1,'a','a')), False)\ncheck('initial-effect-run scenario 1', solve('initial-effect-run', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('initial-effect-run scenario 2', solve('initial-effect-run', (True,[],[],False,0,'a','a')), True)\ncheck('initial-effect-run scenario 3', solve('initial-effect-run', (False,[1],[1],True,1,'a','a')), False)\ncheck('initial-effect-run scenario 4', solve('initial-effect-run', (True,[0],[False],True,3,'a','b')), False)\ncheck('initial-effect-run scenario 5', solve('initial-effect-run', (True,[None],None,False,0,'b','b')), True)\ncheck('initial-effect-run scenario 6', solve('initial-effect-run', (True,[1,2],[1],True,1,'a','a')), False)\ncheck('cleanup-before-rerun scenario 1', solve('cleanup-before-rerun', (True,[N,2],[N,1],True,2,'a','a')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 2', solve('cleanup-before-rerun', (True,[],[],False,0,'a','a')), ['setup'])\ncheck('cleanup-before-rerun scenario 3', solve('cleanup-before-rerun', (False,[1],[1],True,1,'a','a')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 4', solve('cleanup-before-rerun', (True,[0],[False],True,3,'a','b')), ['cleanup','setup'])\ncheck('cleanup-before-rerun scenario 5', solve('cleanup-before-rerun', (True,[None],None,False,0,'b','b')), ['setup'])\ncheck('cleanup-before-rerun scenario 6', solve('cleanup-before-rerun', (True,[1,2],[1],True,1,'a','a')), ['cleanup','setup'])\ncheck('completion-owner-check scenario 1', solve('completion-owner-check', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('completion-owner-check scenario 2', solve('completion-owner-check', (True,[],[],False,0,'a','a')), True)\ncheck('completion-owner-check scenario 3', solve('completion-owner-check', (False,[1],[1],True,1,'a','a')), False)\ncheck('completion-owner-check scenario 4', solve('completion-owner-check', (True,[0],[False],True,3,'a','b')), False)\ncheck('completion-owner-check scenario 5', solve('completion-owner-check', (True,[None],None,False,0,'b','b')), True)\ncheck('completion-owner-check scenario 6', solve('completion-owner-check', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('dependency-snapshot-copy scenario 1', solve('dependency-snapshot-copy', (True,[N,2],[N,1],True,2,'a','a')), [N,2])\ncheck('dependency-snapshot-copy scenario 2', solve('dependency-snapshot-copy', (True,[],[],False,0,'a','a')), [])\ncheck('dependency-snapshot-copy scenario 3', solve('dependency-snapshot-copy', (False,[1],[1],True,1,'a','a')), [1])\ncheck('dependency-snapshot-copy scenario 4', solve('dependency-snapshot-copy', (True,[0],[False],True,3,'a','b')), [0])\ncheck('dependency-snapshot-copy scenario 5', solve('dependency-snapshot-copy', (True,[None],None,False,0,'b','b')), [None])\ncheck('dependency-snapshot-copy scenario 6', solve('dependency-snapshot-copy', (True,[1,2],[1],True,1,'a','a')), [1,2])\ncheck('generation-increment scenario 1', solve('generation-increment', (True,[N,2],[N,1],True,2,'a','a')), 3)\ncheck('generation-increment scenario 2', solve('generation-increment', (True,[],[],False,0,'a','a')), 1)\ncheck('generation-increment scenario 3', solve('generation-increment', (False,[1],[1],True,1,'a','a')), 2)\ncheck('generation-increment scenario 4', solve('generation-increment', (True,[0],[False],True,3,'a','b')), 4)\ncheck('generation-increment scenario 5', solve('generation-increment', (True,[None],None,False,0,'b','b')), 1)\ncheck('generation-increment scenario 6', solve('generation-increment', (True,[1,2],[1],True,1,'a','a')), 2)\ncheck('setup-after-unmount scenario 1', solve('setup-after-unmount', (True,[N,2],[N,1],True,2,'a','a')), 'setup')\ncheck('setup-after-unmount scenario 2', solve('setup-after-unmount', (True,[],[],False,0,'a','a')), 'setup')\ncheck('setup-after-unmount scenario 3', solve('setup-after-unmount', (False,[1],[1],True,1,'a','a')), 'skip')\ncheck('setup-after-unmount scenario 4', solve('setup-after-unmount', (True,[0],[False],True,3,'a','b')), 'setup')\ncheck('setup-after-unmount scenario 5', solve('setup-after-unmount', (True,[None],None,False,0,'b','b')), 'setup')\ncheck('setup-after-unmount scenario 6', solve('setup-after-unmount', (True,[1,2],[1],True,1,'a','a')), 'setup')\ncheck('cleanup-registration-retained scenario 1', solve('cleanup-registration-retained', (True,[N,2],[N,1],True,2,'a','a')), True)\ncheck('cleanup-registration-retained scenario 2', solve('cleanup-registration-retained', (True,[],[],False,0,'a','a')), False)\ncheck('cleanup-registration-retained scenario 3', solve('cleanup-registration-retained', (False,[1],[1],True,1,'a','a')), False)\ncheck('cleanup-registration-retained scenario 4', solve('cleanup-registration-retained', (True,[0],[False],True,3,'a','b')), True)\ncheck('cleanup-registration-retained scenario 5', solve('cleanup-registration-retained', (True,[None],None,False,0,'b','b')), False)\ncheck('cleanup-registration-retained scenario 6', solve('cleanup-registration-retained', (True,[1,2],[1],True,1,'a','a')), True)\ncheck('owner-change-invalidates scenario 1', solve('owner-change-invalidates', (True,[N,2],[N,1],True,2,'a','a')), False)\ncheck('owner-change-invalidates scenario 2', solve('owner-change-invalidates', (True,[],[],False,0,'a','a')), False)\ncheck('owner-change-invalidates scenario 3', solve('owner-change-invalidates', (False,[1],[1],True,1,'a','a')), False)\ncheck('owner-change-invalidates scenario 4', solve('owner-change-invalidates', (True,[0],[False],True,3,'a','b')), True)\ncheck('owner-change-invalidates scenario 5', solve('owner-change-invalidates', (True,[None],None,False,0,'b','b')), False)\ncheck('owner-change-invalidates scenario 6', solve('owner-change-invalidates', (True,[1,2],[1],True,1,'a','a')), False)\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":"Only the explicitly specified operations and finite deterministic records are modeled; no browser or framework conformance is claimed. 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":"s3-client-state-effect-lifecycle-cleanup-before-rerun","generated_at":"2026-09-29T14:40:51.882129+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"An offline client lifecycle model that isolates a state-management defect without DOM rendering or network services.","repair":"Apply the modeled cleanup-before-rerun rule: `['cleanup','setup'] if cleanup else ['setup']`.","root_cause":"The cleanup-before-rerun client decision evaluates `['setup','cleanup'] if cleanup else ['setup']` instead of `['cleanup','setup'] if cleanup else ['setup']`.","sha256":"88fd51f0577f780cdeb84f235a2865dc14c933d9f542ca01f21e8e61b7faabdd","title":"Component effect lifecycle: Cleanup before rerun · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.86,"exit_code":1,"observations":[{"actual":true,"check":"dependency-shape-comparison scenario 1","expected":true,"passed":true},{"actual":false,"check":"dependency-shape-comparison scenario 2","expected":false,"passed":true},{"actual":false,"check":"dependency-shape-comparison scenario 3","expected":false,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 4","expected":true,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 5","expected":true,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 6","expected":true,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 1","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 2","expected":false,"passed":true},{"actual":true,"check":"unmount-cleanup scenario 3","expected":true,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 4","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 5","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 6","expected":false,"passed":true},{"actual":false,"check":"initial-effect-run scenario 1","expected":false,"passed":true},{"actual":true,"check":"initial-effect-run scenario 2","expected":true,"passed":true},{"actual":false,"check":"initial-effect-run scenario 3","expected":false,"passed":true},{"actual":false,"check":"initial-effect-run scenario 4","expected":false,"passed":true},{"actual":true,"check":"initial-effect-run scenario 5","expected":true,"passed":true},{"actual":false,"check":"initial-effect-run scenario 6","expected":false,"passed":true},{"actual":["cleanup"],"check":"cleanup-before-rerun scenario 1","expected":["cleanup","setup"],"passed":false},{"actual":["setup"],"check":"cleanup-before-rerun scenario 2","expected":["setup"],"passed":true},{"actual":["cleanup"],"check":"cleanup-before-rerun scenario 3","expected":["cleanup","setup"],"passed":false},{"actual":["cleanup"],"check":"cleanup-before-rerun scenario 4","expected":["cleanup","setup"],"passed":false},{"actual":["setup"],"check":"cleanup-before-rerun scenario 5","expected":["setup"],"passed":true},{"actual":["cleanup"],"check":"cleanup-before-rerun scenario 6","expected":["cleanup","setup"],"passed":false},{"actual":true,"check":"completion-owner-check scenario 1","expected":true,"passed":true},{"actual":true,"check":"completion-owner-check scenario 2","expected":true,"passed":true},{"actual":false,"check":"completion-owner-check scenario 3","expected":false,"passed":true},{"actual":false,"check":"completion-owner-check scenario 4","expected":false,"passed":true},{"actual":true,"check":"completion-owner-check scenario 5","expected":true,"passed":true},{"actual":true,"check":"completion-owner-check scenario 6","expected":true,"passed":true},{"actual":[1,2],"check":"dependency-snapshot-copy scenario 1","expected":[1,2],"passed":true},{"actual":[],"check":"dependency-snapshot-copy scenario 2","expected":[],"passed":true},{"actual":[1],"check":"dependency-snapshot-copy scenario 3","expected":[1],"passed":true},{"actual":[0],"check":"dependency-snapshot-copy scenario 4","expected":[0],"passed":true},{"actual":[null],"check":"dependency-snapshot-copy scenario 5","expected":[null],"passed":true},{"actual":[1,2],"check":"dependency-snapshot-copy scenario 6","expected":[1,2],"passed":true},{"actual":3,"check":"generation-increment scenario 1","expected":3,"passed":true},{"actual":1,"check":"generation-increment scenario 2","expected":1,"passed":true},{"actual":2,"check":"generation-increment scenario 3","expected":2,"passed":true},{"actual":4,"check":"generation-increment scenario 4","expected":4,"passed":true},{"actual":1,"check":"generation-increment scenario 5","expected":1,"passed":true},{"actual":2,"check":"generation-increment scenario 6","expected":2,"passed":true},{"actual":"setup","check":"setup-after-unmount scenario 1","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 2","expected":"setup","passed":true},{"actual":"skip","check":"setup-after-unmount scenario 3","expected":"skip","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 4","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 5","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 6","expected":"setup","passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 1","expected":true,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 2","expected":false,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 3","expected":false,"passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 4","expected":true,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 5","expected":false,"passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 6","expected":true,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 1","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 2","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 3","expected":false,"passed":true},{"actual":true,"check":"owner-change-invalidates scenario 4","expected":true,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 5","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 6","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"dependency-shape-comparison scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 3\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"initial-effect-run scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"initial-effect-run scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 1\", \"actual\": [\"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"cleanup-before-rerun scenario 2\", \"actual\": [\"setup\"], \"expected\": [\"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 3\", \"actual\": [\"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"cleanup-before-rerun scenario 4\", \"actual\": [\"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"cleanup-before-rerun scenario 5\", \"actual\": [\"setup\"], \"expected\": [\"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 6\", \"actual\": [\"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"completion-owner-check scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"completion-owner-check scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"completion-owner-check scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 1\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 3\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 4\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 5\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 6\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"generation-increment scenario 1\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"generation-increment scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"generation-increment scenario 3\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"generation-increment scenario 4\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"generation-increment scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"generation-increment scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"setup-after-unmount scenario 1\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 2\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 3\", \"actual\": \"skip\", \"expected\": \"skip\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 4\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 5\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 6\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":40.59,"exit_code":1,"observations":[{"actual":true,"check":"dependency-shape-comparison scenario 1","expected":true,"passed":true},{"actual":false,"check":"dependency-shape-comparison scenario 2","expected":false,"passed":true},{"actual":false,"check":"dependency-shape-comparison scenario 3","expected":false,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 4","expected":true,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 5","expected":true,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 6","expected":true,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 1","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 2","expected":false,"passed":true},{"actual":true,"check":"unmount-cleanup scenario 3","expected":true,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 4","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 5","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 6","expected":false,"passed":true},{"actual":false,"check":"initial-effect-run scenario 1","expected":false,"passed":true},{"actual":true,"check":"initial-effect-run scenario 2","expected":true,"passed":true},{"actual":false,"check":"initial-effect-run scenario 3","expected":false,"passed":true},{"actual":false,"check":"initial-effect-run scenario 4","expected":false,"passed":true},{"actual":true,"check":"initial-effect-run scenario 5","expected":true,"passed":true},{"actual":false,"check":"initial-effect-run scenario 6","expected":false,"passed":true},{"actual":["setup","cleanup"],"check":"cleanup-before-rerun scenario 1","expected":["cleanup","setup"],"passed":false},{"actual":["setup"],"check":"cleanup-before-rerun scenario 2","expected":["setup"],"passed":true},{"actual":["setup","cleanup"],"check":"cleanup-before-rerun scenario 3","expected":["cleanup","setup"],"passed":false},{"actual":["setup","cleanup"],"check":"cleanup-before-rerun scenario 4","expected":["cleanup","setup"],"passed":false},{"actual":["setup"],"check":"cleanup-before-rerun scenario 5","expected":["setup"],"passed":true},{"actual":["setup","cleanup"],"check":"cleanup-before-rerun scenario 6","expected":["cleanup","setup"],"passed":false},{"actual":true,"check":"completion-owner-check scenario 1","expected":true,"passed":true},{"actual":true,"check":"completion-owner-check scenario 2","expected":true,"passed":true},{"actual":false,"check":"completion-owner-check scenario 3","expected":false,"passed":true},{"actual":false,"check":"completion-owner-check scenario 4","expected":false,"passed":true},{"actual":true,"check":"completion-owner-check scenario 5","expected":true,"passed":true},{"actual":true,"check":"completion-owner-check scenario 6","expected":true,"passed":true},{"actual":[1,2],"check":"dependency-snapshot-copy scenario 1","expected":[1,2],"passed":true},{"actual":[],"check":"dependency-snapshot-copy scenario 2","expected":[],"passed":true},{"actual":[1],"check":"dependency-snapshot-copy scenario 3","expected":[1],"passed":true},{"actual":[0],"check":"dependency-snapshot-copy scenario 4","expected":[0],"passed":true},{"actual":[null],"check":"dependency-snapshot-copy scenario 5","expected":[null],"passed":true},{"actual":[1,2],"check":"dependency-snapshot-copy scenario 6","expected":[1,2],"passed":true},{"actual":3,"check":"generation-increment scenario 1","expected":3,"passed":true},{"actual":1,"check":"generation-increment scenario 2","expected":1,"passed":true},{"actual":2,"check":"generation-increment scenario 3","expected":2,"passed":true},{"actual":4,"check":"generation-increment scenario 4","expected":4,"passed":true},{"actual":1,"check":"generation-increment scenario 5","expected":1,"passed":true},{"actual":2,"check":"generation-increment scenario 6","expected":2,"passed":true},{"actual":"setup","check":"setup-after-unmount scenario 1","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 2","expected":"setup","passed":true},{"actual":"skip","check":"setup-after-unmount scenario 3","expected":"skip","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 4","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 5","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 6","expected":"setup","passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 1","expected":true,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 2","expected":false,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 3","expected":false,"passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 4","expected":true,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 5","expected":false,"passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 6","expected":true,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 1","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 2","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 3","expected":false,"passed":true},{"actual":true,"check":"owner-change-invalidates scenario 4","expected":true,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 5","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 6","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"dependency-shape-comparison scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 3\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"initial-effect-run scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"initial-effect-run scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 1\", \"actual\": [\"setup\", \"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"cleanup-before-rerun scenario 2\", \"actual\": [\"setup\"], \"expected\": [\"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 3\", \"actual\": [\"setup\", \"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"cleanup-before-rerun scenario 4\", \"actual\": [\"setup\", \"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"cleanup-before-rerun scenario 5\", \"actual\": [\"setup\"], \"expected\": [\"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 6\", \"actual\": [\"setup\", \"cleanup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": false}, {\"check\": \"completion-owner-check scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"completion-owner-check scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"completion-owner-check scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 1\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 3\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 4\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 5\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 6\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"generation-increment scenario 1\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"generation-increment scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"generation-increment scenario 3\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"generation-increment scenario 4\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"generation-increment scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"generation-increment scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"setup-after-unmount scenario 1\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 2\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 3\", \"actual\": \"skip\", \"expected\": \"skip\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 4\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 5\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 6\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":42.595,"exit_code":0,"observations":[{"actual":true,"check":"dependency-shape-comparison scenario 1","expected":true,"passed":true},{"actual":false,"check":"dependency-shape-comparison scenario 2","expected":false,"passed":true},{"actual":false,"check":"dependency-shape-comparison scenario 3","expected":false,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 4","expected":true,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 5","expected":true,"passed":true},{"actual":true,"check":"dependency-shape-comparison scenario 6","expected":true,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 1","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 2","expected":false,"passed":true},{"actual":true,"check":"unmount-cleanup scenario 3","expected":true,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 4","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 5","expected":false,"passed":true},{"actual":false,"check":"unmount-cleanup scenario 6","expected":false,"passed":true},{"actual":false,"check":"initial-effect-run scenario 1","expected":false,"passed":true},{"actual":true,"check":"initial-effect-run scenario 2","expected":true,"passed":true},{"actual":false,"check":"initial-effect-run scenario 3","expected":false,"passed":true},{"actual":false,"check":"initial-effect-run scenario 4","expected":false,"passed":true},{"actual":true,"check":"initial-effect-run scenario 5","expected":true,"passed":true},{"actual":false,"check":"initial-effect-run scenario 6","expected":false,"passed":true},{"actual":["cleanup","setup"],"check":"cleanup-before-rerun scenario 1","expected":["cleanup","setup"],"passed":true},{"actual":["setup"],"check":"cleanup-before-rerun scenario 2","expected":["setup"],"passed":true},{"actual":["cleanup","setup"],"check":"cleanup-before-rerun scenario 3","expected":["cleanup","setup"],"passed":true},{"actual":["cleanup","setup"],"check":"cleanup-before-rerun scenario 4","expected":["cleanup","setup"],"passed":true},{"actual":["setup"],"check":"cleanup-before-rerun scenario 5","expected":["setup"],"passed":true},{"actual":["cleanup","setup"],"check":"cleanup-before-rerun scenario 6","expected":["cleanup","setup"],"passed":true},{"actual":true,"check":"completion-owner-check scenario 1","expected":true,"passed":true},{"actual":true,"check":"completion-owner-check scenario 2","expected":true,"passed":true},{"actual":false,"check":"completion-owner-check scenario 3","expected":false,"passed":true},{"actual":false,"check":"completion-owner-check scenario 4","expected":false,"passed":true},{"actual":true,"check":"completion-owner-check scenario 5","expected":true,"passed":true},{"actual":true,"check":"completion-owner-check scenario 6","expected":true,"passed":true},{"actual":[1,2],"check":"dependency-snapshot-copy scenario 1","expected":[1,2],"passed":true},{"actual":[],"check":"dependency-snapshot-copy scenario 2","expected":[],"passed":true},{"actual":[1],"check":"dependency-snapshot-copy scenario 3","expected":[1],"passed":true},{"actual":[0],"check":"dependency-snapshot-copy scenario 4","expected":[0],"passed":true},{"actual":[null],"check":"dependency-snapshot-copy scenario 5","expected":[null],"passed":true},{"actual":[1,2],"check":"dependency-snapshot-copy scenario 6","expected":[1,2],"passed":true},{"actual":3,"check":"generation-increment scenario 1","expected":3,"passed":true},{"actual":1,"check":"generation-increment scenario 2","expected":1,"passed":true},{"actual":2,"check":"generation-increment scenario 3","expected":2,"passed":true},{"actual":4,"check":"generation-increment scenario 4","expected":4,"passed":true},{"actual":1,"check":"generation-increment scenario 5","expected":1,"passed":true},{"actual":2,"check":"generation-increment scenario 6","expected":2,"passed":true},{"actual":"setup","check":"setup-after-unmount scenario 1","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 2","expected":"setup","passed":true},{"actual":"skip","check":"setup-after-unmount scenario 3","expected":"skip","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 4","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 5","expected":"setup","passed":true},{"actual":"setup","check":"setup-after-unmount scenario 6","expected":"setup","passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 1","expected":true,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 2","expected":false,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 3","expected":false,"passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 4","expected":true,"passed":true},{"actual":false,"check":"cleanup-registration-retained scenario 5","expected":false,"passed":true},{"actual":true,"check":"cleanup-registration-retained scenario 6","expected":true,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 1","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 2","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 3","expected":false,"passed":true},{"actual":true,"check":"owner-change-invalidates scenario 4","expected":true,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 5","expected":false,"passed":true},{"actual":false,"check":"owner-change-invalidates scenario 6","expected":false,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"dependency-shape-comparison scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-shape-comparison scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 3\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unmount-cleanup scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"initial-effect-run scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"initial-effect-run scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"initial-effect-run scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 1\", \"actual\": [\"cleanup\", \"setup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 2\", \"actual\": [\"setup\"], \"expected\": [\"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 3\", \"actual\": [\"cleanup\", \"setup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 4\", \"actual\": [\"cleanup\", \"setup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 5\", \"actual\": [\"setup\"], \"expected\": [\"setup\"], \"passed\": true}, {\"check\": \"cleanup-before-rerun scenario 6\", \"actual\": [\"cleanup\", \"setup\"], \"expected\": [\"cleanup\", \"setup\"], \"passed\": true}, {\"check\": \"completion-owner-check scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"completion-owner-check scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"completion-owner-check scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"completion-owner-check scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 1\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 3\", \"actual\": [1], \"expected\": [1], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 4\", \"actual\": [0], \"expected\": [0], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 5\", \"actual\": [null], \"expected\": [null], \"passed\": true}, {\"check\": \"dependency-snapshot-copy scenario 6\", \"actual\": [1, 2], \"expected\": [1, 2], \"passed\": true}, {\"check\": \"generation-increment scenario 1\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"generation-increment scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"generation-increment scenario 3\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"generation-increment scenario 4\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"generation-increment scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"generation-increment scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"setup-after-unmount scenario 1\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 2\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 3\", \"actual\": \"skip\", \"expected\": \"skip\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 4\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 5\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"setup-after-unmount scenario 6\", \"actual\": \"setup\", \"expected\": \"setup\", \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"cleanup-registration-retained scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"owner-change-invalidates scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}