{"abstract":"The announcement trace violates the stated error-announcement-digest contract.","category":"Assistive announcements","checks":7,"contract":"Errors are keyed by [form,field,code] and retain first-seen ordering. Add replaces text for same key. Resolve deletes exact key. Rename-form transfers its keys preserving per-key text. Digest for a form emits first error text plus remaining count, or all-clear if none; consecutive identical digests for the same form are suppressed. Invalidate clears only that form digest cache. Clear-form removes its errors. Return digest output and ordered errors.","evaluation_group":"s3-announcement-error-announcement-digest","failed_approach":"The attempted repair substitutes if last: continue and still violates a regression oracle.","family":"s3-assistive-announcements-error-announcement-digest-cache-scope","id":"FA-21331","implementations":{"attempt":{"sha256":"07d6a0ecf2377530b0d60d1e25bc7c81d82bdbd31281304fd79a5d80ab258396","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    errors={}; last={}; out=[]\n    for e in events:\n        if e[0]=='add': errors[(e[1],e[2],e[3])]=e[4]\n        elif e[0]=='resolve': errors.pop((e[1],e[2],e[3]),None)\n        elif e[0]=='clear': errors={k:v for k,v in errors.items() if k[0]!=e[1]}\n        elif e[0]=='rename':\n            errors={(e[2] if k[0]==e[1] else k[0],k[1],k[2]):v for k,v in errors.items()}\n            last.pop(e[1],None); last.pop(e[2],None)\n        elif e[0]=='invalidate': last.pop(e[1],None)\n        elif e[0]=='digest':\n            rows=[v for k,v in errors.items() if k[0]==e[1]]\n            text=rows[0]+'; '+str(len(rows)-1)+' more' if rows else 'all clear'\n            if last: continue\n            out.append([e[1],text])\n            last[e[1]]=text\n    return [out,[[*k,v] for k,v in errors.items()]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [\"[['add','f','x','required','missing'*N],['add','f','x','format','bad'],['digest','f'],['add','f','x','required','updated'],['digest','f'],['digest','f'],['resolve','f','x','required'],['digest','f']]\", \"[['add','f','x','bad','same'*N],['add','g','y','bad','same'*N],['digest','f'],['digest','g'],['invalidate','f'],['digest','g'],['digest','f']]\", \"[['add','f','x','bad','one'*N],['add','g','y','bad','two'],['clear','f']]\", \"[['digest','f'],['digest','g'],['rename','f','g'],['digest','g'],['digest','f']]\", \"[['add','f','x','bad','one'*N],['add','h','y','bad','two'],['rename','f','g'],['digest','g']]\", \"[['digest','empty'],['digest','empty']]\", '[]']\nexpected = {1: [[[['f', 'missing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'same; 0 more'], ['g', 'same; 0 more'], ['f', 'same; 0 more']], [['f', 'x', 'bad', 'same'], ['g', 'y', 'bad', 'same']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'one; 0 more']], [['g', 'x', 'bad', 'one'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 2: [[[['f', 'missingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesame; 0 more'], ['g', 'samesame; 0 more'], ['f', 'samesame; 0 more']], [['f', 'x', 'bad', 'samesame'], ['g', 'y', 'bad', 'samesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneone; 0 more']], [['g', 'x', 'bad', 'oneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 3: [[[['f', 'missingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesame; 0 more'], ['g', 'samesamesame; 0 more'], ['f', 'samesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesame'], ['g', 'y', 'bad', 'samesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 4: [[[['f', 'missingmissingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesamesame; 0 more'], ['g', 'samesamesamesame; 0 more'], ['f', 'samesamesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesamesame'], ['g', 'y', 'bad', 'samesamesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 5: [[[['f', 'missingmissingmissingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesamesamesame; 0 more'], ['g', 'samesamesamesamesame; 0 more'], ['f', 'samesamesamesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesamesamesame'], ['g', 'y', 'bad', 'samesamesamesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneoneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneoneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]]}[N]\nfor i, expression in enumerate(fixtures):\n    check(\"trace-\"+str(i+1), solve(eval(expression)), expected[i])\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":"4b9a676bc04aac00a3e90ad4db78fe9df57f76738824d66494aae0a18f205e8f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    errors={}; last={}; out=[]\n    for e in events:\n        if e[0]=='add': errors[(e[1],e[2],e[3])]=e[4]\n        elif e[0]=='resolve': errors.pop((e[1],e[2],e[3]),None)\n        elif e[0]=='clear': errors={k:v for k,v in errors.items() if k[0]!=e[1]}\n        elif e[0]=='rename':\n            errors={(e[2] if k[0]==e[1] else k[0],k[1],k[2]):v for k,v in errors.items()}\n            last.pop(e[1],None); last.pop(e[2],None)\n        elif e[0]=='invalidate': last.pop(e[1],None)\n        elif e[0]=='digest':\n            rows=[v for k,v in errors.items() if k[0]==e[1]]\n            text=rows[0]+'; '+str(len(rows)-1)+' more' if rows else 'all clear'\n            if text in last.values(): continue\n            out.append([e[1],text])\n            last[e[1]]=text\n    return [out,[[*k,v] for k,v in errors.items()]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [\"[['add','f','x','required','missing'*N],['add','f','x','format','bad'],['digest','f'],['add','f','x','required','updated'],['digest','f'],['digest','f'],['resolve','f','x','required'],['digest','f']]\", \"[['add','f','x','bad','same'*N],['add','g','y','bad','same'*N],['digest','f'],['digest','g'],['invalidate','f'],['digest','g'],['digest','f']]\", \"[['add','f','x','bad','one'*N],['add','g','y','bad','two'],['clear','f']]\", \"[['digest','f'],['digest','g'],['rename','f','g'],['digest','g'],['digest','f']]\", \"[['add','f','x','bad','one'*N],['add','h','y','bad','two'],['rename','f','g'],['digest','g']]\", \"[['digest','empty'],['digest','empty']]\", '[]']\nexpected = {1: [[[['f', 'missing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'same; 0 more'], ['g', 'same; 0 more'], ['f', 'same; 0 more']], [['f', 'x', 'bad', 'same'], ['g', 'y', 'bad', 'same']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'one; 0 more']], [['g', 'x', 'bad', 'one'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 2: [[[['f', 'missingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesame; 0 more'], ['g', 'samesame; 0 more'], ['f', 'samesame; 0 more']], [['f', 'x', 'bad', 'samesame'], ['g', 'y', 'bad', 'samesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneone; 0 more']], [['g', 'x', 'bad', 'oneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 3: [[[['f', 'missingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesame; 0 more'], ['g', 'samesamesame; 0 more'], ['f', 'samesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesame'], ['g', 'y', 'bad', 'samesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 4: [[[['f', 'missingmissingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesamesame; 0 more'], ['g', 'samesamesamesame; 0 more'], ['f', 'samesamesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesamesame'], ['g', 'y', 'bad', 'samesamesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 5: [[[['f', 'missingmissingmissingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesamesamesame; 0 more'], ['g', 'samesamesamesamesame; 0 more'], ['f', 'samesamesamesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesamesamesame'], ['g', 'y', 'bad', 'samesamesamesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneoneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneoneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]]}[N]\nfor i, expression in enumerate(fixtures):\n    check(\"trace-\"+str(i+1), solve(eval(expression)), expected[i])\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":"35daf018dc3b2620363bdcf7d1857aff207286797769e8952193119462874032","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(events):\n    errors={}; last={}; out=[]\n    for e in events:\n        if e[0]=='add': errors[(e[1],e[2],e[3])]=e[4]\n        elif e[0]=='resolve': errors.pop((e[1],e[2],e[3]),None)\n        elif e[0]=='clear': errors={k:v for k,v in errors.items() if k[0]!=e[1]}\n        elif e[0]=='rename':\n            errors={(e[2] if k[0]==e[1] else k[0],k[1],k[2]):v for k,v in errors.items()}\n            last.pop(e[1],None); last.pop(e[2],None)\n        elif e[0]=='invalidate': last.pop(e[1],None)\n        elif e[0]=='digest':\n            rows=[v for k,v in errors.items() if k[0]==e[1]]\n            text=rows[0]+'; '+str(len(rows)-1)+' more' if rows else 'all clear'\n            if last.get(e[1])==text: continue\n            out.append([e[1],text])\n            last[e[1]]=text\n    return [out,[[*k,v] for k,v in errors.items()]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [\"[['add','f','x','required','missing'*N],['add','f','x','format','bad'],['digest','f'],['add','f','x','required','updated'],['digest','f'],['digest','f'],['resolve','f','x','required'],['digest','f']]\", \"[['add','f','x','bad','same'*N],['add','g','y','bad','same'*N],['digest','f'],['digest','g'],['invalidate','f'],['digest','g'],['digest','f']]\", \"[['add','f','x','bad','one'*N],['add','g','y','bad','two'],['clear','f']]\", \"[['digest','f'],['digest','g'],['rename','f','g'],['digest','g'],['digest','f']]\", \"[['add','f','x','bad','one'*N],['add','h','y','bad','two'],['rename','f','g'],['digest','g']]\", \"[['digest','empty'],['digest','empty']]\", '[]']\nexpected = {1: [[[['f', 'missing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'same; 0 more'], ['g', 'same; 0 more'], ['f', 'same; 0 more']], [['f', 'x', 'bad', 'same'], ['g', 'y', 'bad', 'same']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'one; 0 more']], [['g', 'x', 'bad', 'one'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 2: [[[['f', 'missingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesame; 0 more'], ['g', 'samesame; 0 more'], ['f', 'samesame; 0 more']], [['f', 'x', 'bad', 'samesame'], ['g', 'y', 'bad', 'samesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneone; 0 more']], [['g', 'x', 'bad', 'oneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 3: [[[['f', 'missingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesame; 0 more'], ['g', 'samesamesame; 0 more'], ['f', 'samesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesame'], ['g', 'y', 'bad', 'samesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 4: [[[['f', 'missingmissingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesamesame; 0 more'], ['g', 'samesamesamesame; 0 more'], ['f', 'samesamesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesamesame'], ['g', 'y', 'bad', 'samesamesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]], 5: [[[['f', 'missingmissingmissingmissingmissing; 1 more'], ['f', 'updated; 1 more'], ['f', 'bad; 0 more']], [['f', 'x', 'format', 'bad']]], [[['f', 'samesamesamesamesame; 0 more'], ['g', 'samesamesamesamesame; 0 more'], ['f', 'samesamesamesamesame; 0 more']], [['f', 'x', 'bad', 'samesamesamesamesame'], ['g', 'y', 'bad', 'samesamesamesamesame']]], [[], [['g', 'y', 'bad', 'two']]], [[['f', 'all clear'], ['g', 'all clear'], ['g', 'all clear'], ['f', 'all clear']], []], [[['g', 'oneoneoneoneone; 0 more']], [['g', 'x', 'bad', 'oneoneoneoneone'], ['h', 'y', 'bad', 'two']]], [[['empty', 'all clear']], []], [[], []]]}[N]\nfor i, expression in enumerate(fixtures):\n    check(\"trace-\"+str(i+1), solve(eval(expression)), expected[i])\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":"Stipulated bounded policy, not a browser, speech engine, platform API, or standards 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-assistive-announcements-error-announcement-digest-cache-scope","generated_at":"2026-09-29T14:40:27.750154+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Deterministic controlled model of assistive announcement delivery.","repair":"Restore the stated transition: if last.get(e[1])==text: continue","root_cause":"Fault site: if last.get(e[1])==text: continue is implemented as if text in last.values(): continue","sha256":"3003995e3cca96011d00f4b6e7a892500836ffdf07bbc00f888b510181076319","title":"Identical summaries in different forms suppress each other · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.65,"exit_code":1,"observations":[{"actual":[[["f","missing; 1 more"]],[["f","x","format","bad"]]],"check":"trace-1","expected":[[["f","missing; 1 more"],["f","updated; 1 more"],["f","bad; 0 more"]],[["f","x","format","bad"]]],"passed":false},{"actual":[[["f","same; 0 more"],["g","same; 0 more"]],[["f","x","bad","same"],["g","y","bad","same"]]],"check":"trace-2","expected":[[["f","same; 0 more"],["g","same; 0 more"],["f","same; 0 more"]],[["f","x","bad","same"],["g","y","bad","same"]]],"passed":false},{"actual":[[],[["g","y","bad","two"]]],"check":"trace-3","expected":[[],[["g","y","bad","two"]]],"passed":true},{"actual":[[["f","all clear"],["g","all clear"]],[]],"check":"trace-4","expected":[[["f","all clear"],["g","all clear"],["g","all clear"],["f","all clear"]],[]],"passed":false},{"actual":[[["g","one; 0 more"]],[["g","x","bad","one"],["h","y","bad","two"]]],"check":"trace-5","expected":[[["g","one; 0 more"]],[["g","x","bad","one"],["h","y","bad","two"]]],"passed":true},{"actual":[[["empty","all clear"]],[]],"check":"trace-6","expected":[[["empty","all clear"]],[]],"passed":true},{"actual":[[],[]],"check":"trace-7","expected":[[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trace-1\", \"actual\": [[[\"f\", \"missing; 1 more\"]], [[\"f\", \"x\", \"format\", \"bad\"]]], \"expected\": [[[\"f\", \"missing; 1 more\"], [\"f\", \"updated; 1 more\"], [\"f\", \"bad; 0 more\"]], [[\"f\", \"x\", \"format\", \"bad\"]]], \"passed\": false}, {\"check\": \"trace-2\", \"actual\": [[[\"f\", \"same; 0 more\"], [\"g\", \"same; 0 more\"]], [[\"f\", \"x\", \"bad\", \"same\"], [\"g\", \"y\", \"bad\", \"same\"]]], \"expected\": [[[\"f\", \"same; 0 more\"], [\"g\", \"same; 0 more\"], [\"f\", \"same; 0 more\"]], [[\"f\", \"x\", \"bad\", \"same\"], [\"g\", \"y\", \"bad\", \"same\"]]], \"passed\": false}, {\"check\": \"trace-3\", \"actual\": [[], [[\"g\", \"y\", \"bad\", \"two\"]]], \"expected\": [[], [[\"g\", \"y\", \"bad\", \"two\"]]], \"passed\": true}, {\"check\": \"trace-4\", \"actual\": [[[\"f\", \"all clear\"], [\"g\", \"all clear\"]], []], \"expected\": [[[\"f\", \"all clear\"], [\"g\", \"all clear\"], [\"g\", \"all clear\"], [\"f\", \"all clear\"]], []], \"passed\": false}, {\"check\": \"trace-5\", \"actual\": [[[\"g\", \"one; 0 more\"]], [[\"g\", \"x\", \"bad\", \"one\"], [\"h\", \"y\", \"bad\", \"two\"]]], \"expected\": [[[\"g\", \"one; 0 more\"]], [[\"g\", \"x\", \"bad\", \"one\"], [\"h\", \"y\", \"bad\", \"two\"]]], \"passed\": true}, {\"check\": \"trace-6\", \"actual\": [[[\"empty\", \"all clear\"]], []], \"expected\": [[[\"empty\", \"all clear\"]], []], \"passed\": true}, {\"check\": \"trace-7\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":44.023,"exit_code":1,"observations":[{"actual":[[["f","missing; 1 more"],["f","updated; 1 more"],["f","bad; 0 more"]],[["f","x","format","bad"]]],"check":"trace-1","expected":[[["f","missing; 1 more"],["f","updated; 1 more"],["f","bad; 0 more"]],[["f","x","format","bad"]]],"passed":true},{"actual":[[["f","same; 0 more"],["g","same; 0 more"]],[["f","x","bad","same"],["g","y","bad","same"]]],"check":"trace-2","expected":[[["f","same; 0 more"],["g","same; 0 more"],["f","same; 0 more"]],[["f","x","bad","same"],["g","y","bad","same"]]],"passed":false},{"actual":[[],[["g","y","bad","two"]]],"check":"trace-3","expected":[[],[["g","y","bad","two"]]],"passed":true},{"actual":[[["f","all clear"],["g","all clear"]],[]],"check":"trace-4","expected":[[["f","all clear"],["g","all clear"],["g","all clear"],["f","all clear"]],[]],"passed":false},{"actual":[[["g","one; 0 more"]],[["g","x","bad","one"],["h","y","bad","two"]]],"check":"trace-5","expected":[[["g","one; 0 more"]],[["g","x","bad","one"],["h","y","bad","two"]]],"passed":true},{"actual":[[["empty","all clear"]],[]],"check":"trace-6","expected":[[["empty","all clear"]],[]],"passed":true},{"actual":[[],[]],"check":"trace-7","expected":[[],[]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trace-1\", \"actual\": [[[\"f\", \"missing; 1 more\"], [\"f\", \"updated; 1 more\"], [\"f\", \"bad; 0 more\"]], [[\"f\", \"x\", \"format\", \"bad\"]]], \"expected\": [[[\"f\", \"missing; 1 more\"], [\"f\", \"updated; 1 more\"], [\"f\", \"bad; 0 more\"]], [[\"f\", \"x\", \"format\", \"bad\"]]], \"passed\": true}, {\"check\": \"trace-2\", \"actual\": [[[\"f\", \"same; 0 more\"], [\"g\", \"same; 0 more\"]], [[\"f\", \"x\", \"bad\", \"same\"], [\"g\", \"y\", \"bad\", \"same\"]]], \"expected\": [[[\"f\", \"same; 0 more\"], [\"g\", \"same; 0 more\"], [\"f\", \"same; 0 more\"]], [[\"f\", \"x\", \"bad\", \"same\"], [\"g\", \"y\", \"bad\", \"same\"]]], \"passed\": false}, {\"check\": \"trace-3\", \"actual\": [[], [[\"g\", \"y\", \"bad\", \"two\"]]], \"expected\": [[], [[\"g\", \"y\", \"bad\", \"two\"]]], \"passed\": true}, {\"check\": \"trace-4\", \"actual\": [[[\"f\", \"all clear\"], [\"g\", \"all clear\"]], []], \"expected\": [[[\"f\", \"all clear\"], [\"g\", \"all clear\"], [\"g\", \"all clear\"], [\"f\", \"all clear\"]], []], \"passed\": false}, {\"check\": \"trace-5\", \"actual\": [[[\"g\", \"one; 0 more\"]], [[\"g\", \"x\", \"bad\", \"one\"], [\"h\", \"y\", \"bad\", \"two\"]]], \"expected\": [[[\"g\", \"one; 0 more\"]], [[\"g\", \"x\", \"bad\", \"one\"], [\"h\", \"y\", \"bad\", \"two\"]]], \"passed\": true}, {\"check\": \"trace-6\", \"actual\": [[[\"empty\", \"all clear\"]], []], \"expected\": [[[\"empty\", \"all clear\"]], []], \"passed\": true}, {\"check\": \"trace-7\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":52.375,"exit_code":0,"observations":[{"actual":[[["f","missing; 1 more"],["f","updated; 1 more"],["f","bad; 0 more"]],[["f","x","format","bad"]]],"check":"trace-1","expected":[[["f","missing; 1 more"],["f","updated; 1 more"],["f","bad; 0 more"]],[["f","x","format","bad"]]],"passed":true},{"actual":[[["f","same; 0 more"],["g","same; 0 more"],["f","same; 0 more"]],[["f","x","bad","same"],["g","y","bad","same"]]],"check":"trace-2","expected":[[["f","same; 0 more"],["g","same; 0 more"],["f","same; 0 more"]],[["f","x","bad","same"],["g","y","bad","same"]]],"passed":true},{"actual":[[],[["g","y","bad","two"]]],"check":"trace-3","expected":[[],[["g","y","bad","two"]]],"passed":true},{"actual":[[["f","all clear"],["g","all clear"],["g","all clear"],["f","all clear"]],[]],"check":"trace-4","expected":[[["f","all clear"],["g","all clear"],["g","all clear"],["f","all clear"]],[]],"passed":true},{"actual":[[["g","one; 0 more"]],[["g","x","bad","one"],["h","y","bad","two"]]],"check":"trace-5","expected":[[["g","one; 0 more"]],[["g","x","bad","one"],["h","y","bad","two"]]],"passed":true},{"actual":[[["empty","all clear"]],[]],"check":"trace-6","expected":[[["empty","all clear"]],[]],"passed":true},{"actual":[[],[]],"check":"trace-7","expected":[[],[]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"trace-1\", \"actual\": [[[\"f\", \"missing; 1 more\"], [\"f\", \"updated; 1 more\"], [\"f\", \"bad; 0 more\"]], [[\"f\", \"x\", \"format\", \"bad\"]]], \"expected\": [[[\"f\", \"missing; 1 more\"], [\"f\", \"updated; 1 more\"], [\"f\", \"bad; 0 more\"]], [[\"f\", \"x\", \"format\", \"bad\"]]], \"passed\": true}, {\"check\": \"trace-2\", \"actual\": [[[\"f\", \"same; 0 more\"], [\"g\", \"same; 0 more\"], [\"f\", \"same; 0 more\"]], [[\"f\", \"x\", \"bad\", \"same\"], [\"g\", \"y\", \"bad\", \"same\"]]], \"expected\": [[[\"f\", \"same; 0 more\"], [\"g\", \"same; 0 more\"], [\"f\", \"same; 0 more\"]], [[\"f\", \"x\", \"bad\", \"same\"], [\"g\", \"y\", \"bad\", \"same\"]]], \"passed\": true}, {\"check\": \"trace-3\", \"actual\": [[], [[\"g\", \"y\", \"bad\", \"two\"]]], \"expected\": [[], [[\"g\", \"y\", \"bad\", \"two\"]]], \"passed\": true}, {\"check\": \"trace-4\", \"actual\": [[[\"f\", \"all clear\"], [\"g\", \"all clear\"], [\"g\", \"all clear\"], [\"f\", \"all clear\"]], []], \"expected\": [[[\"f\", \"all clear\"], [\"g\", \"all clear\"], [\"g\", \"all clear\"], [\"f\", \"all clear\"]], []], \"passed\": true}, {\"check\": \"trace-5\", \"actual\": [[[\"g\", \"one; 0 more\"]], [[\"g\", \"x\", \"bad\", \"one\"], [\"h\", \"y\", \"bad\", \"two\"]]], \"expected\": [[[\"g\", \"one; 0 more\"]], [[\"g\", \"x\", \"bad\", \"one\"], [\"h\", \"y\", \"bad\", \"two\"]]], \"passed\": true}, {\"check\": \"trace-6\", \"actual\": [[[\"empty\", \"all clear\"]], []], \"expected\": [[[\"empty\", \"all clear\"]], []], \"passed\": true}, {\"check\": \"trace-7\", \"actual\": [[], []], \"expected\": [[], []], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}