{
  "schema_version": 1,
  "kind": "formal-package-inputs",
  "package_id": "priority",
  "revision": "1",
  "tool_sha256": "5bd7b64db99ae4c6c35f290de5e809c0ee41af43f8699cf696099ffb6452b1e2",
  "license_id": "CC0-1.0",
  "description": "Original finite optional-use priority window with explicit child suspension and supplied receipt provider; not a full scheduler.",
  "assumptions": [
    "One ordinary optional-use window; two participants; no mandatory, reaction, interrupt or access-specific windows.",
    "The readiness checkpoint and final cost/effect/child-drain facts are supplied, not executed.",
    "At most two invocations, one child at a time, monotonically issued receipt identifiers and no fairness or eventual-completion claim."
  ],
  "models": [
    {
      "id": "ordinary",
      "module": "PriorityMC",
      "config": "PriorityMC.cfg",
      "expected_exit": 0,
      "outcome": "success",
      "properties": [
        "TypeOK",
        "FreshCalls",
        "FreshReceipts",
        "SuspendedCallerCannotAct",
        "ReturnStaysWithActor",
        "ExactCallerReceipt",
        "TwoConsecutivePasses",
        "ReadyPassMarker",
        "StaleReturnRejected"
      ],
      "bounds": {
        "MaxCalls": 2,
        "MaxReceipts": 10,
        "maximum_child_depth": 1
      },
      "fairness": [],
      "constraints": [],
      "description": "Explore pass/act/child/return behavior without forcing post-action alternation.",
      "max_seconds": 60
    },
    {
      "id": "alternate-holder",
      "module": "PriorityMC",
      "config": "PriorityAlternateHolder.cfg",
      "expected_exit": 12,
      "outcome": "safety-counterexample",
      "properties": [
        "TypeOK",
        "FreshCalls",
        "FreshReceipts",
        "SuspendedCallerCannotAct",
        "ReturnStaysWithActor",
        "ExactCallerReceipt",
        "TwoConsecutivePasses",
        "ReadyPassMarker",
        "StaleReturnRejected"
      ],
      "expected_property": "ReturnStaysWithActor",
      "negative_of": "ordinary",
      "bounds": {
        "MaxCalls": 2,
        "MaxReceipts": 10,
        "maximum_child_depth": 1
      },
      "fairness": [],
      "constraints": [],
      "description": "Deliberately alternating the holder after a completed option violates actor return.",
      "max_seconds": 60
    },
    {
      "id": "sticky-pass",
      "module": "PriorityMC",
      "config": "PriorityStickyPass.cfg",
      "expected_exit": 12,
      "outcome": "safety-counterexample",
      "properties": [
        "TypeOK",
        "FreshCalls",
        "FreshReceipts",
        "SuspendedCallerCannotAct",
        "ReturnStaysWithActor",
        "ExactCallerReceipt",
        "TwoConsecutivePasses",
        "StaleReturnRejected"
      ],
      "expected_property": "TwoConsecutivePasses",
      "negative_of": "ordinary",
      "bounds": {
        "MaxCalls": 2,
        "MaxReceipts": 10,
        "maximum_child_depth": 1
      },
      "fairness": [],
      "constraints": [],
      "description": "Retaining a previous pass across a completed option permits premature closure.",
      "max_seconds": 60
    },
    {
      "id": "wrong-caller",
      "module": "PriorityMC",
      "config": "PriorityWrongCaller.cfg",
      "expected_exit": 12,
      "outcome": "safety-counterexample",
      "properties": [
        "TypeOK",
        "FreshCalls",
        "FreshReceipts",
        "SuspendedCallerCannotAct",
        "ReturnStaysWithActor",
        "ExactCallerReceipt",
        "TwoConsecutivePasses",
        "ReadyPassMarker",
        "StaleReturnRejected"
      ],
      "expected_property": "ExactCallerReceipt",
      "negative_of": "ordinary",
      "bounds": {
        "MaxCalls": 2,
        "MaxReceipts": 10,
        "maximum_child_depth": 1
      },
      "fairness": [],
      "constraints": [],
      "description": "Accepting a fresh but misbound return violates the exact current caller identity.",
      "max_seconds": 60
    }
  ],
  "transformation": {
    "kind": "new-instructional-abstraction",
    "correspondence": "unassessed",
    "full_contract_denominator_closed": false
  },
  "files": [
    {
      "path": "PriorityAlternateHolder.cfg",
      "sha256": "e91bd3c0bd83e7a9c42cd9ecacc9b0a5a957405f74a47d2532434e37335c974a",
      "bytes": 272
    },
    {
      "path": "PriorityMC.cfg",
      "sha256": "c66b66d441efa769b8ec066ffa27559f50bf475fd015eb2032e4ec5143a1034a",
      "bytes": 261
    },
    {
      "path": "PriorityMC.tla",
      "sha256": "23d61f0892446d455e304f034bf86e80bb7cbe6b989ce778c23d6bdac10110cd",
      "bytes": 3086
    },
    {
      "path": "PriorityProtocol.tla",
      "sha256": "ce3719b498985c943769e38c02b6f2441aef8c909f8668ccfdddc5cc5670186e",
      "bytes": 4544
    },
    {
      "path": "PriorityStickyPass.cfg",
      "sha256": "9b499c3ad4095cf7e12bdfe233bcd8ff31bf97401c93c6979c590a3835e7667d",
      "bytes": 249
    },
    {
      "path": "PriorityWrongCaller.cfg",
      "sha256": "43a9cde86284515531489d42246dfc8470622008e20035dcd297032eee2acf87",
      "bytes": 268
    }
  ]
}
