{
  "_about": "Relations link evidence units to each other. This is where corrections, qualifications and contradictions live - as explicit edges, not as silent edits to the units. Each relation says whether the link was STATED by the speaker or INFERRED by the extractor, because those deserve different trust.",
  "_relation_types": {
    "qualifies": "target holds only under the condition/scope given in source",
    "corrects": "source replaces target; target is kept with status=superseded",
    "elaborates": "source adds detail to target without changing it",
    "explains": "source is offered as a reason/cause for target (a REPORTED explanation, not a proven one)",
    "consequence_of": "source is presented as a result of target",
    "depends_on": "source is contingent on target",
    "responds_to": "source is a reaction to target (e.g. a decision in response to a request)",
    "contradicts": "source and target cannot both hold as stated (none in this transcript; included for completeness)"
  },
  "transcript_id": "tx_001",
  "relations": [
    {
      "id": "rel_01",
      "type": "qualifies",
      "source": "ev_006",
      "target": "ev_005",
      "basis": "stated",
      "note": "Month-end variant of the weekly effort figure."
    },
    {
      "id": "rel_02",
      "type": "explains",
      "source": "ev_010",
      "target": "ev_009",
      "basis": "stated",
      "note": "Speaker's own guess at the cause of column drift. Stance=guesses on ev_010 must travel with this edge."
    },
    {
      "id": "rel_03",
      "type": "consequence_of",
      "source": "ev_011",
      "target": "ev_009",
      "basis": "stated",
      "note": "'So every week someone has to remap...'"
    },
    {
      "id": "rel_04",
      "type": "explains",
      "source": "ev_011",
      "target": "ev_005",
      "basis": "stated",
      "note": "Offered in answer to 'what makes it take six hours'. Partial explanation at most - see ev_011 flag."
    },
    {
      "id": "rel_05",
      "type": "qualifies",
      "source": "ev_013",
      "target": "ev_012",
      "basis": "stated",
      "note": "Where the script worked and where it did not."
    },
    {
      "id": "rel_06",
      "type": "consequence_of",
      "source": "ev_014",
      "target": "ev_013",
      "basis": "stated",
      "note": "'...so we dropped it.'"
    },
    {
      "id": "rel_07",
      "type": "elaborates",
      "source": "ev_016",
      "target": "ev_015",
      "basis": "stated",
      "note": "'The bigger issue is...' - speaker re-ranks what matters after rejecting the 'painful' framing."
    },
    {
      "id": "rel_08",
      "type": "corrects",
      "source": "ev_018",
      "target": "ev_017",
      "basis": "stated",
      "note": "Explicit self-correction within turn 16. ev_017 retained as superseded."
    },
    {
      "id": "rel_09",
      "type": "qualifies",
      "source": "ev_019",
      "target": "ev_017",
      "basis": "stated",
      "note": "Adds the temporal scope ('before the policy change') that ev_017 lacked. ev_019 is the usable form of ev_017."
    },
    {
      "id": "rel_10",
      "type": "depends_on",
      "source": "ev_018",
      "target": "ev_016",
      "basis": "inferred",
      "note": "If the report now ships on time but with gaps, the consequence in ev_016 (decisions on stale numbers) may have shifted to decisions on incomplete numbers. The speaker did not say this; it is an extractor inference and is marked so."
    },
    {
      "id": "rel_11",
      "type": "qualifies",
      "source": "ev_022",
      "target": "ev_021",
      "basis": "stated",
      "note": "Ceiling on the speaker's own approval authority."
    },
    {
      "id": "rel_12",
      "type": "qualifies",
      "source": "ev_023",
      "target": "ev_020",
      "basis": "stated",
      "note": "Interest exists; budget (to speaker's knowledge) does not. Same turn."
    },
    {
      "id": "rel_13",
      "type": "qualifies",
      "source": "ev_025",
      "target": "ev_024",
      "basis": "stated",
      "note": "Duration of the security review requirement (secondhand, one data point)."
    },
    {
      "id": "rel_14",
      "type": "depends_on",
      "source": "ev_027",
      "target": "ev_024",
      "basis": "stated",
      "note": "Sample exports conditional on security permitting sharing."
    },
    {
      "id": "rel_15",
      "type": "responds_to",
      "source": "ev_029",
      "target": "ev_028",
      "basis": "stated",
      "note": "Team's refusal in response to directors' request."
    },
    {
      "id": "rel_16",
      "type": "depends_on",
      "source": "ev_029",
      "target": "ev_011",
      "basis": "inferred",
      "note": "'Can't do it with the current process' is plausibly about the weekly manual remap (ev_011) not scaling to daily. Speaker did not connect these explicitly."
    }
  ]
}