{
  "example_kind": "original synthetic manual planning case",
  "slug": "concurrent-transition-order-brief",
  "title": "Compare two valid action orders before a race review",
  "scenario": "Synthetic planning case: A toy batch contains independent obligations A and B, both initially unaccepted. Accepting either sets only its own flag. Two permitted serial orders are accept A then B, or accept B then A.",
  "layout": "network",
  "dataset": {
    "heading": "Inspect the invented case records",
    "headers": [
      "Trace",
      "Intermediate flags A/B",
      "Final flags A/B",
      "Expected unique count"
    ],
    "rows": [
      [
        "Accept A; accept B",
        "1/0",
        "1/1",
        "2"
      ],
      [
        "Accept B; accept A",
        "0/1",
        "1/1",
        "2"
      ]
    ]
  },
  "derivation": "The two traces are the two permutations of the independent actions. Each action changes one different flag; both end at (1,1). Comparing journal text alone would confuse allowed order variation with a failed final invariant.",
  "result": "Both permitted orders should end with flags A=accepted and B=accepted and a unique accepted-obligation count of two. Their journal order may differ without violating that declared invariant.",
  "boundary": "The artifact compares allowed event orders by an explicit invariant instead of demanding identical histories.",
  "limitations": "No concurrent implementation, event timing or native task-state behavior is verified by the toy traces.",
  "sources": [
    "nist-state"
  ],
  "tasks": [
    [
      "Verify independence in the declared model",
      "Model owner",
      "Accept A changes only A; accept B changes only B."
    ],
    [
      "Exercise both legal orders",
      "Rehearsal owner",
      "Intermediate and final flag vectors are retained for both traces."
    ],
    [
      "Review the invariant separately from history",
      "Reviewer",
      "Unique count and final flags match, while different valid journal orders are preserved."
    ]
  ],
  "faqs": [
    [
      "Does this test actual simultaneous races?",
      "No. These are two serial order traces, not an implementation-level concurrency test."
    ],
    [
      "Would a shared guard change the result?",
      "It might. The independence assumption would need a different model and new expected traces."
    ]
  ],
  "method_references": [
    {
      "id": "nist-state",
      "title": "NIST: state-based and event-sequence testing context",
      "url": "https://csrc.nist.gov/Projects/automated-combinatorial-testing-for-software",
      "scope": "General context for state-based and event-sequence testing. All graphs, guards, fixtures and recovery contracts here are original toy definitions; the source does not certify their completeness or product behavior."
    }
  ]
}
