{
  "schemaVersion": "1.0",
  "slug": "prerequisite-order-60-skill-graph-test",
  "title": "When Does a Learning Path Become a Dependency Trap? A 60-Skill Graph Test",
  "runDate": "2026-07-28",
  "executed": true,
  "sanitized": true,
  "question": "Which graph properties make a proposed learning path impossible, overconstrained, or dependent on a single bottleneck?",
  "baseline": "A visually tidy sequence can still contain cycles, excessive prerequisites, or nodes whose removal blocks much of the path.",
  "protocol": [
    "Freeze sixty skill nodes in three tracks with required prerequisite edges.",
    "Calculate incoming and outgoing degree, self-cycles, and overconstraint flags for every node.",
    "Report structural defects without claiming that the graph predicts human learning."
  ],
  "sample": {
    "skills": 60,
    "tracks": 3
  },
  "results": {
    "selfCycles": 0,
    "overconstrainedNodes": 0,
    "zeroPrerequisiteEntries": 3,
    "maximumOutDegree": 2
  },
  "negativeFindings": [
    "No node exceeded three prerequisites, so overconstraint was not the principal defect in this frozen graph."
  ],
  "limitations": [
    "The graph represents declared dependencies only; it cannot reveal whether a learner already possesses equivalent prior knowledge."
  ],
  "records": [
    {
      "id": "analysis-1",
      "track": "analysis",
      "level": 1,
      "prerequisites": [],
      "inDegree": 0,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-2",
      "track": "analysis",
      "level": 2,
      "prerequisites": [
        "analysis-1"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-3",
      "track": "analysis",
      "level": 3,
      "prerequisites": [
        "analysis-2"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-4",
      "track": "analysis",
      "level": 4,
      "prerequisites": [
        "analysis-3"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-5",
      "track": "analysis",
      "level": 5,
      "prerequisites": [
        "analysis-4"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-6",
      "track": "analysis",
      "level": 6,
      "prerequisites": [
        "analysis-5"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-7",
      "track": "analysis",
      "level": 7,
      "prerequisites": [
        "analysis-6"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-8",
      "track": "analysis",
      "level": 8,
      "prerequisites": [
        "analysis-7"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-9",
      "track": "analysis",
      "level": 9,
      "prerequisites": [
        "analysis-8"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-10",
      "track": "analysis",
      "level": 10,
      "prerequisites": [
        "analysis-9"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-11",
      "track": "analysis",
      "level": 11,
      "prerequisites": [
        "analysis-10"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-12",
      "track": "analysis",
      "level": 12,
      "prerequisites": [
        "analysis-11"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-13",
      "track": "analysis",
      "level": 13,
      "prerequisites": [
        "analysis-12",
        "analysis-9"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-14",
      "track": "analysis",
      "level": 14,
      "prerequisites": [
        "analysis-13",
        "analysis-10"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-15",
      "track": "analysis",
      "level": 15,
      "prerequisites": [
        "analysis-14",
        "analysis-11"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-16",
      "track": "analysis",
      "level": 16,
      "prerequisites": [
        "analysis-15",
        "analysis-12"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-17",
      "track": "analysis",
      "level": 17,
      "prerequisites": [
        "analysis-16",
        "analysis-13"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-18",
      "track": "analysis",
      "level": 18,
      "prerequisites": [
        "analysis-17",
        "analysis-14"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-19",
      "track": "analysis",
      "level": 19,
      "prerequisites": [
        "analysis-18",
        "analysis-15"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "analysis-20",
      "track": "analysis",
      "level": 20,
      "prerequisites": [
        "analysis-19",
        "analysis-16"
      ],
      "inDegree": 2,
      "outDegree": 0,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-1",
      "track": "language",
      "level": 1,
      "prerequisites": [],
      "inDegree": 0,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-2",
      "track": "language",
      "level": 2,
      "prerequisites": [
        "language-1"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-3",
      "track": "language",
      "level": 3,
      "prerequisites": [
        "language-2"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-4",
      "track": "language",
      "level": 4,
      "prerequisites": [
        "language-3"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-5",
      "track": "language",
      "level": 5,
      "prerequisites": [
        "language-4"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-6",
      "track": "language",
      "level": 6,
      "prerequisites": [
        "language-5"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-7",
      "track": "language",
      "level": 7,
      "prerequisites": [
        "language-6"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-8",
      "track": "language",
      "level": 8,
      "prerequisites": [
        "language-7"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-9",
      "track": "language",
      "level": 9,
      "prerequisites": [
        "language-8"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-10",
      "track": "language",
      "level": 10,
      "prerequisites": [
        "language-9"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-11",
      "track": "language",
      "level": 11,
      "prerequisites": [
        "language-10"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-12",
      "track": "language",
      "level": 12,
      "prerequisites": [
        "language-11"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-13",
      "track": "language",
      "level": 13,
      "prerequisites": [
        "language-12",
        "language-9"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-14",
      "track": "language",
      "level": 14,
      "prerequisites": [
        "language-13",
        "language-10"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-15",
      "track": "language",
      "level": 15,
      "prerequisites": [
        "language-14",
        "language-11"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-16",
      "track": "language",
      "level": 16,
      "prerequisites": [
        "language-15",
        "language-12"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-17",
      "track": "language",
      "level": 17,
      "prerequisites": [
        "language-16",
        "language-13"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-18",
      "track": "language",
      "level": 18,
      "prerequisites": [
        "language-17",
        "language-14"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-19",
      "track": "language",
      "level": 19,
      "prerequisites": [
        "language-18",
        "language-15"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "language-20",
      "track": "language",
      "level": 20,
      "prerequisites": [
        "language-19",
        "language-16"
      ],
      "inDegree": 2,
      "outDegree": 0,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-1",
      "track": "automation",
      "level": 1,
      "prerequisites": [],
      "inDegree": 0,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-2",
      "track": "automation",
      "level": 2,
      "prerequisites": [
        "automation-1"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-3",
      "track": "automation",
      "level": 3,
      "prerequisites": [
        "automation-2"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-4",
      "track": "automation",
      "level": 4,
      "prerequisites": [
        "automation-3"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-5",
      "track": "automation",
      "level": 5,
      "prerequisites": [
        "automation-4"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-6",
      "track": "automation",
      "level": 6,
      "prerequisites": [
        "automation-5"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-7",
      "track": "automation",
      "level": 7,
      "prerequisites": [
        "automation-6"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-8",
      "track": "automation",
      "level": 8,
      "prerequisites": [
        "automation-7"
      ],
      "inDegree": 1,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-9",
      "track": "automation",
      "level": 9,
      "prerequisites": [
        "automation-8"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-10",
      "track": "automation",
      "level": 10,
      "prerequisites": [
        "automation-9"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-11",
      "track": "automation",
      "level": 11,
      "prerequisites": [
        "automation-10"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-12",
      "track": "automation",
      "level": 12,
      "prerequisites": [
        "automation-11"
      ],
      "inDegree": 1,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-13",
      "track": "automation",
      "level": 13,
      "prerequisites": [
        "automation-12",
        "automation-9"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-14",
      "track": "automation",
      "level": 14,
      "prerequisites": [
        "automation-13",
        "automation-10"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-15",
      "track": "automation",
      "level": 15,
      "prerequisites": [
        "automation-14",
        "automation-11"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-16",
      "track": "automation",
      "level": 16,
      "prerequisites": [
        "automation-15",
        "automation-12"
      ],
      "inDegree": 2,
      "outDegree": 2,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-17",
      "track": "automation",
      "level": 17,
      "prerequisites": [
        "automation-16",
        "automation-13"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-18",
      "track": "automation",
      "level": 18,
      "prerequisites": [
        "automation-17",
        "automation-14"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-19",
      "track": "automation",
      "level": 19,
      "prerequisites": [
        "automation-18",
        "automation-15"
      ],
      "inDegree": 2,
      "outDegree": 1,
      "selfCycle": false,
      "overconstrained": false
    },
    {
      "id": "automation-20",
      "track": "automation",
      "level": 20,
      "prerequisites": [
        "automation-19",
        "automation-16",
        "automation-60"
      ],
      "inDegree": 3,
      "outDegree": 0,
      "selfCycle": false,
      "overconstrained": false
    }
  ]
}
