{
  "format": "t2k.graph-function-teaching-demo.v1",
  "core": {
    "package": "@t2kai/core",
    "version": "0.7.0",
    "buildHash": "164179e382b1c3198a5531f0ea357daaac21f1ce5dc206bd2a3c82fad5afe631",
    "sourceCommit": "d2031106f4f444cc0eebc7666555d7c9dc57af61",
    "runtimeVersion": "t2k.graph-runtime.v1"
  },
  "fixtureSha256": "63e40bdca4e53a6cb0fd1aa91ad522a9f8d9a1617e5e90b6ac17305737b52e88",
  "asOf": "2026-09-20T12:00:00Z",
  "arguments": {
    "region": "north",
    "hours": 4
  },
  "ontology": {
    "mode": "deployment",
    "roots": [
      {
        "ontologyId": "demo.crew-options",
        "version": "1.0.0"
      }
    ],
    "manifests": [
      {
        "manifestType": "t2k.ontology-pack",
        "manifestVersion": "1.0",
        "ontologyId": "demo.crew-options",
        "ontologyVersion": "1.0.0",
        "label": "Crew options teaching example",
        "description": "A small synthetic graph for a read-only teaching example.",
        "packKind": "workflow",
        "status": "accepted",
        "scope": {
          "domain": "synthetic_dispatch",
          "description": "Filter recorded crew options; no dispatch authority."
        },
        "objectTypes": [
          {
            "id": "crew",
            "label": "Crew",
            "family": "Work",
            "nodeKind": "organization",
            "purpose": "A fictional crew whose recorded availability can be queried.",
            "identity": [
              "crew_id"
            ],
            "properties": [
              {
                "id": "region",
                "valueType": "string",
                "required": true,
                "description": "Recorded service region.",
                "authorityDomain": "dispatch",
                "temporal": true
              },
              {
                "id": "available",
                "valueType": "boolean",
                "required": true,
                "description": "Recorded availability for this snapshot.",
                "authorityDomain": "dispatch",
                "temporal": true
              },
              {
                "id": "capacity_hours",
                "valueType": "number",
                "required": true,
                "description": "Recorded hours of remaining capacity.",
                "authorityDomain": "dispatch",
                "temporal": true
              }
            ]
          }
        ],
        "reasoningFunctions": [
          {
            "id": "eligible_crews",
            "input": "Region and required hours.",
            "output": "Available crews in the region with enough recorded capacity.",
            "humanCheckpoint": "A returned crew is an option; dispatch requires separate authorization."
          }
        ]
      }
    ]
  },
  "definition": {
    "artifactVersion": "t2k.graph-function.v1",
    "functionRef": "demo.crew-options:reasoning_function:eligible_crews",
    "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
    "inputs": {
      "region": "string",
      "hours": "number"
    },
    "output": {
      "kind": "rows",
      "fields": {
        "crewId": "string",
        "capacityHours": "number"
      }
    },
    "maxAgeSeconds": 3600,
    "limits": {
      "maxRows": 20,
      "maxWork": 1000
    },
    "steps": [
      {
        "id": "crews",
        "op": "lookup",
        "typeRef": "demo.crew-options:crew",
        "as": "crew"
      },
      {
        "id": "eligible",
        "op": "filter",
        "from": "crews",
        "all": [
          {
            "left": {
              "binding": "crew",
              "property": "demo.crew-options:crew.region"
            },
            "operator": "eq",
            "right": {
              "argument": "region"
            }
          },
          {
            "left": {
              "binding": "crew",
              "property": "demo.crew-options:crew.available"
            },
            "operator": "eq",
            "right": {
              "literal": true
            }
          },
          {
            "left": {
              "binding": "crew",
              "property": "demo.crew-options:crew.capacity_hours"
            },
            "operator": "gte",
            "right": {
              "argument": "hours"
            }
          }
        ]
      },
      {
        "id": "options",
        "op": "project",
        "from": "eligible",
        "fields": {
          "crewId": {
            "entity": "crew"
          },
          "capacityHours": {
            "binding": "crew",
            "property": "demo.crew-options:crew.capacity_hours"
          }
        }
      }
    ],
    "return": "options"
  },
  "scope": {
    "data": "synthetic",
    "execution": "precomputed_core_receipts",
    "authoring": "hand_authored",
    "evaluation": "public_teaching_examples_only",
    "activation": "none",
    "authorization": "not_authorized",
    "modelCalls": 0
  },
  "scenarios": [
    {
      "id": "supported",
      "label": "Supported answer",
      "title": "Spruce has the recorded capacity.",
      "change": "Both crews are available in north. Spruce has 6 hours; Cove has 2.",
      "explanation": "Spruce meets every condition. Cove is excluded because 2 hours is less than the requested 4. The result identifies the claims supporting Spruce and the evidence used to exclude Cove.",
      "graph": {
        "snapshotVersion": "t2k.reasoning-graph.v1",
        "graphKey": "demo.crew-options",
        "asOf": "2026-09-20T12:00:00Z",
        "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
        "coverage": "complete",
        "entities": [
          {
            "entityId": "crew-spruce",
            "typeRef": "demo.crew-options:crew"
          },
          {
            "entityId": "crew-cove",
            "typeRef": "demo.crew-options:crew"
          }
        ],
        "claims": [
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 6,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 2,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          }
        ]
      },
      "arguments": {
        "region": "north",
        "hours": 4
      },
      "receipt": {
        "resultVersion": "t2k.graph-result.v1",
        "status": "complete",
        "value": [
          {
            "crewId": "crew-spruce",
            "capacityHours": 6
          }
        ],
        "authorization": "not_authorized",
        "binding": {
          "runtimeVersion": "t2k.graph-runtime.v1",
          "functionHash": "98540ea628571e2c15edd03c5ee1212319e132ed2ce6ebf1dd0fdb1941dc72be",
          "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
          "graphKey": "demo.crew-options",
          "asOf": "2026-09-20T12:00:00.000Z",
          "snapshotHash": "771be2698ca2746016ddd687d24c76cf169bc66a4b9fe7bae3a6d4a1cd6e5287",
          "argumentsHash": "274a905f0db445b1e1f42908aebaf59a1359fd5a8a106ac7a5ea2b8bc6b74d5b"
        },
        "evidence": [
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          }
        ],
        "supportingClaimIds": [
          "crew-spruce.available",
          "crew-spruce.capacity_hours",
          "crew-spruce.region"
        ],
        "derivations": [
          {
            "rowHash": "abb29ac720ce376def72df272a01ae883612ad55e230770531a4ec09d41617e8",
            "claimIds": [
              "crew-spruce.available",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ]
          }
        ],
        "exclusions": [
          {
            "stepId": "eligible",
            "bindings": {
              "crew": "crew-cove"
            },
            "reason": "Failed filter conditions: 2",
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region"
            ]
          }
        ],
        "issues": [],
        "trace": [
          {
            "stepId": "crews",
            "operator": "lookup",
            "inputRows": 0,
            "outputRows": 2,
            "claimIds": [],
            "outputHash": "1e6a18ec3795a856dd32c85e6e5a020d45312991d0092c34c6154699d718a40c"
          },
          {
            "stepId": "eligible",
            "operator": "filter",
            "inputRows": 2,
            "outputRows": 1,
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region",
              "crew-spruce.available",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ],
            "outputHash": "986698091240ac2707ae8a22a5e0d42ed98ec542c9c9fd9407a8effaf9d7d8e9"
          },
          {
            "stepId": "options",
            "operator": "project",
            "inputRows": 1,
            "outputRows": 1,
            "claimIds": [
              "crew-spruce.capacity_hours"
            ],
            "outputHash": "2abac5376c775fdb1ba795374a0b4a5c9f31ef81faf77338f3c1540ec422fe6b"
          }
        ],
        "work": 40,
        "resultHash": "e753af2bd45f585e409c77e7c8de9356a8356e614c028c9dabda657682774a80"
      }
    },
    {
      "id": "empty",
      "label": "Valid empty result",
      "title": "No crew meets the recorded conditions.",
      "change": "Only Spruce’s capacity changes: 6 hours becomes 3 hours, with a current source locator.",
      "explanation": "Both crews now have less than 4 hours. The complete snapshot supports an empty list. This is a completed answer within this synthetic graph’s declared coverage.",
      "graph": {
        "snapshotVersion": "t2k.reasoning-graph.v1",
        "graphKey": "demo.crew-options",
        "asOf": "2026-09-20T12:00:00Z",
        "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
        "coverage": "complete",
        "entities": [
          {
            "entityId": "crew-spruce",
            "typeRef": "demo.crew-options:crew"
          },
          {
            "entityId": "crew-cove",
            "typeRef": "demo.crew-options:crew"
          }
        ],
        "claims": [
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 3,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 2,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          }
        ]
      },
      "arguments": {
        "region": "north",
        "hours": 4
      },
      "receipt": {
        "resultVersion": "t2k.graph-result.v1",
        "status": "complete",
        "value": [],
        "authorization": "not_authorized",
        "binding": {
          "runtimeVersion": "t2k.graph-runtime.v1",
          "functionHash": "98540ea628571e2c15edd03c5ee1212319e132ed2ce6ebf1dd0fdb1941dc72be",
          "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
          "graphKey": "demo.crew-options",
          "asOf": "2026-09-20T12:00:00.000Z",
          "snapshotHash": "d1a260cd4e08d3ffd4b8323eb6ae7509e78022cea4e32c092ffc40326160c194",
          "argumentsHash": "274a905f0db445b1e1f42908aebaf59a1359fd5a8a106ac7a5ea2b8bc6b74d5b"
        },
        "evidence": [
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          }
        ],
        "supportingClaimIds": [],
        "derivations": [],
        "exclusions": [
          {
            "stepId": "eligible",
            "bindings": {
              "crew": "crew-cove"
            },
            "reason": "Failed filter conditions: 2",
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region"
            ]
          },
          {
            "stepId": "eligible",
            "bindings": {
              "crew": "crew-spruce"
            },
            "reason": "Failed filter conditions: 2",
            "claimIds": [
              "crew-spruce.available",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ]
          }
        ],
        "issues": [],
        "trace": [
          {
            "stepId": "crews",
            "operator": "lookup",
            "inputRows": 0,
            "outputRows": 2,
            "claimIds": [],
            "outputHash": "1e6a18ec3795a856dd32c85e6e5a020d45312991d0092c34c6154699d718a40c"
          },
          {
            "stepId": "eligible",
            "operator": "filter",
            "inputRows": 2,
            "outputRows": 0,
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region",
              "crew-spruce.available",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ],
            "outputHash": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
          },
          {
            "stepId": "options",
            "operator": "project",
            "inputRows": 0,
            "outputRows": 0,
            "claimIds": [],
            "outputHash": "4f53cda18c2baa0c0354bb5f9a3ecbe5ed12ab4d8e11ba873c2f11161202b945"
          }
        ],
        "work": 37,
        "resultHash": "7a0a1d8f2cabbf5ba28d3952ca15d68c8d455f2540611afaa945315ead706673"
      }
    },
    {
      "id": "stale",
      "label": "Stale evidence",
      "title": "Spruce’s availability needs a fresh source.",
      "change": "Spruce still has 6 hours, but its availability was observed 2 hours ago. The function permits evidence at most 1 hour old.",
      "explanation": "The stale availability claim cannot establish that Spruce is available at the snapshot time. The runtime returns needs_review and null, retaining the considered claim and its source locator.",
      "graph": {
        "snapshotVersion": "t2k.reasoning-graph.v1",
        "graphKey": "demo.crew-options",
        "asOf": "2026-09-20T12:00:00Z",
        "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
        "coverage": "complete",
        "entities": [
          {
            "entityId": "crew-spruce",
            "typeRef": "demo.crew-options:crew"
          },
          {
            "entityId": "crew-cove",
            "typeRef": "demo.crew-options:crew"
          }
        ],
        "claims": [
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T10:00:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 6,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 2,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          }
        ]
      },
      "arguments": {
        "region": "north",
        "hours": 4
      },
      "receipt": {
        "resultVersion": "t2k.graph-result.v1",
        "status": "needs_review",
        "value": null,
        "authorization": "not_authorized",
        "binding": {
          "runtimeVersion": "t2k.graph-runtime.v1",
          "functionHash": "98540ea628571e2c15edd03c5ee1212319e132ed2ce6ebf1dd0fdb1941dc72be",
          "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
          "graphKey": "demo.crew-options",
          "asOf": "2026-09-20T12:00:00.000Z",
          "snapshotHash": "0a6c9b78d95f35ef7e75f6deb580f334873bfb7d19b5f317daabf3dccad5bfb0",
          "argumentsHash": "274a905f0db445b1e1f42908aebaf59a1359fd5a8a106ac7a5ea2b8bc6b74d5b"
        },
        "evidence": [
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          }
        ],
        "supportingClaimIds": [],
        "derivations": [],
        "exclusions": [
          {
            "stepId": "eligible",
            "bindings": {
              "crew": "crew-cove"
            },
            "reason": "Failed filter conditions: 2",
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region"
            ]
          }
        ],
        "issues": [
          {
            "code": "stale_evidence",
            "message": "Accepted evidence is older than the function's freshness bound.",
            "stepId": "eligible",
            "entityId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.available"
          }
        ],
        "trace": [
          {
            "stepId": "crews",
            "operator": "lookup",
            "inputRows": 0,
            "outputRows": 2,
            "claimIds": [],
            "outputHash": "1e6a18ec3795a856dd32c85e6e5a020d45312991d0092c34c6154699d718a40c"
          },
          {
            "stepId": "eligible",
            "operator": "filter",
            "inputRows": 2,
            "outputRows": 1,
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region",
              "crew-spruce.available",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ],
            "outputHash": "508d93d4a26cd3a2ec44d0bb43e38fddde885af0552e7b8bb766fff0f07a0941"
          },
          {
            "stepId": "options",
            "operator": "project",
            "inputRows": 1,
            "outputRows": 1,
            "claimIds": [
              "crew-spruce.capacity_hours"
            ],
            "outputHash": "a48c0276b1be8ba78261f374bca290c34506e5985dcc45fa7df4aa885fa6360a"
          }
        ],
        "work": 40,
        "resultHash": "0e17f31a04172aff38385847cbe8efd6f3bc1e0e76aa82b05418bfd420023a2e"
      }
    },
    {
      "id": "missing",
      "label": "Missing evidence",
      "title": "Spruce’s availability has no accepted claim.",
      "change": "Remove Spruce’s availability claim. Its region and 6 hours of capacity remain recorded.",
      "explanation": "An absent availability claim does not mean false. Because Spruce otherwise qualifies, the unresolved condition returns needs_review and null. Coverage describes the provided view; it does not invent missing property evidence.",
      "graph": {
        "snapshotVersion": "t2k.reasoning-graph.v1",
        "graphKey": "demo.crew-options",
        "asOf": "2026-09-20T12:00:00Z",
        "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
        "coverage": "complete",
        "entities": [
          {
            "entityId": "crew-spruce",
            "typeRef": "demo.crew-options:crew"
          },
          {
            "entityId": "crew-cove",
            "typeRef": "demo.crew-options:crew"
          }
        ],
        "claims": [
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 6,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 2,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          }
        ]
      },
      "arguments": {
        "region": "north",
        "hours": 4
      },
      "receipt": {
        "resultVersion": "t2k.graph-result.v1",
        "status": "needs_review",
        "value": null,
        "authorization": "not_authorized",
        "binding": {
          "runtimeVersion": "t2k.graph-runtime.v1",
          "functionHash": "98540ea628571e2c15edd03c5ee1212319e132ed2ce6ebf1dd0fdb1941dc72be",
          "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
          "graphKey": "demo.crew-options",
          "asOf": "2026-09-20T12:00:00.000Z",
          "snapshotHash": "2a4156d49e86d0b2fb09339626c8a98be217ae4a3dd58155e3935fd833ca771a",
          "argumentsHash": "274a905f0db445b1e1f42908aebaf59a1359fd5a8a106ac7a5ea2b8bc6b74d5b"
        },
        "evidence": [
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          }
        ],
        "supportingClaimIds": [],
        "derivations": [],
        "exclusions": [
          {
            "stepId": "eligible",
            "bindings": {
              "crew": "crew-cove"
            },
            "reason": "Failed filter conditions: 2",
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region"
            ]
          }
        ],
        "issues": [
          {
            "code": "missing_accepted_evidence",
            "message": "No current, supported positive claim establishes this value.",
            "stepId": "eligible",
            "entityId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.available"
          }
        ],
        "trace": [
          {
            "stepId": "crews",
            "operator": "lookup",
            "inputRows": 0,
            "outputRows": 2,
            "claimIds": [],
            "outputHash": "1e6a18ec3795a856dd32c85e6e5a020d45312991d0092c34c6154699d718a40c"
          },
          {
            "stepId": "eligible",
            "operator": "filter",
            "inputRows": 2,
            "outputRows": 1,
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ],
            "outputHash": "95309c162e9a73e3fbdd93bdc5af42b6b53a872aa306886fb34dad55842fb45b"
          },
          {
            "stepId": "options",
            "operator": "project",
            "inputRows": 1,
            "outputRows": 1,
            "claimIds": [
              "crew-spruce.capacity_hours"
            ],
            "outputHash": "323bf0f3c74b65f660e6f5ba114bb0f4e45331cb2291364eb8e3e404683a48a4"
          }
        ],
        "work": 38,
        "resultHash": "6ee11245d8c7a1e1f0c7a4dabbe948aa0ed7f5885b4282694732b19c6cb96c47"
      }
    },
    {
      "id": "conflict",
      "label": "Conflicting evidence",
      "title": "Two current sources disagree about capacity.",
      "change": "Add a second accepted claim: Spruce has 1 hour. The first accepted claim still says 6 hours.",
      "explanation": "The runtime keeps both current claims. It does not pick the newer source as a winner: the contradiction returns needs_review and null until the evidence is resolved.",
      "graph": {
        "snapshotVersion": "t2k.reasoning-graph.v1",
        "graphKey": "demo.crew-options",
        "asOf": "2026-09-20T12:00:00Z",
        "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
        "coverage": "complete",
        "entities": [
          {
            "entityId": "crew-spruce",
            "typeRef": "demo.crew-options:crew"
          },
          {
            "entityId": "crew-cove",
            "typeRef": "demo.crew-options:crew"
          }
        ],
        "claims": [
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 6,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.region",
            "value": "north",
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.available",
            "value": true,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "subjectId": "crew-cove",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 2,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:45:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_conflict",
            "revision": "1",
            "subjectId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours",
            "value": 1,
            "status": "accepted",
            "polarity": "positive",
            "observedAt": "2026-09-20T11:55:00Z",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/supervisor-note",
                "locator": "spruce.remaining-hours"
              }
            ]
          }
        ]
      },
      "arguments": {
        "region": "north",
        "hours": 4
      },
      "receipt": {
        "resultVersion": "t2k.graph-result.v1",
        "status": "needs_review",
        "value": null,
        "authorization": "not_authorized",
        "binding": {
          "runtimeVersion": "t2k.graph-runtime.v1",
          "functionHash": "98540ea628571e2c15edd03c5ee1212319e132ed2ce6ebf1dd0fdb1941dc72be",
          "ontologyResolutionHash": "3213b7890a8d44415db582b0cb76e90d725f9c337993808f62b2002dcb7a3210",
          "graphKey": "demo.crew-options",
          "asOf": "2026-09-20T12:00:00.000Z",
          "snapshotHash": "ce34cb72bb133d5cbedfa0a3749c8dea2b89edef9f33f8f61ddc5ffe0cef77e1",
          "argumentsHash": "274a905f0db445b1e1f42908aebaf59a1359fd5a8a106ac7a5ea2b8bc6b74d5b"
        },
        "evidence": [
          {
            "claimId": "crew-cove.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.available"
              }
            ]
          },
          {
            "claimId": "crew-cove.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-cove.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "cove.region"
              }
            ]
          },
          {
            "claimId": "crew-spruce.available",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.available"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_conflict",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/supervisor-note",
                "locator": "spruce.remaining-hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.capacity_hours",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.capacity_hours"
              }
            ]
          },
          {
            "claimId": "crew-spruce.region",
            "revision": "1",
            "status": "accepted",
            "polarity": "positive",
            "evidence": [
              {
                "sourceRef": "synthetic://crew-options/roster",
                "locator": "spruce.region"
              }
            ]
          }
        ],
        "supportingClaimIds": [],
        "derivations": [],
        "exclusions": [
          {
            "stepId": "eligible",
            "bindings": {
              "crew": "crew-cove"
            },
            "reason": "Failed filter conditions: 2",
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region"
            ]
          }
        ],
        "issues": [
          {
            "code": "conflicting_evidence",
            "message": "Active accepted claims disagree or contradict one another.",
            "stepId": "eligible",
            "entityId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours"
          },
          {
            "code": "conflicting_evidence",
            "message": "Active accepted claims disagree or contradict one another.",
            "stepId": "options",
            "entityId": "crew-spruce",
            "predicateRef": "demo.crew-options:crew.capacity_hours"
          }
        ],
        "trace": [
          {
            "stepId": "crews",
            "operator": "lookup",
            "inputRows": 0,
            "outputRows": 2,
            "claimIds": [],
            "outputHash": "1e6a18ec3795a856dd32c85e6e5a020d45312991d0092c34c6154699d718a40c"
          },
          {
            "stepId": "eligible",
            "operator": "filter",
            "inputRows": 2,
            "outputRows": 1,
            "claimIds": [
              "crew-cove.available",
              "crew-cove.capacity_hours",
              "crew-cove.region",
              "crew-spruce.available",
              "crew-spruce.capacity_conflict",
              "crew-spruce.capacity_hours",
              "crew-spruce.region"
            ],
            "outputHash": "aab2747b2e31c593c67c383767096cea02dc7e97cd437ed0e6f01609aeeda2cd"
          },
          {
            "stepId": "options",
            "operator": "project",
            "inputRows": 1,
            "outputRows": 1,
            "claimIds": [
              "crew-spruce.capacity_conflict",
              "crew-spruce.capacity_hours"
            ],
            "outputHash": "851bb6e57c58c040dd3068e8d227c31fdcc87dc30dea9add9afcbdb1b03e8607"
          }
        ],
        "work": 42,
        "resultHash": "557da16ca255022284a22602214a997f82e6b9fc663f3d391b0fdfb023f35796"
      }
    }
  ]
}
