{"abstract":"Commit tearing recheck.","category":"Client state","checks":60,"contract":"A render snapshot is rechecked at commit to detect intervening store writes. Selectors compare both scalar type and value. Server/client snapshots are separate and null differs from false, zero, or empty containers. Operation commit-tearing-recheck has the six explicit input/output oracles below.","evaluation_group":"s3-client-state-external-store","failed_approach":"The partial repair `commit_version-render_version>1` still violates the explicit fixture contract.","family":"s3-client-state-external-store-commit-tearing-recheck","id":"FA-23956","implementations":{"attempt":{"sha256":"3901a9108dee48f3381690c1af1e2950f5324b1116fda694d15e8314341321bb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    render_version, commit_version, selected, previous, server, browser, subscribing = s\n    if operation == 'commit-tearing-recheck':\n        return commit_version-render_version>1\n    if operation == 'selector-type-equality':\n        return type(selected)==type(previous) and selected==previous\n    if operation == 'server-snapshot-selection':\n        return server\n    if operation == 'browser-snapshot-selection':\n        return browser\n    if operation == 'snapshot-version-pair':\n        return (commit_version,selected)\n    if operation == 'subscription-install-read':\n        return 'subscribe-then-read' if subscribing else 'read-only'\n    if operation == 'stale-render-retry':\n        return 'retry' if render_version!=commit_version else 'commit'\n    if operation == 'selector-empty-value-retention':\n        return selected if selected is not None else previous\n    if operation == 'notify-selected-change':\n        return type(selected)!=type(previous) or selected!=previous\n    if operation == 'snapshot-null-initialization':\n        return selected is None\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('commit-tearing-recheck scenario 1', solve('commit-tearing-recheck', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), True)\ncheck('commit-tearing-recheck scenario 2', solve('commit-tearing-recheck', (1,1,0,False,None,'client',True)), False)\ncheck('commit-tearing-recheck scenario 3', solve('commit-tearing-recheck', (2,2,[],[],0,1,False)), False)\ncheck('commit-tearing-recheck scenario 4', solve('commit-tearing-recheck', (1,3,None,'old','server',None,True)), True)\ncheck('commit-tearing-recheck scenario 5', solve('commit-tearing-recheck', (0,0,'a','b','','client',False)), False)\ncheck('commit-tearing-recheck scenario 6', solve('commit-tearing-recheck', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('selector-type-equality scenario 1', solve('selector-type-equality', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), True)\ncheck('selector-type-equality scenario 2', solve('selector-type-equality', (1,1,0,False,None,'client',True)), False)\ncheck('selector-type-equality scenario 3', solve('selector-type-equality', (2,2,[],[],0,1,False)), True)\ncheck('selector-type-equality scenario 4', solve('selector-type-equality', (1,3,None,'old','server',None,True)), False)\ncheck('selector-type-equality scenario 5', solve('selector-type-equality', (0,0,'a','b','','client',False)), False)\ncheck('selector-type-equality scenario 6', solve('selector-type-equality', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('server-snapshot-selection scenario 1', solve('server-snapshot-selection', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'ssr')\ncheck('server-snapshot-selection scenario 2', solve('server-snapshot-selection', (1,1,0,False,None,'client',True)), None)\ncheck('server-snapshot-selection scenario 3', solve('server-snapshot-selection', (2,2,[],[],0,1,False)), 0)\ncheck('server-snapshot-selection scenario 4', solve('server-snapshot-selection', (1,3,None,'old','server',None,True)), 'server')\ncheck('server-snapshot-selection scenario 5', solve('server-snapshot-selection', (0,0,'a','b','','client',False)), '')\ncheck('server-snapshot-selection scenario 6', solve('server-snapshot-selection', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('browser-snapshot-selection scenario 1', solve('browser-snapshot-selection', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'client')\ncheck('browser-snapshot-selection scenario 2', solve('browser-snapshot-selection', (1,1,0,False,None,'client',True)), 'client')\ncheck('browser-snapshot-selection scenario 3', solve('browser-snapshot-selection', (2,2,[],[],0,1,False)), 1)\ncheck('browser-snapshot-selection scenario 4', solve('browser-snapshot-selection', (1,3,None,'old','server',None,True)), None)\ncheck('browser-snapshot-selection scenario 5', solve('browser-snapshot-selection', (0,0,'a','b','','client',False)), 'client')\ncheck('browser-snapshot-selection scenario 6', solve('browser-snapshot-selection', (4,4,{'x':2},{'x':1},False,True,True)), True)\ncheck('snapshot-version-pair scenario 1', solve('snapshot-version-pair', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), (N+1,{'x':1}))\ncheck('snapshot-version-pair scenario 2', solve('snapshot-version-pair', (1,1,0,False,None,'client',True)), (1,0))\ncheck('snapshot-version-pair scenario 3', solve('snapshot-version-pair', (2,2,[],[],0,1,False)), (2,[]))\ncheck('snapshot-version-pair scenario 4', solve('snapshot-version-pair', (1,3,None,'old','server',None,True)), (3,None))\ncheck('snapshot-version-pair scenario 5', solve('snapshot-version-pair', (0,0,'a','b','','client',False)), (0,'a'))\ncheck('snapshot-version-pair scenario 6', solve('snapshot-version-pair', (4,4,{'x':2},{'x':1},False,True,True)), (4,{'x':2}))\ncheck('subscription-install-read scenario 1', solve('subscription-install-read', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 2', solve('subscription-install-read', (1,1,0,False,None,'client',True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 3', solve('subscription-install-read', (2,2,[],[],0,1,False)), 'read-only')\ncheck('subscription-install-read scenario 4', solve('subscription-install-read', (1,3,None,'old','server',None,True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 5', solve('subscription-install-read', (0,0,'a','b','','client',False)), 'read-only')\ncheck('subscription-install-read scenario 6', solve('subscription-install-read', (4,4,{'x':2},{'x':1},False,True,True)), 'subscribe-then-read')\ncheck('stale-render-retry scenario 1', solve('stale-render-retry', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'retry')\ncheck('stale-render-retry scenario 2', solve('stale-render-retry', (1,1,0,False,None,'client',True)), 'commit')\ncheck('stale-render-retry scenario 3', solve('stale-render-retry', (2,2,[],[],0,1,False)), 'commit')\ncheck('stale-render-retry scenario 4', solve('stale-render-retry', (1,3,None,'old','server',None,True)), 'retry')\ncheck('stale-render-retry scenario 5', solve('stale-render-retry', (0,0,'a','b','','client',False)), 'commit')\ncheck('stale-render-retry scenario 6', solve('stale-render-retry', (4,4,{'x':2},{'x':1},False,True,True)), 'commit')\ncheck('selector-empty-value-retention scenario 1', solve('selector-empty-value-retention', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), {'x':1})\ncheck('selector-empty-value-retention scenario 2', solve('selector-empty-value-retention', (1,1,0,False,None,'client',True)), 0)\ncheck('selector-empty-value-retention scenario 3', solve('selector-empty-value-retention', (2,2,[],[],0,1,False)), [])\ncheck('selector-empty-value-retention scenario 4', solve('selector-empty-value-retention', (1,3,None,'old','server',None,True)), 'old')\ncheck('selector-empty-value-retention scenario 5', solve('selector-empty-value-retention', (0,0,'a','b','','client',False)), 'a')\ncheck('selector-empty-value-retention scenario 6', solve('selector-empty-value-retention', (4,4,{'x':2},{'x':1},False,True,True)), {'x':2})\ncheck('notify-selected-change scenario 1', solve('notify-selected-change', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), False)\ncheck('notify-selected-change scenario 2', solve('notify-selected-change', (1,1,0,False,None,'client',True)), True)\ncheck('notify-selected-change scenario 3', solve('notify-selected-change', (2,2,[],[],0,1,False)), False)\ncheck('notify-selected-change scenario 4', solve('notify-selected-change', (1,3,None,'old','server',None,True)), True)\ncheck('notify-selected-change scenario 5', solve('notify-selected-change', (0,0,'a','b','','client',False)), True)\ncheck('notify-selected-change scenario 6', solve('notify-selected-change', (4,4,{'x':2},{'x':1},False,True,True)), True)\ncheck('snapshot-null-initialization scenario 1', solve('snapshot-null-initialization', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), False)\ncheck('snapshot-null-initialization scenario 2', solve('snapshot-null-initialization', (1,1,0,False,None,'client',True)), False)\ncheck('snapshot-null-initialization scenario 3', solve('snapshot-null-initialization', (2,2,[],[],0,1,False)), False)\ncheck('snapshot-null-initialization scenario 4', solve('snapshot-null-initialization', (1,3,None,'old','server',None,True)), True)\ncheck('snapshot-null-initialization scenario 5', solve('snapshot-null-initialization', (0,0,'a','b','','client',False)), False)\ncheck('snapshot-null-initialization scenario 6', solve('snapshot-null-initialization', (4,4,{'x':2},{'x':1},False,True,True)), 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":"0882dadb13537129401142f6fb58150c28233bb661772ff06e984a5cbf719244","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    render_version, commit_version, selected, previous, server, browser, subscribing = s\n    if operation == 'commit-tearing-recheck':\n        return False\n    if operation == 'selector-type-equality':\n        return type(selected)==type(previous) and selected==previous\n    if operation == 'server-snapshot-selection':\n        return server\n    if operation == 'browser-snapshot-selection':\n        return browser\n    if operation == 'snapshot-version-pair':\n        return (commit_version,selected)\n    if operation == 'subscription-install-read':\n        return 'subscribe-then-read' if subscribing else 'read-only'\n    if operation == 'stale-render-retry':\n        return 'retry' if render_version!=commit_version else 'commit'\n    if operation == 'selector-empty-value-retention':\n        return selected if selected is not None else previous\n    if operation == 'notify-selected-change':\n        return type(selected)!=type(previous) or selected!=previous\n    if operation == 'snapshot-null-initialization':\n        return selected is None\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('commit-tearing-recheck scenario 1', solve('commit-tearing-recheck', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), True)\ncheck('commit-tearing-recheck scenario 2', solve('commit-tearing-recheck', (1,1,0,False,None,'client',True)), False)\ncheck('commit-tearing-recheck scenario 3', solve('commit-tearing-recheck', (2,2,[],[],0,1,False)), False)\ncheck('commit-tearing-recheck scenario 4', solve('commit-tearing-recheck', (1,3,None,'old','server',None,True)), True)\ncheck('commit-tearing-recheck scenario 5', solve('commit-tearing-recheck', (0,0,'a','b','','client',False)), False)\ncheck('commit-tearing-recheck scenario 6', solve('commit-tearing-recheck', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('selector-type-equality scenario 1', solve('selector-type-equality', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), True)\ncheck('selector-type-equality scenario 2', solve('selector-type-equality', (1,1,0,False,None,'client',True)), False)\ncheck('selector-type-equality scenario 3', solve('selector-type-equality', (2,2,[],[],0,1,False)), True)\ncheck('selector-type-equality scenario 4', solve('selector-type-equality', (1,3,None,'old','server',None,True)), False)\ncheck('selector-type-equality scenario 5', solve('selector-type-equality', (0,0,'a','b','','client',False)), False)\ncheck('selector-type-equality scenario 6', solve('selector-type-equality', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('server-snapshot-selection scenario 1', solve('server-snapshot-selection', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'ssr')\ncheck('server-snapshot-selection scenario 2', solve('server-snapshot-selection', (1,1,0,False,None,'client',True)), None)\ncheck('server-snapshot-selection scenario 3', solve('server-snapshot-selection', (2,2,[],[],0,1,False)), 0)\ncheck('server-snapshot-selection scenario 4', solve('server-snapshot-selection', (1,3,None,'old','server',None,True)), 'server')\ncheck('server-snapshot-selection scenario 5', solve('server-snapshot-selection', (0,0,'a','b','','client',False)), '')\ncheck('server-snapshot-selection scenario 6', solve('server-snapshot-selection', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('browser-snapshot-selection scenario 1', solve('browser-snapshot-selection', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'client')\ncheck('browser-snapshot-selection scenario 2', solve('browser-snapshot-selection', (1,1,0,False,None,'client',True)), 'client')\ncheck('browser-snapshot-selection scenario 3', solve('browser-snapshot-selection', (2,2,[],[],0,1,False)), 1)\ncheck('browser-snapshot-selection scenario 4', solve('browser-snapshot-selection', (1,3,None,'old','server',None,True)), None)\ncheck('browser-snapshot-selection scenario 5', solve('browser-snapshot-selection', (0,0,'a','b','','client',False)), 'client')\ncheck('browser-snapshot-selection scenario 6', solve('browser-snapshot-selection', (4,4,{'x':2},{'x':1},False,True,True)), True)\ncheck('snapshot-version-pair scenario 1', solve('snapshot-version-pair', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), (N+1,{'x':1}))\ncheck('snapshot-version-pair scenario 2', solve('snapshot-version-pair', (1,1,0,False,None,'client',True)), (1,0))\ncheck('snapshot-version-pair scenario 3', solve('snapshot-version-pair', (2,2,[],[],0,1,False)), (2,[]))\ncheck('snapshot-version-pair scenario 4', solve('snapshot-version-pair', (1,3,None,'old','server',None,True)), (3,None))\ncheck('snapshot-version-pair scenario 5', solve('snapshot-version-pair', (0,0,'a','b','','client',False)), (0,'a'))\ncheck('snapshot-version-pair scenario 6', solve('snapshot-version-pair', (4,4,{'x':2},{'x':1},False,True,True)), (4,{'x':2}))\ncheck('subscription-install-read scenario 1', solve('subscription-install-read', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 2', solve('subscription-install-read', (1,1,0,False,None,'client',True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 3', solve('subscription-install-read', (2,2,[],[],0,1,False)), 'read-only')\ncheck('subscription-install-read scenario 4', solve('subscription-install-read', (1,3,None,'old','server',None,True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 5', solve('subscription-install-read', (0,0,'a','b','','client',False)), 'read-only')\ncheck('subscription-install-read scenario 6', solve('subscription-install-read', (4,4,{'x':2},{'x':1},False,True,True)), 'subscribe-then-read')\ncheck('stale-render-retry scenario 1', solve('stale-render-retry', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'retry')\ncheck('stale-render-retry scenario 2', solve('stale-render-retry', (1,1,0,False,None,'client',True)), 'commit')\ncheck('stale-render-retry scenario 3', solve('stale-render-retry', (2,2,[],[],0,1,False)), 'commit')\ncheck('stale-render-retry scenario 4', solve('stale-render-retry', (1,3,None,'old','server',None,True)), 'retry')\ncheck('stale-render-retry scenario 5', solve('stale-render-retry', (0,0,'a','b','','client',False)), 'commit')\ncheck('stale-render-retry scenario 6', solve('stale-render-retry', (4,4,{'x':2},{'x':1},False,True,True)), 'commit')\ncheck('selector-empty-value-retention scenario 1', solve('selector-empty-value-retention', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), {'x':1})\ncheck('selector-empty-value-retention scenario 2', solve('selector-empty-value-retention', (1,1,0,False,None,'client',True)), 0)\ncheck('selector-empty-value-retention scenario 3', solve('selector-empty-value-retention', (2,2,[],[],0,1,False)), [])\ncheck('selector-empty-value-retention scenario 4', solve('selector-empty-value-retention', (1,3,None,'old','server',None,True)), 'old')\ncheck('selector-empty-value-retention scenario 5', solve('selector-empty-value-retention', (0,0,'a','b','','client',False)), 'a')\ncheck('selector-empty-value-retention scenario 6', solve('selector-empty-value-retention', (4,4,{'x':2},{'x':1},False,True,True)), {'x':2})\ncheck('notify-selected-change scenario 1', solve('notify-selected-change', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), False)\ncheck('notify-selected-change scenario 2', solve('notify-selected-change', (1,1,0,False,None,'client',True)), True)\ncheck('notify-selected-change scenario 3', solve('notify-selected-change', (2,2,[],[],0,1,False)), False)\ncheck('notify-selected-change scenario 4', solve('notify-selected-change', (1,3,None,'old','server',None,True)), True)\ncheck('notify-selected-change scenario 5', solve('notify-selected-change', (0,0,'a','b','','client',False)), True)\ncheck('notify-selected-change scenario 6', solve('notify-selected-change', (4,4,{'x':2},{'x':1},False,True,True)), True)\ncheck('snapshot-null-initialization scenario 1', solve('snapshot-null-initialization', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), False)\ncheck('snapshot-null-initialization scenario 2', solve('snapshot-null-initialization', (1,1,0,False,None,'client',True)), False)\ncheck('snapshot-null-initialization scenario 3', solve('snapshot-null-initialization', (2,2,[],[],0,1,False)), False)\ncheck('snapshot-null-initialization scenario 4', solve('snapshot-null-initialization', (1,3,None,'old','server',None,True)), True)\ncheck('snapshot-null-initialization scenario 5', solve('snapshot-null-initialization', (0,0,'a','b','','client',False)), False)\ncheck('snapshot-null-initialization scenario 6', solve('snapshot-null-initialization', (4,4,{'x':2},{'x':1},False,True,True)), 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":"28200e4faa940dd113203cc1eadec63626de5696dfa0e18b0cbca35286b29643","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    render_version, commit_version, selected, previous, server, browser, subscribing = s\n    if operation == 'commit-tearing-recheck':\n        return render_version!=commit_version\n    if operation == 'selector-type-equality':\n        return type(selected)==type(previous) and selected==previous\n    if operation == 'server-snapshot-selection':\n        return server\n    if operation == 'browser-snapshot-selection':\n        return browser\n    if operation == 'snapshot-version-pair':\n        return (commit_version,selected)\n    if operation == 'subscription-install-read':\n        return 'subscribe-then-read' if subscribing else 'read-only'\n    if operation == 'stale-render-retry':\n        return 'retry' if render_version!=commit_version else 'commit'\n    if operation == 'selector-empty-value-retention':\n        return selected if selected is not None else previous\n    if operation == 'notify-selected-change':\n        return type(selected)!=type(previous) or selected!=previous\n    if operation == 'snapshot-null-initialization':\n        return selected is None\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('commit-tearing-recheck scenario 1', solve('commit-tearing-recheck', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), True)\ncheck('commit-tearing-recheck scenario 2', solve('commit-tearing-recheck', (1,1,0,False,None,'client',True)), False)\ncheck('commit-tearing-recheck scenario 3', solve('commit-tearing-recheck', (2,2,[],[],0,1,False)), False)\ncheck('commit-tearing-recheck scenario 4', solve('commit-tearing-recheck', (1,3,None,'old','server',None,True)), True)\ncheck('commit-tearing-recheck scenario 5', solve('commit-tearing-recheck', (0,0,'a','b','','client',False)), False)\ncheck('commit-tearing-recheck scenario 6', solve('commit-tearing-recheck', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('selector-type-equality scenario 1', solve('selector-type-equality', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), True)\ncheck('selector-type-equality scenario 2', solve('selector-type-equality', (1,1,0,False,None,'client',True)), False)\ncheck('selector-type-equality scenario 3', solve('selector-type-equality', (2,2,[],[],0,1,False)), True)\ncheck('selector-type-equality scenario 4', solve('selector-type-equality', (1,3,None,'old','server',None,True)), False)\ncheck('selector-type-equality scenario 5', solve('selector-type-equality', (0,0,'a','b','','client',False)), False)\ncheck('selector-type-equality scenario 6', solve('selector-type-equality', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('server-snapshot-selection scenario 1', solve('server-snapshot-selection', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'ssr')\ncheck('server-snapshot-selection scenario 2', solve('server-snapshot-selection', (1,1,0,False,None,'client',True)), None)\ncheck('server-snapshot-selection scenario 3', solve('server-snapshot-selection', (2,2,[],[],0,1,False)), 0)\ncheck('server-snapshot-selection scenario 4', solve('server-snapshot-selection', (1,3,None,'old','server',None,True)), 'server')\ncheck('server-snapshot-selection scenario 5', solve('server-snapshot-selection', (0,0,'a','b','','client',False)), '')\ncheck('server-snapshot-selection scenario 6', solve('server-snapshot-selection', (4,4,{'x':2},{'x':1},False,True,True)), False)\ncheck('browser-snapshot-selection scenario 1', solve('browser-snapshot-selection', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'client')\ncheck('browser-snapshot-selection scenario 2', solve('browser-snapshot-selection', (1,1,0,False,None,'client',True)), 'client')\ncheck('browser-snapshot-selection scenario 3', solve('browser-snapshot-selection', (2,2,[],[],0,1,False)), 1)\ncheck('browser-snapshot-selection scenario 4', solve('browser-snapshot-selection', (1,3,None,'old','server',None,True)), None)\ncheck('browser-snapshot-selection scenario 5', solve('browser-snapshot-selection', (0,0,'a','b','','client',False)), 'client')\ncheck('browser-snapshot-selection scenario 6', solve('browser-snapshot-selection', (4,4,{'x':2},{'x':1},False,True,True)), True)\ncheck('snapshot-version-pair scenario 1', solve('snapshot-version-pair', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), (N+1,{'x':1}))\ncheck('snapshot-version-pair scenario 2', solve('snapshot-version-pair', (1,1,0,False,None,'client',True)), (1,0))\ncheck('snapshot-version-pair scenario 3', solve('snapshot-version-pair', (2,2,[],[],0,1,False)), (2,[]))\ncheck('snapshot-version-pair scenario 4', solve('snapshot-version-pair', (1,3,None,'old','server',None,True)), (3,None))\ncheck('snapshot-version-pair scenario 5', solve('snapshot-version-pair', (0,0,'a','b','','client',False)), (0,'a'))\ncheck('snapshot-version-pair scenario 6', solve('snapshot-version-pair', (4,4,{'x':2},{'x':1},False,True,True)), (4,{'x':2}))\ncheck('subscription-install-read scenario 1', solve('subscription-install-read', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 2', solve('subscription-install-read', (1,1,0,False,None,'client',True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 3', solve('subscription-install-read', (2,2,[],[],0,1,False)), 'read-only')\ncheck('subscription-install-read scenario 4', solve('subscription-install-read', (1,3,None,'old','server',None,True)), 'subscribe-then-read')\ncheck('subscription-install-read scenario 5', solve('subscription-install-read', (0,0,'a','b','','client',False)), 'read-only')\ncheck('subscription-install-read scenario 6', solve('subscription-install-read', (4,4,{'x':2},{'x':1},False,True,True)), 'subscribe-then-read')\ncheck('stale-render-retry scenario 1', solve('stale-render-retry', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), 'retry')\ncheck('stale-render-retry scenario 2', solve('stale-render-retry', (1,1,0,False,None,'client',True)), 'commit')\ncheck('stale-render-retry scenario 3', solve('stale-render-retry', (2,2,[],[],0,1,False)), 'commit')\ncheck('stale-render-retry scenario 4', solve('stale-render-retry', (1,3,None,'old','server',None,True)), 'retry')\ncheck('stale-render-retry scenario 5', solve('stale-render-retry', (0,0,'a','b','','client',False)), 'commit')\ncheck('stale-render-retry scenario 6', solve('stale-render-retry', (4,4,{'x':2},{'x':1},False,True,True)), 'commit')\ncheck('selector-empty-value-retention scenario 1', solve('selector-empty-value-retention', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), {'x':1})\ncheck('selector-empty-value-retention scenario 2', solve('selector-empty-value-retention', (1,1,0,False,None,'client',True)), 0)\ncheck('selector-empty-value-retention scenario 3', solve('selector-empty-value-retention', (2,2,[],[],0,1,False)), [])\ncheck('selector-empty-value-retention scenario 4', solve('selector-empty-value-retention', (1,3,None,'old','server',None,True)), 'old')\ncheck('selector-empty-value-retention scenario 5', solve('selector-empty-value-retention', (0,0,'a','b','','client',False)), 'a')\ncheck('selector-empty-value-retention scenario 6', solve('selector-empty-value-retention', (4,4,{'x':2},{'x':1},False,True,True)), {'x':2})\ncheck('notify-selected-change scenario 1', solve('notify-selected-change', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), False)\ncheck('notify-selected-change scenario 2', solve('notify-selected-change', (1,1,0,False,None,'client',True)), True)\ncheck('notify-selected-change scenario 3', solve('notify-selected-change', (2,2,[],[],0,1,False)), False)\ncheck('notify-selected-change scenario 4', solve('notify-selected-change', (1,3,None,'old','server',None,True)), True)\ncheck('notify-selected-change scenario 5', solve('notify-selected-change', (0,0,'a','b','','client',False)), True)\ncheck('notify-selected-change scenario 6', solve('notify-selected-change', (4,4,{'x':2},{'x':1},False,True,True)), True)\ncheck('snapshot-null-initialization scenario 1', solve('snapshot-null-initialization', (N,N+1,{'x':1},{'x':1},'ssr','client',True)), False)\ncheck('snapshot-null-initialization scenario 2', solve('snapshot-null-initialization', (1,1,0,False,None,'client',True)), False)\ncheck('snapshot-null-initialization scenario 3', solve('snapshot-null-initialization', (2,2,[],[],0,1,False)), False)\ncheck('snapshot-null-initialization scenario 4', solve('snapshot-null-initialization', (1,3,None,'old','server',None,True)), True)\ncheck('snapshot-null-initialization scenario 5', solve('snapshot-null-initialization', (0,0,'a','b','','client',False)), False)\ncheck('snapshot-null-initialization scenario 6', solve('snapshot-null-initialization', (4,4,{'x':2},{'x':1},False,True,True)), 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-external-store-commit-tearing-recheck","generated_at":"2026-09-29T14:40:52.589663+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 commit-tearing-recheck rule: `render_version!=commit_version`.","root_cause":"The commit-tearing-recheck client decision evaluates `False` instead of `render_version!=commit_version`.","sha256":"bf9a043662973369581ab372fee22480a784159944c013fb9357a23dc0807014","title":"Render-consistent external-store snapshots: Commit tearing recheck · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":43.217,"exit_code":1,"observations":[{"actual":false,"check":"commit-tearing-recheck scenario 1","expected":true,"passed":false},{"actual":false,"check":"commit-tearing-recheck scenario 2","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 3","expected":false,"passed":true},{"actual":true,"check":"commit-tearing-recheck scenario 4","expected":true,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 5","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 6","expected":false,"passed":true},{"actual":true,"check":"selector-type-equality scenario 1","expected":true,"passed":true},{"actual":false,"check":"selector-type-equality scenario 2","expected":false,"passed":true},{"actual":true,"check":"selector-type-equality scenario 3","expected":true,"passed":true},{"actual":false,"check":"selector-type-equality scenario 4","expected":false,"passed":true},{"actual":false,"check":"selector-type-equality scenario 5","expected":false,"passed":true},{"actual":false,"check":"selector-type-equality scenario 6","expected":false,"passed":true},{"actual":"ssr","check":"server-snapshot-selection scenario 1","expected":"ssr","passed":true},{"actual":null,"check":"server-snapshot-selection scenario 2","expected":null,"passed":true},{"actual":0,"check":"server-snapshot-selection scenario 3","expected":0,"passed":true},{"actual":"server","check":"server-snapshot-selection scenario 4","expected":"server","passed":true},{"actual":"","check":"server-snapshot-selection scenario 5","expected":"","passed":true},{"actual":false,"check":"server-snapshot-selection scenario 6","expected":false,"passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 1","expected":"client","passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 2","expected":"client","passed":true},{"actual":1,"check":"browser-snapshot-selection scenario 3","expected":1,"passed":true},{"actual":null,"check":"browser-snapshot-selection scenario 4","expected":null,"passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 5","expected":"client","passed":true},{"actual":true,"check":"browser-snapshot-selection scenario 6","expected":true,"passed":true},{"actual":[2,{"x":1}],"check":"snapshot-version-pair scenario 1","expected":[2,{"x":1}],"passed":true},{"actual":[1,0],"check":"snapshot-version-pair scenario 2","expected":[1,0],"passed":true},{"actual":[2,[]],"check":"snapshot-version-pair scenario 3","expected":[2,[]],"passed":true},{"actual":[3,null],"check":"snapshot-version-pair scenario 4","expected":[3,null],"passed":true},{"actual":[0,"a"],"check":"snapshot-version-pair scenario 5","expected":[0,"a"],"passed":true},{"actual":[4,{"x":2}],"check":"snapshot-version-pair scenario 6","expected":[4,{"x":2}],"passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 1","expected":"subscribe-then-read","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 2","expected":"subscribe-then-read","passed":true},{"actual":"read-only","check":"subscription-install-read scenario 3","expected":"read-only","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 4","expected":"subscribe-then-read","passed":true},{"actual":"read-only","check":"subscription-install-read scenario 5","expected":"read-only","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 6","expected":"subscribe-then-read","passed":true},{"actual":"retry","check":"stale-render-retry scenario 1","expected":"retry","passed":true},{"actual":"commit","check":"stale-render-retry scenario 2","expected":"commit","passed":true},{"actual":"commit","check":"stale-render-retry scenario 3","expected":"commit","passed":true},{"actual":"retry","check":"stale-render-retry scenario 4","expected":"retry","passed":true},{"actual":"commit","check":"stale-render-retry scenario 5","expected":"commit","passed":true},{"actual":"commit","check":"stale-render-retry scenario 6","expected":"commit","passed":true},{"actual":{"x":1},"check":"selector-empty-value-retention scenario 1","expected":{"x":1},"passed":true},{"actual":0,"check":"selector-empty-value-retention scenario 2","expected":0,"passed":true},{"actual":[],"check":"selector-empty-value-retention scenario 3","expected":[],"passed":true},{"actual":"old","check":"selector-empty-value-retention scenario 4","expected":"old","passed":true},{"actual":"a","check":"selector-empty-value-retention scenario 5","expected":"a","passed":true},{"actual":{"x":2},"check":"selector-empty-value-retention scenario 6","expected":{"x":2},"passed":true},{"actual":false,"check":"notify-selected-change scenario 1","expected":false,"passed":true},{"actual":true,"check":"notify-selected-change scenario 2","expected":true,"passed":true},{"actual":false,"check":"notify-selected-change scenario 3","expected":false,"passed":true},{"actual":true,"check":"notify-selected-change scenario 4","expected":true,"passed":true},{"actual":true,"check":"notify-selected-change scenario 5","expected":true,"passed":true},{"actual":true,"check":"notify-selected-change scenario 6","expected":true,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 1","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 2","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 3","expected":false,"passed":true},{"actual":true,"check":"snapshot-null-initialization scenario 4","expected":true,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 5","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 6","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"commit-tearing-recheck scenario 1\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"commit-tearing-recheck scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"selector-type-equality scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 3\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"selector-type-equality scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 1\", \"actual\": \"ssr\", \"expected\": \"ssr\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 4\", \"actual\": \"server\", \"expected\": \"server\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 5\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 1\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 2\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 5\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 1\", \"actual\": [2, {\"x\": 1}], \"expected\": [2, {\"x\": 1}], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 2\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 3\", \"actual\": [2, []], \"expected\": [2, []], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 4\", \"actual\": [3, null], \"expected\": [3, null], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 5\", \"actual\": [0, \"a\"], \"expected\": [0, \"a\"], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 6\", \"actual\": [4, {\"x\": 2}], \"expected\": [4, {\"x\": 2}], \"passed\": true}, {\"check\": \"subscription-install-read scenario 1\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 2\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 3\", \"actual\": \"read-only\", \"expected\": \"read-only\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 4\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 5\", \"actual\": \"read-only\", \"expected\": \"read-only\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 6\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 1\", \"actual\": \"retry\", \"expected\": \"retry\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 2\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 3\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 4\", \"actual\": \"retry\", \"expected\": \"retry\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 5\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 6\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 1\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": 1}, \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 4\", \"actual\": \"old\", \"expected\": \"old\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 5\", \"actual\": \"a\", \"expected\": \"a\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 6\", \"actual\": {\"x\": 2}, \"expected\": {\"x\": 2}, \"passed\": true}, {\"check\": \"notify-selected-change scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"notify-selected-change scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"notify-selected-change scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.083,"exit_code":1,"observations":[{"actual":false,"check":"commit-tearing-recheck scenario 1","expected":true,"passed":false},{"actual":false,"check":"commit-tearing-recheck scenario 2","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 3","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 4","expected":true,"passed":false},{"actual":false,"check":"commit-tearing-recheck scenario 5","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 6","expected":false,"passed":true},{"actual":true,"check":"selector-type-equality scenario 1","expected":true,"passed":true},{"actual":false,"check":"selector-type-equality scenario 2","expected":false,"passed":true},{"actual":true,"check":"selector-type-equality scenario 3","expected":true,"passed":true},{"actual":false,"check":"selector-type-equality scenario 4","expected":false,"passed":true},{"actual":false,"check":"selector-type-equality scenario 5","expected":false,"passed":true},{"actual":false,"check":"selector-type-equality scenario 6","expected":false,"passed":true},{"actual":"ssr","check":"server-snapshot-selection scenario 1","expected":"ssr","passed":true},{"actual":null,"check":"server-snapshot-selection scenario 2","expected":null,"passed":true},{"actual":0,"check":"server-snapshot-selection scenario 3","expected":0,"passed":true},{"actual":"server","check":"server-snapshot-selection scenario 4","expected":"server","passed":true},{"actual":"","check":"server-snapshot-selection scenario 5","expected":"","passed":true},{"actual":false,"check":"server-snapshot-selection scenario 6","expected":false,"passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 1","expected":"client","passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 2","expected":"client","passed":true},{"actual":1,"check":"browser-snapshot-selection scenario 3","expected":1,"passed":true},{"actual":null,"check":"browser-snapshot-selection scenario 4","expected":null,"passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 5","expected":"client","passed":true},{"actual":true,"check":"browser-snapshot-selection scenario 6","expected":true,"passed":true},{"actual":[2,{"x":1}],"check":"snapshot-version-pair scenario 1","expected":[2,{"x":1}],"passed":true},{"actual":[1,0],"check":"snapshot-version-pair scenario 2","expected":[1,0],"passed":true},{"actual":[2,[]],"check":"snapshot-version-pair scenario 3","expected":[2,[]],"passed":true},{"actual":[3,null],"check":"snapshot-version-pair scenario 4","expected":[3,null],"passed":true},{"actual":[0,"a"],"check":"snapshot-version-pair scenario 5","expected":[0,"a"],"passed":true},{"actual":[4,{"x":2}],"check":"snapshot-version-pair scenario 6","expected":[4,{"x":2}],"passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 1","expected":"subscribe-then-read","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 2","expected":"subscribe-then-read","passed":true},{"actual":"read-only","check":"subscription-install-read scenario 3","expected":"read-only","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 4","expected":"subscribe-then-read","passed":true},{"actual":"read-only","check":"subscription-install-read scenario 5","expected":"read-only","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 6","expected":"subscribe-then-read","passed":true},{"actual":"retry","check":"stale-render-retry scenario 1","expected":"retry","passed":true},{"actual":"commit","check":"stale-render-retry scenario 2","expected":"commit","passed":true},{"actual":"commit","check":"stale-render-retry scenario 3","expected":"commit","passed":true},{"actual":"retry","check":"stale-render-retry scenario 4","expected":"retry","passed":true},{"actual":"commit","check":"stale-render-retry scenario 5","expected":"commit","passed":true},{"actual":"commit","check":"stale-render-retry scenario 6","expected":"commit","passed":true},{"actual":{"x":1},"check":"selector-empty-value-retention scenario 1","expected":{"x":1},"passed":true},{"actual":0,"check":"selector-empty-value-retention scenario 2","expected":0,"passed":true},{"actual":[],"check":"selector-empty-value-retention scenario 3","expected":[],"passed":true},{"actual":"old","check":"selector-empty-value-retention scenario 4","expected":"old","passed":true},{"actual":"a","check":"selector-empty-value-retention scenario 5","expected":"a","passed":true},{"actual":{"x":2},"check":"selector-empty-value-retention scenario 6","expected":{"x":2},"passed":true},{"actual":false,"check":"notify-selected-change scenario 1","expected":false,"passed":true},{"actual":true,"check":"notify-selected-change scenario 2","expected":true,"passed":true},{"actual":false,"check":"notify-selected-change scenario 3","expected":false,"passed":true},{"actual":true,"check":"notify-selected-change scenario 4","expected":true,"passed":true},{"actual":true,"check":"notify-selected-change scenario 5","expected":true,"passed":true},{"actual":true,"check":"notify-selected-change scenario 6","expected":true,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 1","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 2","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 3","expected":false,"passed":true},{"actual":true,"check":"snapshot-null-initialization scenario 4","expected":true,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 5","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 6","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"commit-tearing-recheck scenario 1\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"commit-tearing-recheck scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 4\", \"actual\": false, \"expected\": true, \"passed\": false}, {\"check\": \"commit-tearing-recheck scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"selector-type-equality scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 3\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"selector-type-equality scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 1\", \"actual\": \"ssr\", \"expected\": \"ssr\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 4\", \"actual\": \"server\", \"expected\": \"server\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 5\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 1\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 2\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 5\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 1\", \"actual\": [2, {\"x\": 1}], \"expected\": [2, {\"x\": 1}], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 2\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 3\", \"actual\": [2, []], \"expected\": [2, []], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 4\", \"actual\": [3, null], \"expected\": [3, null], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 5\", \"actual\": [0, \"a\"], \"expected\": [0, \"a\"], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 6\", \"actual\": [4, {\"x\": 2}], \"expected\": [4, {\"x\": 2}], \"passed\": true}, {\"check\": \"subscription-install-read scenario 1\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 2\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 3\", \"actual\": \"read-only\", \"expected\": \"read-only\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 4\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 5\", \"actual\": \"read-only\", \"expected\": \"read-only\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 6\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 1\", \"actual\": \"retry\", \"expected\": \"retry\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 2\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 3\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 4\", \"actual\": \"retry\", \"expected\": \"retry\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 5\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 6\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 1\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": 1}, \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 4\", \"actual\": \"old\", \"expected\": \"old\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 5\", \"actual\": \"a\", \"expected\": \"a\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 6\", \"actual\": {\"x\": 2}, \"expected\": {\"x\": 2}, \"passed\": true}, {\"check\": \"notify-selected-change scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"notify-selected-change scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"notify-selected-change scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":41.608,"exit_code":0,"observations":[{"actual":true,"check":"commit-tearing-recheck scenario 1","expected":true,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 2","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 3","expected":false,"passed":true},{"actual":true,"check":"commit-tearing-recheck scenario 4","expected":true,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 5","expected":false,"passed":true},{"actual":false,"check":"commit-tearing-recheck scenario 6","expected":false,"passed":true},{"actual":true,"check":"selector-type-equality scenario 1","expected":true,"passed":true},{"actual":false,"check":"selector-type-equality scenario 2","expected":false,"passed":true},{"actual":true,"check":"selector-type-equality scenario 3","expected":true,"passed":true},{"actual":false,"check":"selector-type-equality scenario 4","expected":false,"passed":true},{"actual":false,"check":"selector-type-equality scenario 5","expected":false,"passed":true},{"actual":false,"check":"selector-type-equality scenario 6","expected":false,"passed":true},{"actual":"ssr","check":"server-snapshot-selection scenario 1","expected":"ssr","passed":true},{"actual":null,"check":"server-snapshot-selection scenario 2","expected":null,"passed":true},{"actual":0,"check":"server-snapshot-selection scenario 3","expected":0,"passed":true},{"actual":"server","check":"server-snapshot-selection scenario 4","expected":"server","passed":true},{"actual":"","check":"server-snapshot-selection scenario 5","expected":"","passed":true},{"actual":false,"check":"server-snapshot-selection scenario 6","expected":false,"passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 1","expected":"client","passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 2","expected":"client","passed":true},{"actual":1,"check":"browser-snapshot-selection scenario 3","expected":1,"passed":true},{"actual":null,"check":"browser-snapshot-selection scenario 4","expected":null,"passed":true},{"actual":"client","check":"browser-snapshot-selection scenario 5","expected":"client","passed":true},{"actual":true,"check":"browser-snapshot-selection scenario 6","expected":true,"passed":true},{"actual":[2,{"x":1}],"check":"snapshot-version-pair scenario 1","expected":[2,{"x":1}],"passed":true},{"actual":[1,0],"check":"snapshot-version-pair scenario 2","expected":[1,0],"passed":true},{"actual":[2,[]],"check":"snapshot-version-pair scenario 3","expected":[2,[]],"passed":true},{"actual":[3,null],"check":"snapshot-version-pair scenario 4","expected":[3,null],"passed":true},{"actual":[0,"a"],"check":"snapshot-version-pair scenario 5","expected":[0,"a"],"passed":true},{"actual":[4,{"x":2}],"check":"snapshot-version-pair scenario 6","expected":[4,{"x":2}],"passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 1","expected":"subscribe-then-read","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 2","expected":"subscribe-then-read","passed":true},{"actual":"read-only","check":"subscription-install-read scenario 3","expected":"read-only","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 4","expected":"subscribe-then-read","passed":true},{"actual":"read-only","check":"subscription-install-read scenario 5","expected":"read-only","passed":true},{"actual":"subscribe-then-read","check":"subscription-install-read scenario 6","expected":"subscribe-then-read","passed":true},{"actual":"retry","check":"stale-render-retry scenario 1","expected":"retry","passed":true},{"actual":"commit","check":"stale-render-retry scenario 2","expected":"commit","passed":true},{"actual":"commit","check":"stale-render-retry scenario 3","expected":"commit","passed":true},{"actual":"retry","check":"stale-render-retry scenario 4","expected":"retry","passed":true},{"actual":"commit","check":"stale-render-retry scenario 5","expected":"commit","passed":true},{"actual":"commit","check":"stale-render-retry scenario 6","expected":"commit","passed":true},{"actual":{"x":1},"check":"selector-empty-value-retention scenario 1","expected":{"x":1},"passed":true},{"actual":0,"check":"selector-empty-value-retention scenario 2","expected":0,"passed":true},{"actual":[],"check":"selector-empty-value-retention scenario 3","expected":[],"passed":true},{"actual":"old","check":"selector-empty-value-retention scenario 4","expected":"old","passed":true},{"actual":"a","check":"selector-empty-value-retention scenario 5","expected":"a","passed":true},{"actual":{"x":2},"check":"selector-empty-value-retention scenario 6","expected":{"x":2},"passed":true},{"actual":false,"check":"notify-selected-change scenario 1","expected":false,"passed":true},{"actual":true,"check":"notify-selected-change scenario 2","expected":true,"passed":true},{"actual":false,"check":"notify-selected-change scenario 3","expected":false,"passed":true},{"actual":true,"check":"notify-selected-change scenario 4","expected":true,"passed":true},{"actual":true,"check":"notify-selected-change scenario 5","expected":true,"passed":true},{"actual":true,"check":"notify-selected-change scenario 6","expected":true,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 1","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 2","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 3","expected":false,"passed":true},{"actual":true,"check":"snapshot-null-initialization scenario 4","expected":true,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 5","expected":false,"passed":true},{"actual":false,"check":"snapshot-null-initialization scenario 6","expected":false,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"commit-tearing-recheck scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"commit-tearing-recheck scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 1\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"selector-type-equality scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 3\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"selector-type-equality scenario 4\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"selector-type-equality scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 1\", \"actual\": \"ssr\", \"expected\": \"ssr\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 2\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 4\", \"actual\": \"server\", \"expected\": \"server\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 5\", \"actual\": \"\", \"expected\": \"\", \"passed\": true}, {\"check\": \"server-snapshot-selection scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 1\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 2\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 4\", \"actual\": null, \"expected\": null, \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 5\", \"actual\": \"client\", \"expected\": \"client\", \"passed\": true}, {\"check\": \"browser-snapshot-selection scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 1\", \"actual\": [2, {\"x\": 1}], \"expected\": [2, {\"x\": 1}], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 2\", \"actual\": [1, 0], \"expected\": [1, 0], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 3\", \"actual\": [2, []], \"expected\": [2, []], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 4\", \"actual\": [3, null], \"expected\": [3, null], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 5\", \"actual\": [0, \"a\"], \"expected\": [0, \"a\"], \"passed\": true}, {\"check\": \"snapshot-version-pair scenario 6\", \"actual\": [4, {\"x\": 2}], \"expected\": [4, {\"x\": 2}], \"passed\": true}, {\"check\": \"subscription-install-read scenario 1\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 2\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 3\", \"actual\": \"read-only\", \"expected\": \"read-only\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 4\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 5\", \"actual\": \"read-only\", \"expected\": \"read-only\", \"passed\": true}, {\"check\": \"subscription-install-read scenario 6\", \"actual\": \"subscribe-then-read\", \"expected\": \"subscribe-then-read\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 1\", \"actual\": \"retry\", \"expected\": \"retry\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 2\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 3\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 4\", \"actual\": \"retry\", \"expected\": \"retry\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 5\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"stale-render-retry scenario 6\", \"actual\": \"commit\", \"expected\": \"commit\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 1\", \"actual\": {\"x\": 1}, \"expected\": {\"x\": 1}, \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 4\", \"actual\": \"old\", \"expected\": \"old\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 5\", \"actual\": \"a\", \"expected\": \"a\", \"passed\": true}, {\"check\": \"selector-empty-value-retention scenario 6\", \"actual\": {\"x\": 2}, \"expected\": {\"x\": 2}, \"passed\": true}, {\"check\": \"notify-selected-change scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"notify-selected-change scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"notify-selected-change scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 5\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"notify-selected-change scenario 6\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 2\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"snapshot-null-initialization scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}