{
  "vercy": "1.0-draft",
  "publication": {
    "status": "research-draft",
    "adjudicationStatus": "unreviewed",
    "publishableCanonical": false,
    "generatedAt": "2026-09-11T22:25:28Z",
    "providers": [
      "Claude"
    ],
    "breadth": "written by Claude from model knowledge without web access - no source was read, every claim is a lead to verify",
    "pass": 2,
    "wave": 2,
    "engine": "claude",
    "enrichment": {
      "pass": 3,
      "engine": "claude",
      "producedAt": "2026-10-05T23:50:00Z",
      "ingestedAt": "2026-10-05T20:44:44+00:00",
      "fields": [
        "agent_conduct",
        "ethics",
        "owners"
      ]
    }
  },
  "metaModel": {
    "id": "THING-Q334630",
    "registryId": "vr.tr.data-dependency",
    "name": "data dependency",
    "version": "0.2.0-wave.2",
    "entryKind": "thing",
    "family": "Thing Registry",
    "domain": [
      "XCT.REL"
    ],
    "status": "research-draft"
  },
  "canonicalUrl": "https://ver.cy/models/thing/q334630/",
  "model": {
    "registry_id": "vr.tr.data-dependency",
    "name": "data dependency",
    "purpose": "Let an agent explain data dependencies and their kinds, analyse dependencies in code or workflows, describe how processors and compilers handle them, and support parallelisation.",
    "definition": "A situation in computing in which an instruction, statement or task refers to data produced or modified by a preceding one, so that their order of execution matters, classified as true, anti and output dependencies and analysed to enable safe instruction scheduling, pipelining, parallelisation and compiler optimisation; data dependencies also arise between tasks in workflows and between datasets.",
    "what_it_is_for": "Ordering constraints from data use.",
    "affordances": [
      "explain kinds of data dependency",
      "analyse dependencies in code or workflows",
      "describe hardware and compiler handling",
      "support parallelisation"
    ],
    "distinguishing_features": [
      "Data-driven ordering",
      "Three classic kinds",
      "Limits parallelism",
      "Analysable"
    ],
    "appearance": "Not physical; relations between instructions or tasks.",
    "visual_identification": [
      "Later operation uses earlier data",
      "True, anti or output dependency",
      "Control dependency concerns branching, not data"
    ],
    "physical_properties": [],
    "families_and_kinds": [
      "true or flow dependencies",
      "anti dependencies",
      "output dependencies",
      "loop-carried dependencies",
      "task and dataset dependencies in workflows"
    ],
    "related_models": [
      {
        "relation": "is a kind of",
        "target": "dependency",
        "why": "category"
      },
      {
        "relation": "is related to",
        "target": "calculation",
        "why": "computation ordering"
      },
      {
        "relation": "is related to",
        "target": "data set",
        "why": "dataset dependencies"
      },
      {
        "relation": "is related to",
        "target": "routing",
        "why": "ordering in networks contrast"
      }
    ],
    "identifiers": [],
    "standards_and_regulation": [
      "Compiler and processor design conventions",
      "Workflow specification standards"
    ],
    "failure_modes_and_hazards": [
      "Race conditions from ignored dependencies",
      "Pipeline hazards",
      "Incorrect parallelisation"
    ],
    "in_scope": [],
    "out_of_scope": [],
    "characteristics": [],
    "agent_conduct": {
      "may": [
        "Analyse code it is authorized to change and report true, anti and output dependencies between statements.",
        "Preserve the order of dependent operations when reordering, parallelising or optimising code."
      ],
      "must_not": [
        "Reorder or parallelise operations in a way that breaks a dependency and silently changes results.",
        "Report code as safe to run concurrently without checking its shared data.",
        "Remove synchronisation that protects a dependency to gain speed without the maintainer's agreement.",
        "Hide a detected race condition from the people responsible for the code."
      ],
      "requires_human": [
        "Deploying a parallelised change to systems where wrong results affect money, safety or health."
      ]
    },
    "ethics": {
      "considerations": [
        "Ignored dependencies produce wrong results that look correct, which is worse than a visible crash.",
        "Systems that control machines or records can harm people when ordering bugs slip through."
      ],
      "affected_parties": [
        "Users of the software",
        "Developers and maintainers",
        "People affected by its outputs"
      ]
    },
    "owners": {
      "steward": "Nobody owns the concept; the maintainers of each program answer for the dependencies in it.",
      "master_systems": []
    }
  },
  "sources": [
    {
      "id": "wikidata",
      "title": "Wikidata item Q334630: data dependency",
      "url": "https://www.wikidata.org/wiki/Q334630",
      "url_status": "live",
      "what_it_supports": "identity and sense of the item",
      "checked_by": "wikidata-api"
    },
    {
      "id": "wikipedia-en",
      "title": "Wikipedia: Data dependency",
      "url": "https://en.wikipedia.org/wiki/Data_dependency",
      "url_status": "live",
      "what_it_supports": "general description of the item",
      "checked_by": "wikidata-api sitelink"
    }
  ],
  "structure": {
    "bundles": [
      {
        "id": "define",
        "name": "Define",
        "description": "Kinds of dependency.",
        "rationale": "Concepts.",
        "layers": [
          {
            "id": "kinds",
            "name": "Kinds",
            "description": "True, anti, output.",
            "findings": [
              {
                "id": "kinds-finding",
                "name": "Kinds",
                "description": "Kinds.",
                "questions": [
                  {
                    "text": "What are true, anti and output data dependencies, and how do they differ from control dependencies?",
                    "kind": "definition"
                  },
                  {
                    "text": "What is a loop-carried dependency?",
                    "kind": "definition"
                  }
                ]
              }
            ]
          },
          {
            "id": "analyse",
            "name": "Analyse",
            "description": "Analysing code.",
            "findings": [
              {
                "id": "analyse-finding",
                "name": "Analyse",
                "description": "Analysis.",
                "questions": [
                  {
                    "text": "Which data dependencies exist in this code or loop, and which prevent reordering or parallel execution?",
                    "kind": "action"
                  },
                  {
                    "text": "How are dependencies represented in graphs?",
                    "kind": "definition"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "id": "hardware",
        "name": "Hardware",
        "description": "Processors.",
        "rationale": "Pipelines.",
        "layers": [
          {
            "id": "hazards",
            "name": "Hazards",
            "description": "Pipeline hazards.",
            "findings": [
              {
                "id": "hazards-finding",
                "name": "Hazards",
                "description": "Hazards.",
                "questions": [
                  {
                    "text": "How do processors detect and resolve data hazards with forwarding, stalls and register renaming?",
                    "kind": "definition"
                  },
                  {
                    "text": "What is out-of-order execution?",
                    "kind": "definition"
                  }
                ]
              }
            ]
          },
          {
            "id": "memory",
            "name": "Memory",
            "description": "Memory dependencies.",
            "findings": [
              {
                "id": "memory-finding",
                "name": "Memory",
                "description": "Memory.",
                "questions": [
                  {
                    "text": "How are memory dependencies handled, and what are memory disambiguation and consistency models?",
                    "kind": "definition"
                  },
                  {
                    "text": "Which entry fits processor architecture?",
                    "kind": "action"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "id": "software",
        "name": "Software",
        "description": "Compilers and parallelism.",
        "rationale": "Optimisation.",
        "layers": [
          {
            "id": "compilers",
            "name": "Compilers",
            "description": "Compiler analysis.",
            "findings": [
              {
                "id": "compilers-finding",
                "name": "Compilers",
                "description": "Compilers.",
                "questions": [
                  {
                    "text": "How do compilers use dependence analysis for scheduling, vectorisation and loop transformations?",
                    "kind": "definition"
                  },
                  {
                    "text": "How can anti and output dependencies be removed by renaming?",
                    "kind": "action"
                  }
                ]
              }
            ]
          },
          {
            "id": "parallel",
            "name": "Parallel",
            "description": "Parallel programming.",
            "findings": [
              {
                "id": "parallel-finding",
                "name": "Parallel",
                "description": "Parallel programming.",
                "questions": [
                  {
                    "text": "How can this computation be parallelised safely given its dependencies?",
                    "kind": "action"
                  },
                  {
                    "text": "Which tools detect races?",
                    "kind": "provenance"
                  }
                ]
              }
            ]
          }
        ]
      },
      {
        "id": "workflows",
        "name": "Workflows",
        "description": "Tasks and datasets.",
        "rationale": "Data pipelines.",
        "layers": [
          {
            "id": "pipelines",
            "name": "Pipelines",
            "description": "Data pipelines.",
            "findings": [
              {
                "id": "pipelines-finding",
                "name": "Pipelines",
                "description": "Pipelines.",
                "questions": [
                  {
                    "text": "How are data dependencies expressed in workflow and build systems, and how do they drive scheduling?",
                    "kind": "definition"
                  },
                  {
                    "text": "How is lineage tracked?",
                    "kind": "provenance"
                  }
                ]
              }
            ]
          },
          {
            "id": "teach",
            "name": "Teach",
            "description": "Teaching.",
            "findings": [
              {
                "id": "teach-finding",
                "name": "Teach",
                "description": "Teaching.",
                "questions": [
                  {
                    "text": "How can data dependencies be taught with examples?",
                    "kind": "action"
                  },
                  {
                    "text": "Which misconceptions arise?",
                    "kind": "provenance"
                  }
                ]
              }
            ]
          }
        ]
      }
    ]
  },
  "openQuestions": [
    "Should control dependency be a paired entry?",
    "How should compiler references be linked?",
    "How should workflow tools be linked?"
  ],
  "statistics": {
    "bundles": 4,
    "layers": 8,
    "findings": 8,
    "questions": 16
  }
}
