{"abstract":"Temporal enrichment chooses the newest version across all keys.","category":"Data systems","checks":7,"contract":"Enrich facts [id,key,event-time] from versioned dimension rows [key,valid-from,revision,payload,tombstone]. For matching non-null key, use the greatest (valid-from,revision) no later than fact time. A selected tombstone yields None and blocks fallback to older versions. Emit [fact-id,payload-or-None].","evaluation_group":"s3-data-systems-temporal-dimension-lookup","failed_approach":"A null dimension key is not a wildcard for unrelated facts.","family":"s3-data-systems-temporal-dimension-lookup-key-correlation","id":"FA-45741","implementations":{"attempt":{"sha256":"8693453877966342bab56d8c0a0414a1d625c2992732fb1a904be8e3f40c536a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        facts,versions=d\n        out=[]\n        for ident,key,time in facts:\n            candidates=[r for r in versions if key is not None and (r[0]==key or r[0] is None) and r[1]<=time]\n            if not candidates: out.append([ident,None]); continue\n            chosen=max(candidates,key=lambda r:(r[1],r[2]))\n            out.append([ident,None if chosen[4] else chosen[3]])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('future ignored', solve([[[10, 'a', 2]], [['a', 1, 1, 'old', False], ['a', 3, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 1]], [['a', 1, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 1]], [['a', 1, 1, 'old', False], ['a', 1, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 2]], [['a', 1, 1, 'old', False], ['a', 2, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 1]], [['a', 1, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 2]], [['a', 1, 1, 'right', False], ['b', 2, 1, 'wrong', False], [None, 2, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 1]], []]), [[10, None]])\nelif N == 2:\n    check('future ignored', solve([[[10, 'a', 3]], [['a', 2, 1, 'old', False], ['a', 4, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 2]], [['a', 2, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 2]], [['a', 2, 1, 'old', False], ['a', 2, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 3]], [['a', 2, 1, 'old', False], ['a', 3, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 2]], [['a', 2, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 3]], [['a', 2, 1, 'right', False], ['b', 3, 1, 'wrong', False], [None, 3, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 2]], []]), [[10, None]])\nelif N == 3:\n    check('future ignored', solve([[[10, 'a', 4]], [['a', 3, 1, 'old', False], ['a', 5, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 3]], [['a', 3, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 3]], [['a', 3, 1, 'old', False], ['a', 3, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 4]], [['a', 3, 1, 'old', False], ['a', 4, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 3]], [['a', 3, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 4]], [['a', 3, 1, 'right', False], ['b', 4, 1, 'wrong', False], [None, 4, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 3]], []]), [[10, None]])\nelif N == 4:\n    check('future ignored', solve([[[10, 'a', 5]], [['a', 4, 1, 'old', False], ['a', 6, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 4]], [['a', 4, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 4]], [['a', 4, 1, 'old', False], ['a', 4, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 5]], [['a', 4, 1, 'old', False], ['a', 5, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 4]], [['a', 4, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 5]], [['a', 4, 1, 'right', False], ['b', 5, 1, 'wrong', False], [None, 5, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 4]], []]), [[10, None]])\nelif N == 5:\n    check('future ignored', solve([[[10, 'a', 6]], [['a', 5, 1, 'old', False], ['a', 7, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 5]], [['a', 5, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 5]], [['a', 5, 1, 'old', False], ['a', 5, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 6]], [['a', 5, 1, 'old', False], ['a', 6, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 5]], [['a', 5, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 6]], [['a', 5, 1, 'right', False], ['b', 6, 1, 'wrong', False], [None, 6, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 5]], []]), [[10, None]])\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":"8d90dfaae55db5ba73131c265a93789206570ebc96257b353f0b1d8966565c65","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        facts,versions=d\n        out=[]\n        for ident,key,time in facts:\n            candidates=[r for r in versions if key is not None and True and r[1]<=time]\n            if not candidates: out.append([ident,None]); continue\n            chosen=max(candidates,key=lambda r:(r[1],r[2]))\n            out.append([ident,None if chosen[4] else chosen[3]])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('future ignored', solve([[[10, 'a', 2]], [['a', 1, 1, 'old', False], ['a', 3, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 1]], [['a', 1, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 1]], [['a', 1, 1, 'old', False], ['a', 1, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 2]], [['a', 1, 1, 'old', False], ['a', 2, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 1]], [['a', 1, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 2]], [['a', 1, 1, 'right', False], ['b', 2, 1, 'wrong', False], [None, 2, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 1]], []]), [[10, None]])\nelif N == 2:\n    check('future ignored', solve([[[10, 'a', 3]], [['a', 2, 1, 'old', False], ['a', 4, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 2]], [['a', 2, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 2]], [['a', 2, 1, 'old', False], ['a', 2, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 3]], [['a', 2, 1, 'old', False], ['a', 3, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 2]], [['a', 2, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 3]], [['a', 2, 1, 'right', False], ['b', 3, 1, 'wrong', False], [None, 3, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 2]], []]), [[10, None]])\nelif N == 3:\n    check('future ignored', solve([[[10, 'a', 4]], [['a', 3, 1, 'old', False], ['a', 5, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 3]], [['a', 3, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 3]], [['a', 3, 1, 'old', False], ['a', 3, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 4]], [['a', 3, 1, 'old', False], ['a', 4, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 3]], [['a', 3, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 4]], [['a', 3, 1, 'right', False], ['b', 4, 1, 'wrong', False], [None, 4, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 3]], []]), [[10, None]])\nelif N == 4:\n    check('future ignored', solve([[[10, 'a', 5]], [['a', 4, 1, 'old', False], ['a', 6, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 4]], [['a', 4, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 4]], [['a', 4, 1, 'old', False], ['a', 4, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 5]], [['a', 4, 1, 'old', False], ['a', 5, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 4]], [['a', 4, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 5]], [['a', 4, 1, 'right', False], ['b', 5, 1, 'wrong', False], [None, 5, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 4]], []]), [[10, None]])\nelif N == 5:\n    check('future ignored', solve([[[10, 'a', 6]], [['a', 5, 1, 'old', False], ['a', 7, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 5]], [['a', 5, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 5]], [['a', 5, 1, 'old', False], ['a', 5, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 6]], [['a', 5, 1, 'old', False], ['a', 6, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 5]], [['a', 5, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 6]], [['a', 5, 1, 'right', False], ['b', 6, 1, 'wrong', False], [None, 6, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 5]], []]), [[10, None]])\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":"a1a05f3bfda2c86083022adb1dac1aefe34ae9e687c4dfd4e7afa571b1d6cf77","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(d):\n    try:\n        facts,versions=d\n        out=[]\n        for ident,key,time in facts:\n            candidates=[r for r in versions if key is not None and r[0]==key and r[1]<=time]\n            if not candidates: out.append([ident,None]); continue\n            chosen=max(candidates,key=lambda r:(r[1],r[2]))\n            out.append([ident,None if chosen[4] else chosen[3]])\n        return out\n    except (IndexError, KeyError, ValueError, StopIteration) as exc:\n        return {\"representation_error\": type(exc).__name__}\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('future ignored', solve([[[10, 'a', 2]], [['a', 1, 1, 'old', False], ['a', 3, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 1]], [['a', 1, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 1]], [['a', 1, 1, 'old', False], ['a', 1, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 2]], [['a', 1, 1, 'old', False], ['a', 2, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 1]], [['a', 1, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 2]], [['a', 1, 1, 'right', False], ['b', 2, 1, 'wrong', False], [None, 2, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 1]], []]), [[10, None]])\nelif N == 2:\n    check('future ignored', solve([[[10, 'a', 3]], [['a', 2, 1, 'old', False], ['a', 4, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 2]], [['a', 2, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 2]], [['a', 2, 1, 'old', False], ['a', 2, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 3]], [['a', 2, 1, 'old', False], ['a', 3, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 2]], [['a', 2, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 3]], [['a', 2, 1, 'right', False], ['b', 3, 1, 'wrong', False], [None, 3, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 2]], []]), [[10, None]])\nelif N == 3:\n    check('future ignored', solve([[[10, 'a', 4]], [['a', 3, 1, 'old', False], ['a', 5, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 3]], [['a', 3, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 3]], [['a', 3, 1, 'old', False], ['a', 3, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 4]], [['a', 3, 1, 'old', False], ['a', 4, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 3]], [['a', 3, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 4]], [['a', 3, 1, 'right', False], ['b', 4, 1, 'wrong', False], [None, 4, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 3]], []]), [[10, None]])\nelif N == 4:\n    check('future ignored', solve([[[10, 'a', 5]], [['a', 4, 1, 'old', False], ['a', 6, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 4]], [['a', 4, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 4]], [['a', 4, 1, 'old', False], ['a', 4, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 5]], [['a', 4, 1, 'old', False], ['a', 5, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 4]], [['a', 4, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 5]], [['a', 4, 1, 'right', False], ['b', 5, 1, 'wrong', False], [None, 5, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 4]], []]), [[10, None]])\nelif N == 5:\n    check('future ignored', solve([[[10, 'a', 6]], [['a', 5, 1, 'old', False], ['a', 7, 1, 'future', False]]]), [[10, 'old']])\n    check('exact effective time', solve([[[10, 'a', 5]], [['a', 5, 1, 'current', False]]]), [[10, 'current']])\n    check('revision precedence', solve([[[10, 'a', 5]], [['a', 5, 1, 'old', False], ['a', 5, 2, 'new', False]]]), [[10, 'new']])\n    check('tombstone blocks old', solve([[[10, 'a', 6]], [['a', 5, 1, 'old', False], ['a', 6, 1, None, True]]]), [[10, None]])\n    check('tombstone hidden payload', solve([[[10, 'a', 5]], [['a', 5, 1, 'hidden', True]]]), [[10, None]])\n    check('other key', solve([[[10, 'a', 6]], [['a', 5, 1, 'right', False], ['b', 6, 1, 'wrong', False], [None, 6, 2, 'wildcard', False]]]), [[10, 'right']])\n    check('absent dimension', solve([[[10, 'a', 5]], []]), [[10, None]])\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":"Offline stipulated semantics over valid small inputs; no performance, concurrency, or production-engine conformance claim. 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-data-systems-temporal-dimension-lookup-key-correlation","generated_at":"2026-09-29T14:44:25.273968+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A bounded deterministic data engine model makes representation and changelog faults reproducible.","repair":"Preserve the stated physical representation and operation order: Enrich facts [id,key,event-time] from versioned dimension rows [key,valid-from,revision,payload,tombstone]. For matching non-null key, use the greatest (valid-from,revision) no later than fact time. A selected tombstone yields None and blocks fallback to older versions. Emit [fact-id,payload-or-None].","root_cause":"temporal-dimension-lookup: Temporal enrichment chooses the newest version across all keys.","sha256":"695f6175a832c65a61a064b028db707fbdb922ffce323e7399779d3a548193b5","title":"Temporal enrichment chooses the newest version across all keys · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":44.417,"exit_code":1,"observations":[{"actual":[[10,"old"]],"check":"future ignored","expected":[[10,"old"]],"passed":true},{"actual":[[10,"current"]],"check":"exact effective time","expected":[[10,"current"]],"passed":true},{"actual":[[10,"new"]],"check":"revision precedence","expected":[[10,"new"]],"passed":true},{"actual":[[10,null]],"check":"tombstone blocks old","expected":[[10,null]],"passed":true},{"actual":[[10,null]],"check":"tombstone hidden payload","expected":[[10,null]],"passed":true},{"actual":[[10,"wildcard"]],"check":"other key","expected":[[10,"right"]],"passed":false},{"actual":[[10,null]],"check":"absent dimension","expected":[[10,null]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"future ignored\", \"actual\": [[10, \"old\"]], \"expected\": [[10, \"old\"]], \"passed\": true}, {\"check\": \"exact effective time\", \"actual\": [[10, \"current\"]], \"expected\": [[10, \"current\"]], \"passed\": true}, {\"check\": \"revision precedence\", \"actual\": [[10, \"new\"]], \"expected\": [[10, \"new\"]], \"passed\": true}, {\"check\": \"tombstone blocks old\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}, {\"check\": \"tombstone hidden payload\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}, {\"check\": \"other key\", \"actual\": [[10, \"wildcard\"]], \"expected\": [[10, \"right\"]], \"passed\": false}, {\"check\": \"absent dimension\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":42.5,"exit_code":1,"observations":[{"actual":[[10,"old"]],"check":"future ignored","expected":[[10,"old"]],"passed":true},{"actual":[[10,"current"]],"check":"exact effective time","expected":[[10,"current"]],"passed":true},{"actual":[[10,"new"]],"check":"revision precedence","expected":[[10,"new"]],"passed":true},{"actual":[[10,null]],"check":"tombstone blocks old","expected":[[10,null]],"passed":true},{"actual":[[10,null]],"check":"tombstone hidden payload","expected":[[10,null]],"passed":true},{"actual":[[10,"wildcard"]],"check":"other key","expected":[[10,"right"]],"passed":false},{"actual":[[10,null]],"check":"absent dimension","expected":[[10,null]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"future ignored\", \"actual\": [[10, \"old\"]], \"expected\": [[10, \"old\"]], \"passed\": true}, {\"check\": \"exact effective time\", \"actual\": [[10, \"current\"]], \"expected\": [[10, \"current\"]], \"passed\": true}, {\"check\": \"revision precedence\", \"actual\": [[10, \"new\"]], \"expected\": [[10, \"new\"]], \"passed\": true}, {\"check\": \"tombstone blocks old\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}, {\"check\": \"tombstone hidden payload\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}, {\"check\": \"other key\", \"actual\": [[10, \"wildcard\"]], \"expected\": [[10, \"right\"]], \"passed\": false}, {\"check\": \"absent dimension\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.921,"exit_code":0,"observations":[{"actual":[[10,"old"]],"check":"future ignored","expected":[[10,"old"]],"passed":true},{"actual":[[10,"current"]],"check":"exact effective time","expected":[[10,"current"]],"passed":true},{"actual":[[10,"new"]],"check":"revision precedence","expected":[[10,"new"]],"passed":true},{"actual":[[10,null]],"check":"tombstone blocks old","expected":[[10,null]],"passed":true},{"actual":[[10,null]],"check":"tombstone hidden payload","expected":[[10,null]],"passed":true},{"actual":[[10,"right"]],"check":"other key","expected":[[10,"right"]],"passed":true},{"actual":[[10,null]],"check":"absent dimension","expected":[[10,null]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"future ignored\", \"actual\": [[10, \"old\"]], \"expected\": [[10, \"old\"]], \"passed\": true}, {\"check\": \"exact effective time\", \"actual\": [[10, \"current\"]], \"expected\": [[10, \"current\"]], \"passed\": true}, {\"check\": \"revision precedence\", \"actual\": [[10, \"new\"]], \"expected\": [[10, \"new\"]], \"passed\": true}, {\"check\": \"tombstone blocks old\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}, {\"check\": \"tombstone hidden payload\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}, {\"check\": \"other key\", \"actual\": [[10, \"right\"]], \"expected\": [[10, \"right\"]], \"passed\": true}, {\"check\": \"absent dimension\", \"actual\": [[10, null]], \"expected\": [[10, null]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}