{"abstract":"The workflow continue operation is admitted even though continuation stores a runtime handle instead of durable state.","category":"Workflow orchestration","checks":9,"contract":"Return a Boolean admission decision for continue a workflow as a new run. The record r must satisfy all of: r['pending_activities'] == 0; len(r['signal_drain']) == 0; r['state_serializable'] in ['json','bytes']; r['new_run_unique'][0] != r['new_run_unique'][1]; r['predecessor_closed'] == 'continued'. Extra tracing fields are ignored; validation does not mutate the record.","evaluation_group":"xd-workflow-continue","failed_approach":"Adding the state serializable check repairs the reported defect, but replacing the adjacent new run unique check loses that independent invariant.","family":"xd-workflow-continue-state_serializable","id":"FA-1261","implementations":{"attempt":{"sha256":"4a0150ab6bf8137c0dda2731cf16aef1cfe00a47ddd313ce74d5c54dd967be41","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (r['pending_activities'] == 0) and (len(r['signal_drain']) == 0) and (r['state_serializable'] in ['json','bytes']) and (r['predecessor_closed'] == 'continued')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'pending_activities': 0, 'signal_drain': [], 'state_serializable': 'json', 'new_run_unique': ['r2', 'r1'], 'predecessor_closed': 'continued'}\ncheck('valid operation', solve(r), True)\ncheck('Continuation loses unresolved activity results', solve(dict(r, **{'pending_activities': 1})), False)\ncheck('Continuation discards accepted but unconsumed signals', solve(dict(r, **{'signal_drain': ['approve']})), False)\ncheck('Continuation stores a runtime handle instead of durable state', solve(dict(r, **{'state_serializable': 'socket'})), False)\ncheck('Continuation reuses the predecessor run identifier', solve(dict(r, **{'new_run_unique': ['r1', 'r1']})), False)\ncheck('Both predecessor and successor remain runnable', solve(dict(r, **{'predecessor_closed': 'running'})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'pending_activities': 1, 'signal_drain': ['approve'], 'state_serializable': 'socket', 'new_run_unique': ['r1', 'r1'], 'predecessor_closed': 'running'}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"6b95291a06fccae16d99601befc6a3540cb5f004e13874fa02bb2b07591eacbb","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (r['pending_activities'] == 0) and (len(r['signal_drain']) == 0) and (r['new_run_unique'][0] != r['new_run_unique'][1]) and (r['predecessor_closed'] == 'continued')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'pending_activities': 0, 'signal_drain': [], 'state_serializable': 'json', 'new_run_unique': ['r2', 'r1'], 'predecessor_closed': 'continued'}\ncheck('valid operation', solve(r), True)\ncheck('Continuation loses unresolved activity results', solve(dict(r, **{'pending_activities': 1})), False)\ncheck('Continuation discards accepted but unconsumed signals', solve(dict(r, **{'signal_drain': ['approve']})), False)\ncheck('Continuation stores a runtime handle instead of durable state', solve(dict(r, **{'state_serializable': 'socket'})), False)\ncheck('Continuation reuses the predecessor run identifier', solve(dict(r, **{'new_run_unique': ['r1', 'r1']})), False)\ncheck('Both predecessor and successor remain runnable', solve(dict(r, **{'predecessor_closed': 'running'})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'pending_activities': 1, 'signal_drain': ['approve'], 'state_serializable': 'socket', 'new_run_unique': ['r1', 'r1'], 'predecessor_closed': 'running'}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"a3a10e6d9993e260ae8c14cf204626271aa53d1ee3ee976a6e9927230b9d4efe","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(r):\n    return (r['pending_activities'] == 0) and (len(r['signal_drain']) == 0) and (r['state_serializable'] in ['json','bytes']) and (r['new_run_unique'][0] != r['new_run_unique'][1]) and (r['predecessor_closed'] == 'continued')\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nr = {'pending_activities': 0, 'signal_drain': [], 'state_serializable': 'json', 'new_run_unique': ['r2', 'r1'], 'predecessor_closed': 'continued'}\ncheck('valid operation', solve(r), True)\ncheck('Continuation loses unresolved activity results', solve(dict(r, **{'pending_activities': 1})), False)\ncheck('Continuation discards accepted but unconsumed signals', solve(dict(r, **{'signal_drain': ['approve']})), False)\ncheck('Continuation stores a runtime handle instead of durable state', solve(dict(r, **{'state_serializable': 'socket'})), False)\ncheck('Continuation reuses the predecessor run identifier', solve(dict(r, **{'new_run_unique': ['r1', 'r1']})), False)\ncheck('Both predecessor and successor remain runnable', solve(dict(r, **{'predecessor_closed': 'running'})), False)\ncheck('unrelated tracing metadata', solve(dict(r, trace='run-'+str(N))), True)\ncheck('repeat validation is pure', solve(r), True)\ninvalid = {'pending_activities': 1, 'signal_drain': ['approve'], 'state_serializable': 'socket', 'new_run_unique': ['r1', 'r1'], 'predecessor_closed': 'running'}\nkeys = list(invalid)\npair = {keys[N % len(keys)]: invalid[keys[N % len(keys)]], keys[(N+1) % len(keys)]: invalid[keys[(N+1) % len(keys)]]}\ncheck('two independent violations in variant', solve(dict(r, **pair)), False)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":" 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":"xd-workflow-continue-state_serializable","generated_at":"2026-09-29T14:37:00.641719+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"A deterministic local contract for workflow orchestration. Each negative fixture violates exactly one invariant. No transport timing, persistence, cryptographic verification, or full protocol implementation is claimed.","repair":"Require r['state_serializable'] in ['json','bytes'] together with every other stated precondition before accepting the operation.","root_cause":"The admission path omits the state serializable invariant while validating the other operation preconditions.","sha256":"fc1ffaf3b3c58f4939414855848b804852637520e1aace6973ac1a8102cc8d7e","title":"Continue a workflow as a new run: Continuation stores a runtime handle instead of durable state · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":33.866,"exit_code":1,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"Continuation loses unresolved activity results","expected":false,"passed":true},{"actual":false,"check":"Continuation discards accepted but unconsumed signals","expected":false,"passed":true},{"actual":false,"check":"Continuation stores a runtime handle instead of durable state","expected":false,"passed":true},{"actual":true,"check":"Continuation reuses the predecessor run identifier","expected":false,"passed":false},{"actual":false,"check":"Both predecessor and successor remain runnable","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"Continuation loses unresolved activity results\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation discards accepted but unconsumed signals\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation stores a runtime handle instead of durable state\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation reuses the predecessor run identifier\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"Both predecessor and successor remain runnable\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":29.811,"exit_code":1,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"Continuation loses unresolved activity results","expected":false,"passed":true},{"actual":false,"check":"Continuation discards accepted but unconsumed signals","expected":false,"passed":true},{"actual":true,"check":"Continuation stores a runtime handle instead of durable state","expected":false,"passed":false},{"actual":false,"check":"Continuation reuses the predecessor run identifier","expected":false,"passed":true},{"actual":false,"check":"Both predecessor and successor remain runnable","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"Continuation loses unresolved activity results\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation discards accepted but unconsumed signals\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation stores a runtime handle instead of durable state\", \"actual\": true, \"expected\": false, \"passed\": false}, {\"check\": \"Continuation reuses the predecessor run identifier\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Both predecessor and successor remain runnable\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":35.236,"exit_code":0,"observations":[{"actual":true,"check":"valid operation","expected":true,"passed":true},{"actual":false,"check":"Continuation loses unresolved activity results","expected":false,"passed":true},{"actual":false,"check":"Continuation discards accepted but unconsumed signals","expected":false,"passed":true},{"actual":false,"check":"Continuation stores a runtime handle instead of durable state","expected":false,"passed":true},{"actual":false,"check":"Continuation reuses the predecessor run identifier","expected":false,"passed":true},{"actual":false,"check":"Both predecessor and successor remain runnable","expected":false,"passed":true},{"actual":true,"check":"unrelated tracing metadata","expected":true,"passed":true},{"actual":true,"check":"repeat validation is pure","expected":true,"passed":true},{"actual":false,"check":"two independent violations in variant","expected":false,"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"valid operation\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"Continuation loses unresolved activity results\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation discards accepted but unconsumed signals\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation stores a runtime handle instead of durable state\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Continuation reuses the predecessor run identifier\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"Both predecessor and successor remain runnable\", \"actual\": false, \"expected\": false, \"passed\": true}, {\"check\": \"unrelated tracing metadata\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"repeat validation is pure\", \"actual\": true, \"expected\": true, \"passed\": true}, {\"check\": \"two independent violations in variant\", \"actual\": false, \"expected\": false, \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}