{"abstract":"Next compensating actions.","category":"Client state","checks":60,"contract":"A client numeric patch journal retains insertion order. Accepted patches move to the base; rejected patches are removed and compensate in reverse order; pending patches remain visible. Identity and zero-valued patches are significant. Operation next-compensating-actions has the six explicit input/output oracles below.","evaluation_group":"s3-client-state-optimistic-journal","failed_approach":"The partial repair `[(k,-v) for k,v in patches if k in rejected]` still violates the explicit fixture contract.","family":"s3-client-state-optimistic-journal-next-compensating-actions","id":"FA-23436","implementations":{"attempt":{"sha256":"2a061bf983b752aa0651e6b904214108dcf51ad2e092a9ede7dea698dbe1c487","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    base, patches, rejected, confirmed = s\n    if operation == 'rejected-rebase':\n        return base+sum(v for k,v in patches if k not in rejected)\n    if operation == 'confirmed-base':\n        return base+sum(v for k,v in patches if k in confirmed)\n    if operation == 'pending-retention':\n        return [(k,v) for k,v in patches if k not in confirmed and k not in rejected]\n    if operation == 'rollback-delta':\n        return sum(v for k,v in patches if k in rejected)\n    if operation == 'journal-order':\n        return [k for k,v in patches]\n    if operation == 'visible-total':\n        return base+sum(v for k,v in patches)\n    if operation == 'acknowledged-identities':\n        return [k for k,v in patches if k in confirmed]\n    if operation == 'failure-identities':\n        return [k for k,v in patches if k in rejected]\n    if operation == 'pending-flag':\n        return any(k not in confirmed and k not in rejected for k,v in patches)\n    if operation == 'next-compensating-actions':\n        return [(k,-v) for k,v in patches if k in rejected]\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('rejected-rebase scenario 1', solve('rejected-rebase', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N-1)\ncheck('rejected-rebase scenario 2', solve('rejected-rebase', (0, [('p',N)], [], [])), N)\ncheck('rejected-rebase scenario 3', solve('rejected-rebase', (N, [], [], [])), N)\ncheck('rejected-rebase scenario 4', solve('rejected-rebase', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 3)\ncheck('rejected-rebase scenario 5', solve('rejected-rebase', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('rejected-rebase scenario 6', solve('rejected-rebase', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('confirmed-base scenario 1', solve('confirmed-base', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N-1)\ncheck('confirmed-base scenario 2', solve('confirmed-base', (0, [('p',N)], [], [])), 0)\ncheck('confirmed-base scenario 3', solve('confirmed-base', (N, [], [], [])), N)\ncheck('confirmed-base scenario 4', solve('confirmed-base', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 2)\ncheck('confirmed-base scenario 5', solve('confirmed-base', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('confirmed-base scenario 6', solve('confirmed-base', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('pending-retention scenario 1', solve('pending-retention', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), [])\ncheck('pending-retention scenario 2', solve('pending-retention', (0, [('p',N)], [], [])), [('p',N)])\ncheck('pending-retention scenario 3', solve('pending-retention', (N, [], [], [])), [])\ncheck('pending-retention scenario 4', solve('pending-retention', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), [('r',1)])\ncheck('pending-retention scenario 5', solve('pending-retention', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('pending-retention scenario 6', solve('pending-retention', (2, [('p',1),('q',1)], ['p','q'], [])), [])\ncheck('rollback-delta scenario 1', solve('rollback-delta', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 2)\ncheck('rollback-delta scenario 2', solve('rollback-delta', (0, [('p',N)], [], [])), 0)\ncheck('rollback-delta scenario 3', solve('rollback-delta', (N, [], [], [])), 0)\ncheck('rollback-delta scenario 4', solve('rollback-delta', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 4)\ncheck('rollback-delta scenario 5', solve('rollback-delta', (N, [('p',0)], ['x'], ['p'])), 0)\ncheck('rollback-delta scenario 6', solve('rollback-delta', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('journal-order scenario 1', solve('journal-order', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['p','q'])\ncheck('journal-order scenario 2', solve('journal-order', (0, [('p',N)], [], [])), ['p'])\ncheck('journal-order scenario 3', solve('journal-order', (N, [], [], [])), [])\ncheck('journal-order scenario 4', solve('journal-order', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['p','q','r'])\ncheck('journal-order scenario 5', solve('journal-order', (N, [('p',0)], ['x'], ['p'])), ['p'])\ncheck('journal-order scenario 6', solve('journal-order', (2, [('p',1),('q',1)], ['p','q'], [])), ['p','q'])\ncheck('visible-total scenario 1', solve('visible-total', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N+1)\ncheck('visible-total scenario 2', solve('visible-total', (0, [('p',N)], [], [])), N)\ncheck('visible-total scenario 3', solve('visible-total', (N, [], [], [])), N)\ncheck('visible-total scenario 4', solve('visible-total', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 7)\ncheck('visible-total scenario 5', solve('visible-total', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('visible-total scenario 6', solve('visible-total', (2, [('p',1),('q',1)], ['p','q'], [])), 4)\ncheck('acknowledged-identities scenario 1', solve('acknowledged-identities', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['q'])\ncheck('acknowledged-identities scenario 2', solve('acknowledged-identities', (0, [('p',N)], [], [])), [])\ncheck('acknowledged-identities scenario 3', solve('acknowledged-identities', (N, [], [], [])), [])\ncheck('acknowledged-identities scenario 4', solve('acknowledged-identities', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['p'])\ncheck('acknowledged-identities scenario 5', solve('acknowledged-identities', (N, [('p',0)], ['x'], ['p'])), ['p'])\ncheck('acknowledged-identities scenario 6', solve('acknowledged-identities', (2, [('p',1),('q',1)], ['p','q'], [])), [])\ncheck('failure-identities scenario 1', solve('failure-identities', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['p'])\ncheck('failure-identities scenario 2', solve('failure-identities', (0, [('p',N)], [], [])), [])\ncheck('failure-identities scenario 3', solve('failure-identities', (N, [], [], [])), [])\ncheck('failure-identities scenario 4', solve('failure-identities', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['q'])\ncheck('failure-identities scenario 5', solve('failure-identities', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('failure-identities scenario 6', solve('failure-identities', (2, [('p',1),('q',1)], ['p','q'], [])), ['p','q'])\ncheck('pending-flag scenario 1', solve('pending-flag', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), False)\ncheck('pending-flag scenario 2', solve('pending-flag', (0, [('p',N)], [], [])), True)\ncheck('pending-flag scenario 3', solve('pending-flag', (N, [], [], [])), False)\ncheck('pending-flag scenario 4', solve('pending-flag', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), True)\ncheck('pending-flag scenario 5', solve('pending-flag', (N, [('p',0)], ['x'], ['p'])), False)\ncheck('pending-flag scenario 6', solve('pending-flag', (2, [('p',1),('q',1)], ['p','q'], [])), False)\ncheck('next-compensating-actions scenario 1', solve('next-compensating-actions', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), [('p',-2)])\ncheck('next-compensating-actions scenario 2', solve('next-compensating-actions', (0, [('p',N)], [], [])), [])\ncheck('next-compensating-actions scenario 3', solve('next-compensating-actions', (N, [], [], [])), [])\ncheck('next-compensating-actions scenario 4', solve('next-compensating-actions', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), [('q',-4)])\ncheck('next-compensating-actions scenario 5', solve('next-compensating-actions', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('next-compensating-actions scenario 6', solve('next-compensating-actions', (2, [('p',1),('q',1)], ['p','q'], [])), [('q',-1),('p',-1)])\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":"b67eb895e42e64939cbfbd16f64c1a384d746e67173da5bf832545583963d8d7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    base, patches, rejected, confirmed = s\n    if operation == 'rejected-rebase':\n        return base+sum(v for k,v in patches if k not in rejected)\n    if operation == 'confirmed-base':\n        return base+sum(v for k,v in patches if k in confirmed)\n    if operation == 'pending-retention':\n        return [(k,v) for k,v in patches if k not in confirmed and k not in rejected]\n    if operation == 'rollback-delta':\n        return sum(v for k,v in patches if k in rejected)\n    if operation == 'journal-order':\n        return [k for k,v in patches]\n    if operation == 'visible-total':\n        return base+sum(v for k,v in patches)\n    if operation == 'acknowledged-identities':\n        return [k for k,v in patches if k in confirmed]\n    if operation == 'failure-identities':\n        return [k for k,v in patches if k in rejected]\n    if operation == 'pending-flag':\n        return any(k not in confirmed and k not in rejected for k,v in patches)\n    if operation == 'next-compensating-actions':\n        return [(k,v) for k,v in patches if k in rejected]\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('rejected-rebase scenario 1', solve('rejected-rebase', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N-1)\ncheck('rejected-rebase scenario 2', solve('rejected-rebase', (0, [('p',N)], [], [])), N)\ncheck('rejected-rebase scenario 3', solve('rejected-rebase', (N, [], [], [])), N)\ncheck('rejected-rebase scenario 4', solve('rejected-rebase', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 3)\ncheck('rejected-rebase scenario 5', solve('rejected-rebase', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('rejected-rebase scenario 6', solve('rejected-rebase', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('confirmed-base scenario 1', solve('confirmed-base', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N-1)\ncheck('confirmed-base scenario 2', solve('confirmed-base', (0, [('p',N)], [], [])), 0)\ncheck('confirmed-base scenario 3', solve('confirmed-base', (N, [], [], [])), N)\ncheck('confirmed-base scenario 4', solve('confirmed-base', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 2)\ncheck('confirmed-base scenario 5', solve('confirmed-base', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('confirmed-base scenario 6', solve('confirmed-base', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('pending-retention scenario 1', solve('pending-retention', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), [])\ncheck('pending-retention scenario 2', solve('pending-retention', (0, [('p',N)], [], [])), [('p',N)])\ncheck('pending-retention scenario 3', solve('pending-retention', (N, [], [], [])), [])\ncheck('pending-retention scenario 4', solve('pending-retention', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), [('r',1)])\ncheck('pending-retention scenario 5', solve('pending-retention', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('pending-retention scenario 6', solve('pending-retention', (2, [('p',1),('q',1)], ['p','q'], [])), [])\ncheck('rollback-delta scenario 1', solve('rollback-delta', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 2)\ncheck('rollback-delta scenario 2', solve('rollback-delta', (0, [('p',N)], [], [])), 0)\ncheck('rollback-delta scenario 3', solve('rollback-delta', (N, [], [], [])), 0)\ncheck('rollback-delta scenario 4', solve('rollback-delta', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 4)\ncheck('rollback-delta scenario 5', solve('rollback-delta', (N, [('p',0)], ['x'], ['p'])), 0)\ncheck('rollback-delta scenario 6', solve('rollback-delta', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('journal-order scenario 1', solve('journal-order', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['p','q'])\ncheck('journal-order scenario 2', solve('journal-order', (0, [('p',N)], [], [])), ['p'])\ncheck('journal-order scenario 3', solve('journal-order', (N, [], [], [])), [])\ncheck('journal-order scenario 4', solve('journal-order', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['p','q','r'])\ncheck('journal-order scenario 5', solve('journal-order', (N, [('p',0)], ['x'], ['p'])), ['p'])\ncheck('journal-order scenario 6', solve('journal-order', (2, [('p',1),('q',1)], ['p','q'], [])), ['p','q'])\ncheck('visible-total scenario 1', solve('visible-total', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N+1)\ncheck('visible-total scenario 2', solve('visible-total', (0, [('p',N)], [], [])), N)\ncheck('visible-total scenario 3', solve('visible-total', (N, [], [], [])), N)\ncheck('visible-total scenario 4', solve('visible-total', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 7)\ncheck('visible-total scenario 5', solve('visible-total', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('visible-total scenario 6', solve('visible-total', (2, [('p',1),('q',1)], ['p','q'], [])), 4)\ncheck('acknowledged-identities scenario 1', solve('acknowledged-identities', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['q'])\ncheck('acknowledged-identities scenario 2', solve('acknowledged-identities', (0, [('p',N)], [], [])), [])\ncheck('acknowledged-identities scenario 3', solve('acknowledged-identities', (N, [], [], [])), [])\ncheck('acknowledged-identities scenario 4', solve('acknowledged-identities', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['p'])\ncheck('acknowledged-identities scenario 5', solve('acknowledged-identities', (N, [('p',0)], ['x'], ['p'])), ['p'])\ncheck('acknowledged-identities scenario 6', solve('acknowledged-identities', (2, [('p',1),('q',1)], ['p','q'], [])), [])\ncheck('failure-identities scenario 1', solve('failure-identities', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['p'])\ncheck('failure-identities scenario 2', solve('failure-identities', (0, [('p',N)], [], [])), [])\ncheck('failure-identities scenario 3', solve('failure-identities', (N, [], [], [])), [])\ncheck('failure-identities scenario 4', solve('failure-identities', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['q'])\ncheck('failure-identities scenario 5', solve('failure-identities', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('failure-identities scenario 6', solve('failure-identities', (2, [('p',1),('q',1)], ['p','q'], [])), ['p','q'])\ncheck('pending-flag scenario 1', solve('pending-flag', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), False)\ncheck('pending-flag scenario 2', solve('pending-flag', (0, [('p',N)], [], [])), True)\ncheck('pending-flag scenario 3', solve('pending-flag', (N, [], [], [])), False)\ncheck('pending-flag scenario 4', solve('pending-flag', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), True)\ncheck('pending-flag scenario 5', solve('pending-flag', (N, [('p',0)], ['x'], ['p'])), False)\ncheck('pending-flag scenario 6', solve('pending-flag', (2, [('p',1),('q',1)], ['p','q'], [])), False)\ncheck('next-compensating-actions scenario 1', solve('next-compensating-actions', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), [('p',-2)])\ncheck('next-compensating-actions scenario 2', solve('next-compensating-actions', (0, [('p',N)], [], [])), [])\ncheck('next-compensating-actions scenario 3', solve('next-compensating-actions', (N, [], [], [])), [])\ncheck('next-compensating-actions scenario 4', solve('next-compensating-actions', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), [('q',-4)])\ncheck('next-compensating-actions scenario 5', solve('next-compensating-actions', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('next-compensating-actions scenario 6', solve('next-compensating-actions', (2, [('p',1),('q',1)], ['p','q'], [])), [('q',-1),('p',-1)])\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":"53c8fe5976ce6b53333f469eed85f2ac9355fc74907e499a748d9d5dfe4e097d","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(operation, s):\n    base, patches, rejected, confirmed = s\n    if operation == 'rejected-rebase':\n        return base+sum(v for k,v in patches if k not in rejected)\n    if operation == 'confirmed-base':\n        return base+sum(v for k,v in patches if k in confirmed)\n    if operation == 'pending-retention':\n        return [(k,v) for k,v in patches if k not in confirmed and k not in rejected]\n    if operation == 'rollback-delta':\n        return sum(v for k,v in patches if k in rejected)\n    if operation == 'journal-order':\n        return [k for k,v in patches]\n    if operation == 'visible-total':\n        return base+sum(v for k,v in patches)\n    if operation == 'acknowledged-identities':\n        return [k for k,v in patches if k in confirmed]\n    if operation == 'failure-identities':\n        return [k for k,v in patches if k in rejected]\n    if operation == 'pending-flag':\n        return any(k not in confirmed and k not in rejected for k,v in patches)\n    if operation == 'next-compensating-actions':\n        return [(k,-v) for k,v in reversed(patches) if k in rejected]\n    raise ValueError('unknown modeled operation')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('rejected-rebase scenario 1', solve('rejected-rebase', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N-1)\ncheck('rejected-rebase scenario 2', solve('rejected-rebase', (0, [('p',N)], [], [])), N)\ncheck('rejected-rebase scenario 3', solve('rejected-rebase', (N, [], [], [])), N)\ncheck('rejected-rebase scenario 4', solve('rejected-rebase', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 3)\ncheck('rejected-rebase scenario 5', solve('rejected-rebase', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('rejected-rebase scenario 6', solve('rejected-rebase', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('confirmed-base scenario 1', solve('confirmed-base', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N-1)\ncheck('confirmed-base scenario 2', solve('confirmed-base', (0, [('p',N)], [], [])), 0)\ncheck('confirmed-base scenario 3', solve('confirmed-base', (N, [], [], [])), N)\ncheck('confirmed-base scenario 4', solve('confirmed-base', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 2)\ncheck('confirmed-base scenario 5', solve('confirmed-base', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('confirmed-base scenario 6', solve('confirmed-base', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('pending-retention scenario 1', solve('pending-retention', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), [])\ncheck('pending-retention scenario 2', solve('pending-retention', (0, [('p',N)], [], [])), [('p',N)])\ncheck('pending-retention scenario 3', solve('pending-retention', (N, [], [], [])), [])\ncheck('pending-retention scenario 4', solve('pending-retention', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), [('r',1)])\ncheck('pending-retention scenario 5', solve('pending-retention', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('pending-retention scenario 6', solve('pending-retention', (2, [('p',1),('q',1)], ['p','q'], [])), [])\ncheck('rollback-delta scenario 1', solve('rollback-delta', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 2)\ncheck('rollback-delta scenario 2', solve('rollback-delta', (0, [('p',N)], [], [])), 0)\ncheck('rollback-delta scenario 3', solve('rollback-delta', (N, [], [], [])), 0)\ncheck('rollback-delta scenario 4', solve('rollback-delta', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 4)\ncheck('rollback-delta scenario 5', solve('rollback-delta', (N, [('p',0)], ['x'], ['p'])), 0)\ncheck('rollback-delta scenario 6', solve('rollback-delta', (2, [('p',1),('q',1)], ['p','q'], [])), 2)\ncheck('journal-order scenario 1', solve('journal-order', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['p','q'])\ncheck('journal-order scenario 2', solve('journal-order', (0, [('p',N)], [], [])), ['p'])\ncheck('journal-order scenario 3', solve('journal-order', (N, [], [], [])), [])\ncheck('journal-order scenario 4', solve('journal-order', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['p','q','r'])\ncheck('journal-order scenario 5', solve('journal-order', (N, [('p',0)], ['x'], ['p'])), ['p'])\ncheck('journal-order scenario 6', solve('journal-order', (2, [('p',1),('q',1)], ['p','q'], [])), ['p','q'])\ncheck('visible-total scenario 1', solve('visible-total', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), 10*N+1)\ncheck('visible-total scenario 2', solve('visible-total', (0, [('p',N)], [], [])), N)\ncheck('visible-total scenario 3', solve('visible-total', (N, [], [], [])), N)\ncheck('visible-total scenario 4', solve('visible-total', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), 7)\ncheck('visible-total scenario 5', solve('visible-total', (N, [('p',0)], ['x'], ['p'])), N)\ncheck('visible-total scenario 6', solve('visible-total', (2, [('p',1),('q',1)], ['p','q'], [])), 4)\ncheck('acknowledged-identities scenario 1', solve('acknowledged-identities', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['q'])\ncheck('acknowledged-identities scenario 2', solve('acknowledged-identities', (0, [('p',N)], [], [])), [])\ncheck('acknowledged-identities scenario 3', solve('acknowledged-identities', (N, [], [], [])), [])\ncheck('acknowledged-identities scenario 4', solve('acknowledged-identities', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['p'])\ncheck('acknowledged-identities scenario 5', solve('acknowledged-identities', (N, [('p',0)], ['x'], ['p'])), ['p'])\ncheck('acknowledged-identities scenario 6', solve('acknowledged-identities', (2, [('p',1),('q',1)], ['p','q'], [])), [])\ncheck('failure-identities scenario 1', solve('failure-identities', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), ['p'])\ncheck('failure-identities scenario 2', solve('failure-identities', (0, [('p',N)], [], [])), [])\ncheck('failure-identities scenario 3', solve('failure-identities', (N, [], [], [])), [])\ncheck('failure-identities scenario 4', solve('failure-identities', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), ['q'])\ncheck('failure-identities scenario 5', solve('failure-identities', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('failure-identities scenario 6', solve('failure-identities', (2, [('p',1),('q',1)], ['p','q'], [])), ['p','q'])\ncheck('pending-flag scenario 1', solve('pending-flag', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), False)\ncheck('pending-flag scenario 2', solve('pending-flag', (0, [('p',N)], [], [])), True)\ncheck('pending-flag scenario 3', solve('pending-flag', (N, [], [], [])), False)\ncheck('pending-flag scenario 4', solve('pending-flag', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), True)\ncheck('pending-flag scenario 5', solve('pending-flag', (N, [('p',0)], ['x'], ['p'])), False)\ncheck('pending-flag scenario 6', solve('pending-flag', (2, [('p',1),('q',1)], ['p','q'], [])), False)\ncheck('next-compensating-actions scenario 1', solve('next-compensating-actions', (10*N, [('p',2),('q',-1)], ['p'], ['q'])), [('p',-2)])\ncheck('next-compensating-actions scenario 2', solve('next-compensating-actions', (0, [('p',N)], [], [])), [])\ncheck('next-compensating-actions scenario 3', solve('next-compensating-actions', (N, [], [], [])), [])\ncheck('next-compensating-actions scenario 4', solve('next-compensating-actions', (5, [('p',-3),('q',4),('r',1)], ['q'], ['p'])), [('q',-4)])\ncheck('next-compensating-actions scenario 5', solve('next-compensating-actions', (N, [('p',0)], ['x'], ['p'])), [])\ncheck('next-compensating-actions scenario 6', solve('next-compensating-actions', (2, [('p',1),('q',1)], ['p','q'], [])), [('q',-1),('p',-1)])\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-optimistic-journal-next-compensating-actions","generated_at":"2026-09-29T14:40:47.652059+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 next-compensating-actions rule: `[(k,-v) for k,v in reversed(patches) if k in rejected]`.","root_cause":"The next-compensating-actions client decision evaluates `[(k,v) for k,v in patches if k in rejected]` instead of `[(k,-v) for k,v in reversed(patches) if k in rejected]`.","sha256":"2c3ff2616640432f6a368ee90110a3ab6abbc5f5cded22a6b10e64a5c4dafc32","title":"Optimistic patch journal: Next compensating actions · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.381,"exit_code":1,"observations":[{"actual":9,"check":"rejected-rebase scenario 1","expected":9,"passed":true},{"actual":1,"check":"rejected-rebase scenario 2","expected":1,"passed":true},{"actual":1,"check":"rejected-rebase scenario 3","expected":1,"passed":true},{"actual":3,"check":"rejected-rebase scenario 4","expected":3,"passed":true},{"actual":1,"check":"rejected-rebase scenario 5","expected":1,"passed":true},{"actual":2,"check":"rejected-rebase scenario 6","expected":2,"passed":true},{"actual":9,"check":"confirmed-base scenario 1","expected":9,"passed":true},{"actual":0,"check":"confirmed-base scenario 2","expected":0,"passed":true},{"actual":1,"check":"confirmed-base scenario 3","expected":1,"passed":true},{"actual":2,"check":"confirmed-base scenario 4","expected":2,"passed":true},{"actual":1,"check":"confirmed-base scenario 5","expected":1,"passed":true},{"actual":2,"check":"confirmed-base scenario 6","expected":2,"passed":true},{"actual":[],"check":"pending-retention scenario 1","expected":[],"passed":true},{"actual":[["p",1]],"check":"pending-retention scenario 2","expected":[["p",1]],"passed":true},{"actual":[],"check":"pending-retention scenario 3","expected":[],"passed":true},{"actual":[["r",1]],"check":"pending-retention scenario 4","expected":[["r",1]],"passed":true},{"actual":[],"check":"pending-retention scenario 5","expected":[],"passed":true},{"actual":[],"check":"pending-retention scenario 6","expected":[],"passed":true},{"actual":2,"check":"rollback-delta scenario 1","expected":2,"passed":true},{"actual":0,"check":"rollback-delta scenario 2","expected":0,"passed":true},{"actual":0,"check":"rollback-delta scenario 3","expected":0,"passed":true},{"actual":4,"check":"rollback-delta scenario 4","expected":4,"passed":true},{"actual":0,"check":"rollback-delta scenario 5","expected":0,"passed":true},{"actual":2,"check":"rollback-delta scenario 6","expected":2,"passed":true},{"actual":["p","q"],"check":"journal-order scenario 1","expected":["p","q"],"passed":true},{"actual":["p"],"check":"journal-order scenario 2","expected":["p"],"passed":true},{"actual":[],"check":"journal-order scenario 3","expected":[],"passed":true},{"actual":["p","q","r"],"check":"journal-order scenario 4","expected":["p","q","r"],"passed":true},{"actual":["p"],"check":"journal-order scenario 5","expected":["p"],"passed":true},{"actual":["p","q"],"check":"journal-order scenario 6","expected":["p","q"],"passed":true},{"actual":11,"check":"visible-total scenario 1","expected":11,"passed":true},{"actual":1,"check":"visible-total scenario 2","expected":1,"passed":true},{"actual":1,"check":"visible-total scenario 3","expected":1,"passed":true},{"actual":7,"check":"visible-total scenario 4","expected":7,"passed":true},{"actual":1,"check":"visible-total scenario 5","expected":1,"passed":true},{"actual":4,"check":"visible-total scenario 6","expected":4,"passed":true},{"actual":["q"],"check":"acknowledged-identities scenario 1","expected":["q"],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 2","expected":[],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 3","expected":[],"passed":true},{"actual":["p"],"check":"acknowledged-identities scenario 4","expected":["p"],"passed":true},{"actual":["p"],"check":"acknowledged-identities scenario 5","expected":["p"],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 6","expected":[],"passed":true},{"actual":["p"],"check":"failure-identities scenario 1","expected":["p"],"passed":true},{"actual":[],"check":"failure-identities scenario 2","expected":[],"passed":true},{"actual":[],"check":"failure-identities scenario 3","expected":[],"passed":true},{"actual":["q"],"check":"failure-identities scenario 4","expected":["q"],"passed":true},{"actual":[],"check":"failure-identities scenario 5","expected":[],"passed":true},{"actual":["p","q"],"check":"failure-identities scenario 6","expected":["p","q"],"passed":true},{"actual":false,"check":"pending-flag scenario 1","expected":false,"passed":true},{"actual":true,"check":"pending-flag scenario 2","expected":true,"passed":true},{"actual":false,"check":"pending-flag scenario 3","expected":false,"passed":true},{"actual":true,"check":"pending-flag scenario 4","expected":true,"passed":true},{"actual":false,"check":"pending-flag scenario 5","expected":false,"passed":true},{"actual":false,"check":"pending-flag scenario 6","expected":false,"passed":true},{"actual":[["p",-2]],"check":"next-compensating-actions scenario 1","expected":[["p",-2]],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 2","expected":[],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 3","expected":[],"passed":true},{"actual":[["q",-4]],"check":"next-compensating-actions scenario 4","expected":[["q",-4]],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 5","expected":[],"passed":true},{"actual":[["p",-1],["q",-1]],"check":"next-compensating-actions scenario 6","expected":[["q",-1],["p",-1]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rejected-rebase scenario 1\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"rejected-rebase scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 4\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"rejected-rebase scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"confirmed-base scenario 1\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"confirmed-base scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"confirmed-base scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"confirmed-base scenario 4\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"confirmed-base scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"confirmed-base scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"pending-retention scenario 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 2\", \"actual\": [[\"p\", 1]], \"expected\": [[\"p\", 1]], \"passed\": true}, {\"check\": \"pending-retention scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 4\", \"actual\": [[\"r\", 1]], \"expected\": [[\"r\", 1]], \"passed\": true}, {\"check\": \"pending-retention scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"rollback-delta scenario 1\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"rollback-delta scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 4\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"rollback-delta scenario 5\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"journal-order scenario 1\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"journal-order scenario 2\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"journal-order scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"journal-order scenario 4\", \"actual\": [\"p\", \"q\", \"r\"], \"expected\": [\"p\", \"q\", \"r\"], \"passed\": true}, {\"check\": \"journal-order scenario 5\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"journal-order scenario 6\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"visible-total scenario 1\", \"actual\": 11, \"expected\": 11, \"passed\": true}, {\"check\": \"visible-total scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 4\", \"actual\": 7, \"expected\": 7, \"passed\": true}, {\"check\": \"visible-total scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 6\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"acknowledged-identities scenario 1\", \"actual\": [\"q\"], \"expected\": [\"q\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 4\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 5\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 1\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"failure-identities scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 4\", \"actual\": [\"q\"], \"expected\": [\"q\"], \"passed\": true}, {\"check\": \"failure-identities scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 6\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"pending-flag scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"pending-flag scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"pending-flag scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"next-compensating-actions scenario 1\", \"actual\": [[\"p\", -2]], \"expected\": [[\"p\", -2]], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 4\", \"actual\": [[\"q\", -4]], \"expected\": [[\"q\", -4]], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 6\", \"actual\": [[\"p\", -1], [\"q\", -1]], \"expected\": [[\"q\", -1], [\"p\", -1]], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.67,"exit_code":1,"observations":[{"actual":9,"check":"rejected-rebase scenario 1","expected":9,"passed":true},{"actual":1,"check":"rejected-rebase scenario 2","expected":1,"passed":true},{"actual":1,"check":"rejected-rebase scenario 3","expected":1,"passed":true},{"actual":3,"check":"rejected-rebase scenario 4","expected":3,"passed":true},{"actual":1,"check":"rejected-rebase scenario 5","expected":1,"passed":true},{"actual":2,"check":"rejected-rebase scenario 6","expected":2,"passed":true},{"actual":9,"check":"confirmed-base scenario 1","expected":9,"passed":true},{"actual":0,"check":"confirmed-base scenario 2","expected":0,"passed":true},{"actual":1,"check":"confirmed-base scenario 3","expected":1,"passed":true},{"actual":2,"check":"confirmed-base scenario 4","expected":2,"passed":true},{"actual":1,"check":"confirmed-base scenario 5","expected":1,"passed":true},{"actual":2,"check":"confirmed-base scenario 6","expected":2,"passed":true},{"actual":[],"check":"pending-retention scenario 1","expected":[],"passed":true},{"actual":[["p",1]],"check":"pending-retention scenario 2","expected":[["p",1]],"passed":true},{"actual":[],"check":"pending-retention scenario 3","expected":[],"passed":true},{"actual":[["r",1]],"check":"pending-retention scenario 4","expected":[["r",1]],"passed":true},{"actual":[],"check":"pending-retention scenario 5","expected":[],"passed":true},{"actual":[],"check":"pending-retention scenario 6","expected":[],"passed":true},{"actual":2,"check":"rollback-delta scenario 1","expected":2,"passed":true},{"actual":0,"check":"rollback-delta scenario 2","expected":0,"passed":true},{"actual":0,"check":"rollback-delta scenario 3","expected":0,"passed":true},{"actual":4,"check":"rollback-delta scenario 4","expected":4,"passed":true},{"actual":0,"check":"rollback-delta scenario 5","expected":0,"passed":true},{"actual":2,"check":"rollback-delta scenario 6","expected":2,"passed":true},{"actual":["p","q"],"check":"journal-order scenario 1","expected":["p","q"],"passed":true},{"actual":["p"],"check":"journal-order scenario 2","expected":["p"],"passed":true},{"actual":[],"check":"journal-order scenario 3","expected":[],"passed":true},{"actual":["p","q","r"],"check":"journal-order scenario 4","expected":["p","q","r"],"passed":true},{"actual":["p"],"check":"journal-order scenario 5","expected":["p"],"passed":true},{"actual":["p","q"],"check":"journal-order scenario 6","expected":["p","q"],"passed":true},{"actual":11,"check":"visible-total scenario 1","expected":11,"passed":true},{"actual":1,"check":"visible-total scenario 2","expected":1,"passed":true},{"actual":1,"check":"visible-total scenario 3","expected":1,"passed":true},{"actual":7,"check":"visible-total scenario 4","expected":7,"passed":true},{"actual":1,"check":"visible-total scenario 5","expected":1,"passed":true},{"actual":4,"check":"visible-total scenario 6","expected":4,"passed":true},{"actual":["q"],"check":"acknowledged-identities scenario 1","expected":["q"],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 2","expected":[],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 3","expected":[],"passed":true},{"actual":["p"],"check":"acknowledged-identities scenario 4","expected":["p"],"passed":true},{"actual":["p"],"check":"acknowledged-identities scenario 5","expected":["p"],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 6","expected":[],"passed":true},{"actual":["p"],"check":"failure-identities scenario 1","expected":["p"],"passed":true},{"actual":[],"check":"failure-identities scenario 2","expected":[],"passed":true},{"actual":[],"check":"failure-identities scenario 3","expected":[],"passed":true},{"actual":["q"],"check":"failure-identities scenario 4","expected":["q"],"passed":true},{"actual":[],"check":"failure-identities scenario 5","expected":[],"passed":true},{"actual":["p","q"],"check":"failure-identities scenario 6","expected":["p","q"],"passed":true},{"actual":false,"check":"pending-flag scenario 1","expected":false,"passed":true},{"actual":true,"check":"pending-flag scenario 2","expected":true,"passed":true},{"actual":false,"check":"pending-flag scenario 3","expected":false,"passed":true},{"actual":true,"check":"pending-flag scenario 4","expected":true,"passed":true},{"actual":false,"check":"pending-flag scenario 5","expected":false,"passed":true},{"actual":false,"check":"pending-flag scenario 6","expected":false,"passed":true},{"actual":[["p",2]],"check":"next-compensating-actions scenario 1","expected":[["p",-2]],"passed":false},{"actual":[],"check":"next-compensating-actions scenario 2","expected":[],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 3","expected":[],"passed":true},{"actual":[["q",4]],"check":"next-compensating-actions scenario 4","expected":[["q",-4]],"passed":false},{"actual":[],"check":"next-compensating-actions scenario 5","expected":[],"passed":true},{"actual":[["p",1],["q",1]],"check":"next-compensating-actions scenario 6","expected":[["q",-1],["p",-1]],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rejected-rebase scenario 1\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"rejected-rebase scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 4\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"rejected-rebase scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"confirmed-base scenario 1\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"confirmed-base scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"confirmed-base scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"confirmed-base scenario 4\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"confirmed-base scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"confirmed-base scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"pending-retention scenario 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 2\", \"actual\": [[\"p\", 1]], \"expected\": [[\"p\", 1]], \"passed\": true}, {\"check\": \"pending-retention scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 4\", \"actual\": [[\"r\", 1]], \"expected\": [[\"r\", 1]], \"passed\": true}, {\"check\": \"pending-retention scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"rollback-delta scenario 1\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"rollback-delta scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 4\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"rollback-delta scenario 5\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"journal-order scenario 1\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"journal-order scenario 2\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"journal-order scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"journal-order scenario 4\", \"actual\": [\"p\", \"q\", \"r\"], \"expected\": [\"p\", \"q\", \"r\"], \"passed\": true}, {\"check\": \"journal-order scenario 5\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"journal-order scenario 6\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"visible-total scenario 1\", \"actual\": 11, \"expected\": 11, \"passed\": true}, {\"check\": \"visible-total scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 4\", \"actual\": 7, \"expected\": 7, \"passed\": true}, {\"check\": \"visible-total scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 6\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"acknowledged-identities scenario 1\", \"actual\": [\"q\"], \"expected\": [\"q\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 4\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 5\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 1\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"failure-identities scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 4\", \"actual\": [\"q\"], \"expected\": [\"q\"], \"passed\": true}, {\"check\": \"failure-identities scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 6\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"pending-flag scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"pending-flag scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"pending-flag scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"next-compensating-actions scenario 1\", \"actual\": [[\"p\", 2]], \"expected\": [[\"p\", -2]], \"passed\": false}, {\"check\": \"next-compensating-actions scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 4\", \"actual\": [[\"q\", 4]], \"expected\": [[\"q\", -4]], \"passed\": false}, {\"check\": \"next-compensating-actions scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 6\", \"actual\": [[\"p\", 1], [\"q\", 1]], \"expected\": [[\"q\", -1], [\"p\", -1]], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":44.784,"exit_code":0,"observations":[{"actual":9,"check":"rejected-rebase scenario 1","expected":9,"passed":true},{"actual":1,"check":"rejected-rebase scenario 2","expected":1,"passed":true},{"actual":1,"check":"rejected-rebase scenario 3","expected":1,"passed":true},{"actual":3,"check":"rejected-rebase scenario 4","expected":3,"passed":true},{"actual":1,"check":"rejected-rebase scenario 5","expected":1,"passed":true},{"actual":2,"check":"rejected-rebase scenario 6","expected":2,"passed":true},{"actual":9,"check":"confirmed-base scenario 1","expected":9,"passed":true},{"actual":0,"check":"confirmed-base scenario 2","expected":0,"passed":true},{"actual":1,"check":"confirmed-base scenario 3","expected":1,"passed":true},{"actual":2,"check":"confirmed-base scenario 4","expected":2,"passed":true},{"actual":1,"check":"confirmed-base scenario 5","expected":1,"passed":true},{"actual":2,"check":"confirmed-base scenario 6","expected":2,"passed":true},{"actual":[],"check":"pending-retention scenario 1","expected":[],"passed":true},{"actual":[["p",1]],"check":"pending-retention scenario 2","expected":[["p",1]],"passed":true},{"actual":[],"check":"pending-retention scenario 3","expected":[],"passed":true},{"actual":[["r",1]],"check":"pending-retention scenario 4","expected":[["r",1]],"passed":true},{"actual":[],"check":"pending-retention scenario 5","expected":[],"passed":true},{"actual":[],"check":"pending-retention scenario 6","expected":[],"passed":true},{"actual":2,"check":"rollback-delta scenario 1","expected":2,"passed":true},{"actual":0,"check":"rollback-delta scenario 2","expected":0,"passed":true},{"actual":0,"check":"rollback-delta scenario 3","expected":0,"passed":true},{"actual":4,"check":"rollback-delta scenario 4","expected":4,"passed":true},{"actual":0,"check":"rollback-delta scenario 5","expected":0,"passed":true},{"actual":2,"check":"rollback-delta scenario 6","expected":2,"passed":true},{"actual":["p","q"],"check":"journal-order scenario 1","expected":["p","q"],"passed":true},{"actual":["p"],"check":"journal-order scenario 2","expected":["p"],"passed":true},{"actual":[],"check":"journal-order scenario 3","expected":[],"passed":true},{"actual":["p","q","r"],"check":"journal-order scenario 4","expected":["p","q","r"],"passed":true},{"actual":["p"],"check":"journal-order scenario 5","expected":["p"],"passed":true},{"actual":["p","q"],"check":"journal-order scenario 6","expected":["p","q"],"passed":true},{"actual":11,"check":"visible-total scenario 1","expected":11,"passed":true},{"actual":1,"check":"visible-total scenario 2","expected":1,"passed":true},{"actual":1,"check":"visible-total scenario 3","expected":1,"passed":true},{"actual":7,"check":"visible-total scenario 4","expected":7,"passed":true},{"actual":1,"check":"visible-total scenario 5","expected":1,"passed":true},{"actual":4,"check":"visible-total scenario 6","expected":4,"passed":true},{"actual":["q"],"check":"acknowledged-identities scenario 1","expected":["q"],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 2","expected":[],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 3","expected":[],"passed":true},{"actual":["p"],"check":"acknowledged-identities scenario 4","expected":["p"],"passed":true},{"actual":["p"],"check":"acknowledged-identities scenario 5","expected":["p"],"passed":true},{"actual":[],"check":"acknowledged-identities scenario 6","expected":[],"passed":true},{"actual":["p"],"check":"failure-identities scenario 1","expected":["p"],"passed":true},{"actual":[],"check":"failure-identities scenario 2","expected":[],"passed":true},{"actual":[],"check":"failure-identities scenario 3","expected":[],"passed":true},{"actual":["q"],"check":"failure-identities scenario 4","expected":["q"],"passed":true},{"actual":[],"check":"failure-identities scenario 5","expected":[],"passed":true},{"actual":["p","q"],"check":"failure-identities scenario 6","expected":["p","q"],"passed":true},{"actual":false,"check":"pending-flag scenario 1","expected":false,"passed":true},{"actual":true,"check":"pending-flag scenario 2","expected":true,"passed":true},{"actual":false,"check":"pending-flag scenario 3","expected":false,"passed":true},{"actual":true,"check":"pending-flag scenario 4","expected":true,"passed":true},{"actual":false,"check":"pending-flag scenario 5","expected":false,"passed":true},{"actual":false,"check":"pending-flag scenario 6","expected":false,"passed":true},{"actual":[["p",-2]],"check":"next-compensating-actions scenario 1","expected":[["p",-2]],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 2","expected":[],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 3","expected":[],"passed":true},{"actual":[["q",-4]],"check":"next-compensating-actions scenario 4","expected":[["q",-4]],"passed":true},{"actual":[],"check":"next-compensating-actions scenario 5","expected":[],"passed":true},{"actual":[["q",-1],["p",-1]],"check":"next-compensating-actions scenario 6","expected":[["q",-1],["p",-1]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"rejected-rebase scenario 1\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"rejected-rebase scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 4\", \"actual\": 3, \"expected\": 3, \"passed\": true}, {\"check\": \"rejected-rebase scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"rejected-rebase scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"confirmed-base scenario 1\", \"actual\": 9, \"expected\": 9, \"passed\": true}, {\"check\": \"confirmed-base scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"confirmed-base scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"confirmed-base scenario 4\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"confirmed-base scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"confirmed-base scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"pending-retention scenario 1\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 2\", \"actual\": [[\"p\", 1]], \"expected\": [[\"p\", 1]], \"passed\": true}, {\"check\": \"pending-retention scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 4\", \"actual\": [[\"r\", 1]], \"expected\": [[\"r\", 1]], \"passed\": true}, {\"check\": \"pending-retention scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"pending-retention scenario 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"rollback-delta scenario 1\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"rollback-delta scenario 2\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 3\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 4\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"rollback-delta scenario 5\", \"actual\": 0, \"expected\": 0, \"passed\": true}, {\"check\": \"rollback-delta scenario 6\", \"actual\": 2, \"expected\": 2, \"passed\": true}, {\"check\": \"journal-order scenario 1\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"journal-order scenario 2\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"journal-order scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"journal-order scenario 4\", \"actual\": [\"p\", \"q\", \"r\"], \"expected\": [\"p\", \"q\", \"r\"], \"passed\": true}, {\"check\": \"journal-order scenario 5\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"journal-order scenario 6\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"visible-total scenario 1\", \"actual\": 11, \"expected\": 11, \"passed\": true}, {\"check\": \"visible-total scenario 2\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 3\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 4\", \"actual\": 7, \"expected\": 7, \"passed\": true}, {\"check\": \"visible-total scenario 5\", \"actual\": 1, \"expected\": 1, \"passed\": true}, {\"check\": \"visible-total scenario 6\", \"actual\": 4, \"expected\": 4, \"passed\": true}, {\"check\": \"acknowledged-identities scenario 1\", \"actual\": [\"q\"], \"expected\": [\"q\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 4\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 5\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"acknowledged-identities scenario 6\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 1\", \"actual\": [\"p\"], \"expected\": [\"p\"], \"passed\": true}, {\"check\": \"failure-identities scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 4\", \"actual\": [\"q\"], \"expected\": [\"q\"], \"passed\": true}, {\"check\": \"failure-identities scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"failure-identities scenario 6\", \"actual\": [\"p\", \"q\"], \"expected\": [\"p\", \"q\"], \"passed\": true}, {\"check\": \"pending-flag scenario 1\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 2\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"pending-flag scenario 3\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 4\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"pending-flag scenario 5\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"pending-flag scenario 6\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"next-compensating-actions scenario 1\", \"actual\": [[\"p\", -2]], \"expected\": [[\"p\", -2]], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 2\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 3\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 4\", \"actual\": [[\"q\", -4]], \"expected\": [[\"q\", -4]], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 5\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"next-compensating-actions scenario 6\", \"actual\": [[\"q\", -1], [\"p\", -1]], \"expected\": [[\"q\", -1], [\"p\", -1]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}